MCP Tools Reference: sheetsmcp.googleapis.com

টুল: update_values

স্প্রেডশিটের একটি রেঞ্জে ভ্যালু সেট করে।

REST API-তে spreadsheets.values.update-এর সাথে সম্পর্কিত: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets.values/update

স্কিমা: - spreadsheet_id (স্ট্রিং, প্রয়োজনীয়): আপডেট করার জন্য স্প্রেডশিটের আইডি। - range (স্ট্রিং, প্রয়োজনীয়): আপডেট করার জন্য ভ্যালুর A1 নোটেশন (যেমন, "Sheet1!A1:B2")। - values (এরে অফ এরে, প্রয়োজনীয়): সেল ভ্যালুর 2D এরে। যেসব ভ্যালু টাইপ কাজ করে সেগুলি হল: বুলিয়ান, স্ট্রিং ও সংখ্যা (ফ্লোট/পূর্ণসংখ্যা)।

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

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

ইনপুট স্কিমা

UpdateValuesRequest

JSON উপস্থাপনা
{
  "spreadsheetId": string,
  "range": string,
  "values": [
    array
  ]
}
ফিল্ড
spreadsheetId

string

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

range

string

প্রয়োজনীয়। আপডেট করার জন্য ভ্যালুর A1 নোটেশন।

values[]

array (ListValue format)

প্রয়োজনীয়। যে ডেটা পড়া হয়েছে বা লেখা হবে। এটি হল অ্যারের অ্যারে, বাইরের অ্যারেটি সমস্ত ডেটা এবং ভিতরের প্রতিটি অ্যারে একটি সারিকে উপস্থাপন করে। ভেতরের অ্যারের প্রতিটি আইটেম একটি সেলের সাথে সম্পর্কিত। যেসব ভ্যালু টাইপ কাজ করে সেগুলি হল: bool, string ও double. নাল ভ্যালু এড়িয়ে যাওয়া হবে। কোনও সেলের মান খালি করতে, স্ট্রিং ভ্যালু খালি স্ট্রিং হিসেবে সেট করুন।

ListValue

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

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 অ্যারের প্রতিনিধিত্ব করে।

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)

NullValue

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

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

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

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

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

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

JSON অবজেক্টের শব্দার্থ সঠিকভাবে ক্যাপচার করার উদ্দেশ্যে তৈরি করা কী-ভ্যালু ম্যাপের কোনও নির্দিষ্ট ক্রম নেই। এটি ProtoJSON ফর্ম্যাটে মেসেজ ফিল্ড হিসেবে যেকোনও নির্বিচারে JSON পেলোড পার্স করার সুবিধা দেয়।

এটি ইন্টারঅপারেবল JSON-এর জন্য RFC 8259 নির্দেশিকা মেনে চলে: উল্লেখযোগ্যভাবে, এই ধরনের ডেটা বড় Int64 ভ্যালু বা NaN/Infinity নম্বরকে উপস্থাপন করতে পারে না, কারণ JSON ফর্ম্যাট সাধারণত এর নম্বর ধরনের মধ্যে সেইসব ভ্যালুকে সাপোর্ট করে না।

আপনি যদি নিজের মেসেজে কোনও 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
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/spreadsheets