MCP Tools Reference: sheetsmcp.googleapis.com

टूल: get_spreadsheet

यह फ़ंक्शन, दी गई स्प्रेडशीट का कॉन्टेंट दिखाता है. यह फ़ंक्शन, दिए गए स्प्रेडशीट आईडी के लिए टाइटल, शीट के नाम, ग्रिड प्रॉपर्टी, और अन्य मेटाडेटा दिखाता है. अनुरोध किए जाने पर, यह ग्रिड का पूरा डेटा भी दिखाता है.

यह REST API में spreadsheets.get से मेल खाता है: https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/get

स्कीमा: - spreadsheet_id (स्ट्रिंग, ज़रूरी है): अनुरोध की जाने वाली स्प्रेडशीट का आईडी. - include_grid_data (बूलियन, ज़रूरी नहीं): अगर ग्रिड डेटा दिखाना है, तो True डालें. डिफ़ॉल्ट तौर पर, यह 'गलत' पर सेट होती है. - fields (स्ट्रिंग का कलेक्शन, ज़रूरी नहीं): फ़ील्ड मास्क, जो यह बताते हैं कि कौनसी प्रॉपर्टी दिखानी हैं (जैसे, ["sheets.properties.sheetId", "sheets.properties.title"]). - comments_included (बूलियन, ज़रूरी नहीं): अगर इसकी वैल्यू true पर सेट है, तो जवाब में टिप्पणियां शामिल की जाएंगी. डिफ़ॉल्ट तौर पर, यह 'गलत' पर सेट होती है. - ranges (स्ट्रिंग का कलेक्शन, ज़रूरी नहीं): स्प्रेडशीट से वापस पाने के लिए, A1 या R1C1 रेंज. अगर कोई रेंज नहीं दी जाती है, तो पूरी स्प्रेडशीट दिखती है.

यहां दिए गए कोड सैंपल में, curl का इस्तेमाल करके get_spreadsheet एमसीपी टूल को कॉल करने का तरीका बताया गया है.

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": "get_spreadsheet",
    "arguments": {
      // Provide these details according to the MCP tool specification.
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'

इनपुट स्कीमा

GetContentRequest

JSON के काेड में दिखाना
{
  "spreadsheetId": string,
  "includeGridData": boolean,
  "fields": [
    string
  ],
  "ranges": [
    string
  ],

  "commentsIncluded": boolean
}
फ़ील्ड
spreadsheetId

string

ज़रूरी है. उस स्प्रेडशीट का आईडी जिसका अनुरोध करना है.

includeGridData

boolean

अगर ग्रिड डेटा दिखाना है, तो True.

fields[]

string

ज़रूरी नहीं. यह बताने के लिए फ़ील्ड मास्क कि Spreadsheets API की कौनसी प्रॉपर्टी दिखानी हैं. फ़ील्ड मास्क इस्तेमाल करने के तरीके के बारे में ज़्यादा जानने के लिए, https://developers.google.com/workspace/sheets/api/guides/field-masks पर जाएं. अहम जानकारी: Sheets API के रिस्पॉन्स JSON स्ट्रक्चर के आधार पर, हैरारकी वाले पाथ इस्तेमाल करें. - उदाहरण के लिए, शीट का टाइटल और आईडी पाने के लिए, 'title,sheetId' के बजाय 'sheets.properties.sheetId' और 'sheets.properties.title' का इस्तेमाल करें. - सिर्फ़ वे फ़ील्ड शामिल करें जिनकी आपको ज़रूरत है. - टेबल पाने के लिए, 'sheets.tables' या 'sheets.properties' का इस्तेमाल करें. - शीट के टाइटल और आईडी पाने के लिए, इनका इस्तेमाल करें: 'sheets.properties.sheetId' और 'sheets.properties.title'.

ranges[]

string

ज़रूरी नहीं. स्प्रेडशीट से वापस पाने के लिए, रेंज का A1 नोटेशन या R1C1 नोटेशन. अगर कोई रेंज नहीं दी जाती है, तो पूरी स्प्रेडशीट दिखती है.

यूनियन फ़ील्ड _comments_included.

_comments_included इनमें से सिर्फ़ एक हो सकता है:

commentsIncluded

boolean

ज़रूरी नहीं. अगर इसकी वैल्यू true पर सेट है, तो जवाब में टिप्पणियां शामिल की जाएंगी. डिफ़ॉल्ट रूप से, टिप्पणियां शामिल नहीं की जाती हैं.

आउटपुट स्कीमा

GetContentResponse

JSON के काेड में दिखाना
{
  "content": {
    object
  }
}
फ़ील्ड
content

object (Struct format)

स्प्रेडशीट, Sheets API Spreadsheet संसाधन के JSON फ़ॉर्मैट में होनी चाहिए.

स्ट्रक्ट

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 एक सेंटिनल है. यह सिर्फ़ एक वैल्यू वाले enum का इस्तेमाल करके, Value टाइप यूनियन के लिए शून्य वैल्यू दिखाता है.

NullValue टाइप के फ़ील्ड में 0 के अलावा कोई भी वैल्यू अमान्य मानी जाती है. ज़्यादातर ProtoJSON सीरियलाइज़र, पूर्णांक वैल्यू के बावजूद, JSON null के तौर पर सेट किए गए null_value के साथ Value को एमिट करेंगे. साथ ही, 0 वैल्यू पर वापस जाएंगे.

Enums
NULL_VALUE Null वैल्यू.

टूल एनोटेशन

एमसीपी क्लाइंट को टूल एनोटेशन भेजे जाते हैं, ताकि किसी टूल से जुड़े बुनियादी जोखिम के बारे में बताया जा सके. ज़्यादातर क्लाइंट इन संकेतों को भरोसेमंद नहीं मानते. हालांकि, इनका इस्तेमाल यह तय करने के लिए किया जा सकता है कि उपयोगकर्ता को पुष्टि करने का प्रॉम्प्ट कब भेजा जाए.

टाइटल स्ट्रिंग के साथ-साथ, बूलियन हिंट के बारे में यहां बताया गया है:

  • readOnlyHint: अगर इसकी वैल्यू true है, तो टूल अपने एनवायरमेंट में बदलाव नहीं करता. डिफ़ॉल्ट: false.
  • destructiveHint: अगर इसकी वैल्यू true है, तो टूल नुकसान पहुंचाने वाली कार्रवाइयां कर सकता है. अगर यह वैल्यू false पर सेट है, तो टूल सिर्फ़ जोड़ने वाली कार्रवाइयां कर सकता है. डिफ़ॉल्ट: true.
  • idempotentHint: अगर इसकी वैल्यू true है, तो टूल को एक ही आर्ग्युमेंट के साथ बार-बार कॉल करने पर, उसके एनवायरमेंट पर कोई और असर नहीं पड़ेगा. डिफ़ॉल्ट: false.
  • openWorldHint: सही होने पर, टूल बाहरी इकाइयों की 'विशाल दुनिया' के साथ इंटरैक्ट कर सकता है. अगर यह वैल्यू false है, तो टूल सिर्फ़ इंटरनल इकाइयों के साथ इंटरैक्ट कर सकता है. उदाहरण के लिए, वेब सर्च टूल ओपन वर्ल्ड होगा, जबकि मेमोरी टूल ओपन वर्ल्ड नहीं होगा.

Destructive Hint: ❌ | Idempotent Hint: ✅ | Read Only Hint: ✅ | Open World Hint: ✅

अनुमति पाने के लिंक

इनमें से किसी एक OAuth स्कोप की ज़रूरत होती है:

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