Herramienta: read_doc
Esta herramienta recupera una representación JSON del documento de Google Docs a partir de su ID.
La representación JSON incluye tanto el texto como la información estructural sobre el documento.
Corresponde a documents.get en la API de REST.
En la siguiente muestra de código, se muestra cómo usar curl para llamar a la herramienta de MCP read_doc.
| Solicitud de cURL |
|---|
curl --location 'https://docsmcp.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_doc", "arguments": { // Provide these details according to the MCP tool specification. } }, "jsonrpc": "2.0", "id": 1 }' |
Esquema de entrada
ReadDocRequest
| Representación JSON |
|---|
{ "documentId": string, "commentsIncluded": boolean } |
| Campos | |
|---|---|
documentId |
Obligatorio. ID del documento que se leerá. Es el mismo que el file_id de las herramientas de Drive. |
Campo de unión
|
|
commentsIncluded |
Opcional. Si es verdadero, los comentarios se incluirán en la respuesta. De forma predeterminada, no se incluyen los comentarios. |
Esquema de salida
ReadDocResponse
| Representación JSON |
|---|
{ "content": { object } } |
| Campos | |
|---|---|
content |
Es el contenido de texto verbalizado del documento. |
Struct
| Representación JSON |
|---|
{ "fields": { string: value, ... } } |
| Campos | |
|---|---|
fields |
Es un mapa no ordenado de valores escritos de forma dinámica. Un objeto que contiene una lista de pares |
FieldsEntry
| Representación JSON |
|---|
{ "key": string, "value": value } |
| Campos | |
|---|---|
key |
|
value |
|
Valor
| Representación JSON |
|---|
{ "nullValue": null, "numberValue": number, "stringValue": string, "boolValue": boolean, "structValue": { object }, "listValue": array } |
| Campos | |
|---|---|
Campo de unión kind. Es el tipo de valor. kind puede ser solo uno de los parámetros siguientes: |
|
nullValue |
Representa un |
numberValue |
Representa un número JSON. No debe ser |
stringValue |
Representa una cadena JSON. |
boolValue |
Representa un valor booleano de JSON (literal |
structValue |
Representa un objeto JSON. |
listValue |
Representa un array JSON. |
ListValue
| Representación JSON |
|---|
{ "values": [ value ] } |
| Campos | |
|---|---|
values[] |
Es un campo repetido de valores escritos de forma dinámica. |
NullValue
Representa un null de JSON.
NullValue es un centinela que usa un enum con solo un valor para representar el valor nulo de la unión de tipos Value.
Un campo de tipo NullValue con cualquier valor que no sea 0 se considera no válido. La mayoría de los serializadores de ProtoJSON emitirán un Value con un null_value establecido como un null de JSON, independientemente del valor entero, y, por lo tanto, se realizará un viaje de ida y vuelta a un valor de 0.
| Enums | |
|---|---|
NULL_VALUE |
Valor nulo. |
Anotaciones de herramientas
Las anotaciones de herramientas se envían a los clientes de MCP para describir el riesgo básico de una herramienta determinada. La mayoría de los clientes tratan estas sugerencias como no confiables, pero se pueden usar para decidir cuándo se le puede enviar un mensaje de confirmación a un usuario.
Junto con la cadena de título, se definen las siguientes sugerencias booleanas:
readOnlyHint: Si es verdadero, la herramienta no modifica su entorno. Valor predeterminado: false.destructiveHint: Si es verdadero, la herramienta puede realizar acciones destructivas. Si es falso, la herramienta solo puede realizar acciones aditivas. Valor predeterminado: true.idempotentHint: Si es verdadero, llamar a la herramienta varias veces con los mismos argumentos no tendrá ningún efecto adicional en su entorno. Valor predeterminado: false.openWorldHint: Si es verdadero, la herramienta puede interactuar con un "mundo abierto" de entidades externas. Si es falso, la herramienta solo puede interactuar con entidades internas. Por ejemplo, una herramienta de búsqueda web sería de mundo abierto, mientras que una herramienta de memoria no lo sería.
Pista destructiva: ❌ | Pista idempotente: ✅ | Pista de solo lectura: ✅ | Pista de mundo abierto: ✅
Alcances de la autorización
Se necesita uno de los siguientes alcances de OAuth:
https://www.googleapis.com/auth/drive.readonlyhttps://www.googleapis.com/auth/documents.readonlyhttps://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/drive.filehttps://www.googleapis.com/auth/documents