MCP Tools Reference: chatmcp.googleapis.com

টুল: send_message

মার্কডাউন ফরম্যাটিং সহ একটি কথোপকথনে গুগল চ্যাট বার্তা পাঠায়।

এই টুলটি ইনপুট হিসেবে একটি কথোপকথন আইডি, একটি ঐচ্ছিক থ্রেড আইডি এবং একটি বার্তার টেক্সট ব্যবহার করে।

search_conversations টুলটি ব্যবহার করে কথোপকথনের আইডিগুলো খুঁজে পাওয়া যায়।

এটি তৈরি করা বার্তাটি ফেরত দেয়।

নিম্নলিখিত কোড নমুনাটি দেখায় কিভাবে curl ব্যবহার করে send_message MCP টুলটি কল করতে হয়।

কার্ল অনুরোধ
curl --location 'https://chatmcp.googleapis.com/mcp/v1' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "send_message",
    "arguments": {
      // provide these details according to the tool MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

ইনপুট স্কিমা

বার্তা অনুরোধ পাঠান

JSON উপস্থাপনা
{
  "conversationId": string,
  "threadId": string,
  "messageText": string
}
ক্ষেত্র
conversationId

string

আবশ্যক। যে কথোপকথনে বার্তাটি পাঠাতে হবে তার আইডি (যেমন, 'spaces/AAAA...')।

threadId

string

ঐচ্ছিক। যে থ্রেডে বার্তাটি পাঠাতে হবে তার আইডি (যেমন, 'spaces/AAAA.../threads/BBBB...')। সেট না করা হলে, বার্তাটি একটি নতুন থ্রেডে পাঠানো হবে।

messageText

string

আবশ্যক। বার্তার মূল বিষয়বস্তু। স্ট্যান্ডার্ড মার্কডাউন ব্যবহার করে ফরম্যাটিং যোগ করা যেতে পারে (উল্লেখ্য যে, টেবিল সমর্থিত নয়)। নিম্নলিখিত ফরম্যাটিং সমর্থিত:

  • বোল্ড: **text**
  • ইটালিক: *text* বা _text_
  • কেটে দেওয়া: ~~text~~
  • মনোস্পেস: text
  • মনোস্পেস ব্লক:
```
line 1
line 2
```
  • বুলেট তালিকা:
* item 1
* item 2
  • ক্রমিক তালিকা:
1. item 1
2. item 2
  • উদ্ধৃতি চিহ্ন: > quoted text
  • হাইপারলিঙ্ক: [label](url)
  • ব্যবহারকারীকে মেনশন করতে, chat-user নামের একটি সেলফ-ক্লোজিং HTML ট্যাগ ব্যবহার করুন এবং এর সাথে data-email="user@example.com" অথবা data-user="users/USER_ID" অ্যাট্রিবিউট যুক্ত করুন। ব্যবহারকারীর আইডি জানা থাকলে data-user অ্যাট্রিবিউটের সাথে USER_ID ব্যবহার করুন এবং অন্যথায় `data-email` অ্যাট্রিবিউটের সাথে ব্যবহারকারীর ইমেল ব্যবহার করুন। আপনি যদি data-user অ্যাট্রিবিউট ব্যবহার করেন, তবে অন্যান্য টুলের রিটার্ন ভ্যালুতে ব্যবহৃত `users/` প্রিফিক্সটি অবশ্যই অন্তর্ভুক্ত করবেন। দ্রষ্টব্য: প্রতি মেসেজে সর্বোচ্চ ১০টি মেনশন করা যাবে। সকল ব্যবহারকারীকে মেনশন করা (যেমন, @all অথবা users/all সহ একটি HTML ট্যাগ ব্যবহার করে) কঠোরভাবে নিষিদ্ধ।
  • নিজস্ব ইমোজি ব্যবহার করতে, data-custom-emoji="customEmojis/abc" অথবা data-emoji-name=":xyz:" অ্যাট্রিবিউটসহ chat-emoji নামের একটি সেলফ-ক্লোজিং HTML ট্যাগ ব্যবহার করুন।

আউটপুট স্কিমা

গুগল চ্যাট কথোপকথনে বার্তা পাঠানোর প্রতিক্রিয়া।

বার্তা প্রতিক্রিয়া পাঠান

JSON উপস্থাপনা
{
  "message": {
    object (ChatMessage)
  }
}
ক্ষেত্র
message

object ( ChatMessage )

যে বার্তাটি পাঠানো হয়েছিল।

চ্যাট বার্তা

JSON উপস্থাপনা
{
  "messageId": string,
  "threadId": string,
  "plaintextBody": string,
  "sender": {
    object (User)
  },
  "createTime": string,
  "threadedReply": boolean,
  "attachments": [
    {
      object (ChatAttachmentMetadata)
    }
  ],
  "reactionSummaries": [
    {
      object (ReactionSummary)
    }
  ]
}
ক্ষেত্র
messageId

string

বার্তার রিসোর্স নাম। ফরম্যাট: স্পেস/{স্পেস}/বার্তা/{বার্তা}

threadId

string

এই বার্তাটি যে থ্রেডের অন্তর্গত। বার্তাটি আনথ্রেডেড হলে এটি খালি থাকবে। ফরম্যাট: স্পেস/{স্পেস}/থ্রেড/{থ্রেড}

plaintextBody

string

মার্কডাউন ফরম্যাটিং ব্যবহার করে বার্তার মূল অংশ।

sender

object ( User )

বার্তার প্রেরক।

createTime

string

শুধুমাত্র আউটপুট। বার্তাটি তৈরি হওয়ার সময়কার টাইমস্ট্যাম্প।

threadedReply

boolean

বার্তাটি একটি থ্রেড রিপ্লাই কিনা।

attachments[]

object ( ChatAttachmentMetadata )

বার্তার সাথে সংযুক্ত ফাইলগুলো রয়েছে।

reactionSummaries[]

object ( ReactionSummary )

বার্তাটিতে ইমোজি প্রতিক্রিয়াগুলোর সারাংশ অন্তর্ভুক্ত করা হয়েছে।

ব্যবহারকারী

JSON উপস্থাপনা
{
  "userId": string,
  "displayName": string,
  "email": string,
  "userType": enum (UserType)
}
ক্ষেত্র
userId

string

চ্যাট ব্যবহারকারীর রিসোর্স নাম। ফরম্যাট: users/{user}।

displayName

string

একজন চ্যাট ব্যবহারকারীর প্রদর্শিত নাম।

email

string

ব্যবহারকারীর ইমেল ঠিকানা। এই ক্ষেত্রটি শুধুমাত্র তখনই পূরণ করা হয় যখন ব্যবহারকারীর ধরন মানুষ (HUMAN) হয়।

userType

enum ( UserType )

ব্যবহারকারীর ধরণ।

চ্যাট সংযুক্তি মেটাডেটা

JSON উপস্থাপনা
{
  "attachmentId": string,
  "filename": string,
  "mimeType": string,
  "source": enum (Source)
}
ক্ষেত্র
attachmentId

string

সংযুক্তিটির রিসোর্স নাম। ফরম্যাট: spaces/{space}/messages/{message}/attachments/{attachment}.

filename

string

সংযুক্তিটির নাম।

mimeType

string

বিষয়বস্তুর ধরণ (MIME টাইপ)।

source

enum ( Source )

সংযুক্তিটির উৎস।

প্রতিক্রিয়া সারাংশ

JSON উপস্থাপনা
{
  "emoji": string,
  "count": integer
}
ক্ষেত্র
emoji

string

ইমোজি ইউনিকোড স্ট্রিং অথবা নিজস্ব ইমোজির নাম।

count

integer

সংশ্লিষ্ট ইমোজি ব্যবহার করে করা মোট প্রতিক্রিয়ার সংখ্যা।

ব্যবহারকারীর ধরণ

গুগল চ্যাট ব্যবহারকারীর প্রকারভেদ।

এনাম
USER_TYPE_UNSPECIFIED অনির্দিষ্ট।
HUMAN মানব ব্যবহারকারী।
APP অ্যাপ ব্যবহারকারী।

উৎস

সংযুক্তিটির উৎস।

এনাম
SOURCE_UNSPECIFIED সংরক্ষিত।
DRIVE_FILE ফাইলটি একটি গুগল ড্রাইভ ফাইল।
UPLOADED_CONTENT ফাইলটি চ্যাটে আপলোড করা হয়েছে।

টুল টীকা

কোনো নির্দিষ্ট টুলের প্রাথমিক ঝুঁকি বর্ণনা করার জন্য টুল অ্যানোটেশনগুলো এমসিপি ক্লায়েন্টদের কাছে পাঠানো হয়। বেশিরভাগ ক্লায়েন্ট এই ইঙ্গিতগুলোকে অবিশ্বস্ত হিসেবে গণ্য করে, কিন্তু কখন একজন ব্যবহারকারীকে নিশ্চিতকরণের জন্য প্রম্পট পাঠানো হবে, সেই সিদ্ধান্ত নিতে এগুলো ব্যবহার করা যেতে পারে।

টাইটেল স্ট্রিং-এর পাশাপাশি, নিম্নলিখিত বুলিয়ান হিন্টগুলো নিম্নরূপভাবে সংজ্ঞায়িত করা হয়েছে:

  • readOnlyHint : যদি true হয়, টুলটি তার পরিবেশ পরিবর্তন করে না। ডিফল্ট: false।
  • destructiveHint : যদি true হয়, তাহলে টুলটি ধ্বংসাত্মক কাজ করতে পারবে। যদি false হয়, তাহলে টুলটি শুধুমাত্র সংযোজনমূলক কাজ করতে পারবে। ডিফল্ট: true।
  • idempotentHint : যদি true হয়, তাহলে একই আর্গুমেন্ট দিয়ে টুলটিকে বারবার কল করলেও এর এনভায়রনমেন্টের উপর কোনো অতিরিক্ত প্রভাব পড়বে না। ডিফল্ট: false।
  • openWorldHint : যদি true হয়, তাহলে টুলটি বাহ্যিক সত্তার 'ওপেন ওয়ার্ল্ড'-এর সাথে ইন্টারঅ্যাক্ট করতে পারবে। যদি false হয়, তাহলে টুলটি শুধুমাত্র অভ্যন্তরীণ সত্তার সাথে ইন্টারঅ্যাক্ট করতে পারবে। উদাহরণস্বরূপ, একটি ওয়েব সার্চ টুল ওপেন ওয়ার্ল্ড হবে, কিন্তু একটি মেমরি টুল ওপেন ওয়ার্ল্ড হবে না।

ধ্বংসাত্মক ইঙ্গিত: ❌ | স্বকীয় ইঙ্গিত: ❌ | শুধুমাত্র পঠনযোগ্য ইঙ্গিত: ❌ | উন্মুক্ত বিশ্ব ইঙ্গিত: ✅

অনুমোদনের পরিধি

নিম্নলিখিত OAuth স্কোপগুলির মধ্যে একটি প্রয়োজন:

  • https://www.googleapis.com/auth/chat.messages
  • https://www.googleapis.com/auth/chat.messages.create