MCP Tools Reference: slidesmcp.googleapis.com

টুল: read_presentation

Google Slides প্রেজেন্টেশনের JSON রেপ্রেজেন্টেশন পড়া।

REST API-তে presentations.get-এর সাথে সম্পর্কিত।

read_presentation MCP টুল কল করার জন্য কীভাবে curl ব্যবহার করতে হয় তা নিম্নলিখিত কোড স্যাম্পেল থেকে জানতে পারবেন।

কার্ল করার অনুরোধ
curl --location 'https://slidesmcp.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": "read_presentation",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

ইনপুট স্কিমা

প্রেজেন্টেশন পড়ার অনুরোধ।

ReadPresentationRequest

JSON উপস্থাপনা
{
  "presentationId": string,
  "fields": [
    string
  ],

  "commentsIncluded": boolean
}
ফিল্ড
presentationId

string

প্রয়োজনীয়। যে প্রেজেন্টেশন থেকে কন্টেন্ট পড়তে হবে তার আইডি।

fields[]

string

ঐচ্ছিক। প্রপার্টির কোন সাবসেট রিটার্ন করতে হবে তা নির্দিষ্ট করে এমন একটি ফিল্ড মাস্ক। পাথকে অবশ্যই Google Slides REST API JSON রিসোর্স স্ট্রাকচারের (যেমন, প্রেজেন্টেশন, পৃষ্ঠা, পৃষ্ঠা এলিমেন্ট, শেপ, ছবি, টেবিল, লাইন, ভিডিও, টেক্সট কন্টেন্ট) সাথে সঠিকভাবে মিলতে হবে।

গুরুত্বপূর্ণ নির্দেশাবলী: - আনমাস্ক করা বা সাধারণ সম্পূর্ণ প্রেজেন্টেশন অবজেক্টের পরিবর্তে সবসময় টার্গেট করা ফিল্ড মাস্ক ব্যবহার করুন। - সিনট্যাক্স: ডট নোটেশন ও সাবসিলেকশন প্যারেন্থেসিস (যেমন, slides.pageElements(objectId,shape.text) বা slides.pageElements.objectId,slides.pageElements.shape.text) কাজ করে। - শুধুমাত্র আপনার প্রয়োজনীয় ফিল্ড অন্তর্ভুক্ত করুন।

ইউনিয়ন ফিল্ড _comments_included।

_comments_included শুধুমাত্র নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:

commentsIncluded

boolean

ঐচ্ছিক। সত্য হলে, উত্তরে কমেন্ট অন্তর্ভুক্ত করা হবে। সাধারণত, কমেন্ট অন্তর্ভুক্ত করা হয় না।

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

প্রেজেন্টেশনের JSON উপস্থাপনা সহ উত্তর।

ReadPresentationResponse

JSON উপস্থাপনা
{
  "content": {
    object
  }
}
ফিল্ড
content

object (Struct format)

Google Slides প্রেজেন্টেশনের JSON উপস্থাপনা।

Struct

JSON উপস্থাপনা
{
  "fields": {
    string: value,
    ...
  }
}
ফিল্ড
fields

map (key: string, value: value (Value format))

ডায়নামিক টাইপ করা ভ্যালুর আনঅর্ডারড ম্যাপ।

"key": value জোড়ের তালিকা সহ একটি অবজেক্ট। উদাহরণ: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

FieldsEntry

JSON উপস্থাপনা
{
  "key": string,
  "value": value
}
ফিল্ড
key

string

value

value (Value format)

ভ্যালু

JSON উপস্থাপনা
{

  "nullValue": null,
  "numberValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "structValue": {
    object
  },
  "listValue": array
}
ফিল্ড
ইউনিয়ন ফিল্ড kind। ভ্যালুর ধরন। kind শুধুমাত্র নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
nullValue

null

JSON null-এর প্রতিনিধিত্ব করে।

numberValue

number

JSON নম্বরকে বোঝায়। NaN, Infinity বা -Infinity হলে চলবে না, কারণ JSON-এ এগুলি কাজ করে না। এছাড়াও, এটি বড় Int64 মানকে উপস্থাপন করতে পারে না, কারণ JSON ফর্ম্যাট সাধারণত এর সংখ্যাসূচক ধরনের মধ্যে সেগুলিকে সমর্থন করে না।

stringValue

string

JSON স্ট্রিং বোঝায়।

boolValue

boolean

JSON বুলিয়ান (JSON-এ true বা false লিটেরাল) বোঝায়।

structValue

object (Struct format)

JSON অবজেক্টের প্রতিনিধিত্ব করে।

listValue

array (ListValue format)

JSON অ্যারের প্রতিনিধিত্ব করে।

ListValue

JSON উপস্থাপনা
{
  "values": [
    value
  ]
}
ফিল্ড
values[]

value (Value format)

ডায়নামিক টাইপ করা ভ্যালুর রিপিট করা ফিল্ড।

NullValue

JSON null-এর প্রতিনিধিত্ব করে।

NullValue হল একটি সেন্টিনেল, যা Value টাইপ ইউনিয়নের জন্য নাল ভ্যালু বোঝাতে শুধুমাত্র একটি ভ্যালু সহ একটি এনুম ব্যবহার করে।

0 ছাড়া অন্য কোনও ভ্যালু সহ NullValue ধরনের ফিল্ডকে ভুল বলে বিবেচনা করা হয়। বেশিরভাগ ProtoJSON সিরিয়ালাইজার, পূর্ণসংখ্যা ভ্যালু যাই হোক না কেন, JSON null হিসেবে সেট করা null_value সহ Value এমিট করবে এবং তাই 0 ভ্যালুতে রাউন্ড ট্রিপ করবে।

Enums
NULL_VALUE নাল ভ্যালু।

টুল অ্যানোটেশন

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

টাইটেল স্ট্রিংয়ের সাথে, নিম্নলিখিত বুলিয়ান হিন্টকে এইভাবে সংজ্ঞায়িত করা হয়:

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

ধ্বংসাত্মক ইঙ্গিত: ❌ | আইডেমপোটেন্ট ইঙ্গিত: ✅ | শুধুমাত্র-পঠন ইঙ্গিত: ✅ | ওপেন ওয়ার্ল্ড ইঙ্গিত: ✅

অনুমোদনের স্কোপ

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

  • https://www.googleapis.com/auth/drive.readonly
  • https://www.googleapis.com/auth/presentations.readonly
  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/presentations