Docs Replace Text
Immutable Catalog Entry
This descriptor comes from the active versioned Portal catalog.
- Contract tier:
agent_ready - Risk:
destructive - Catalog version:
google-2026.07.12.2 - Descriptor hash:
aa3e0335f93ea1031949868152313d4122dc3554833479080ac797f985ee3177
Use this destructive Google Docs tool to replace matching document text. It can overwrite content across the document and returns the batchUpdate response. It can overwrite, send, move, remove, or permanently delete Google data. Use it only after preview and the manifest-defined confirmation; it requires per-request Google OAuth.
Request Body
{
"jsonrpc": "2.0",
"id": "google-docs-replace-text-example",
"method": "tools/call",
"params": {
"name": "google.docs_replace_text",
"arguments": {
"document_id": "document_id_123",
"contains_text": "contains_text_example",
"replace_text": "replace_text_example",
"match_case": false
}
}
}
Arguments Schema
{
"type": "object",
"title": "docs_replace_textArguments",
"required": [
"document_id",
"contains_text",
"replace_text"
],
"properties": {
"match_case": {
"type": "boolean",
"title": "Match Case",
"default": false,
"description": "Whether text matching should be case-sensitive."
},
"document_id": {
"type": "string",
"title": "Document Id",
"description": "Google Docs document ID."
},
"replace_text": {
"type": "string",
"title": "Replace Text",
"description": "Replacement text."
},
"contains_text": {
"type": "string",
"title": "Contains Text",
"description": "Text to find and replace."
}
},
"additionalProperties": false
}
Output Schema
{
"type": "object",
"required": [
"ok",
"data",
"error",
"meta"
],
"properties": {
"ok": {
"type": "boolean",
"description": "Whether the local or Google provider operation completed successfully."
},
"data": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "array",
"items": {}
},
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Bounded local navigation or Google provider result when ok is true."
},
"meta": {
"type": "object",
"description": "Safe timing, pagination, cache, request, and truncation metadata.",
"additionalProperties": true
},
"error": {
"anyOf": [
{
"type": "object",
"additionalProperties": true
},
{
"type": "null"
}
],
"description": "Safe structured error when ok is false."
}
},
"description": "Google MCP normalized operation envelope.",
"additionalProperties": false
}
Code Examples
- cURL
- Node.js
- Python
curl -X POST 'https://portal.madpanda3d.com/api/mcp' \
-H 'Authorization: Bearer mad_live_***' \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"id": "google-docs-replace-text-example",
"method": "tools/call",
"params": {
"name": "google.docs_replace_text",
"arguments": {
"document_id": "document_id_123",
"contains_text": "contains_text_example",
"replace_text": "replace_text_example",
"match_case": false
}
}
}'
const response = await fetch('https://portal.madpanda3d.com/api/mcp', {
method: 'POST',
headers: {
Authorization: 'Bearer mad_live_***',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"jsonrpc": "2.0",
"id": "google-docs-replace-text-example",
"method": "tools/call",
"params": {
"name": "google.docs_replace_text",
"arguments": {
"document_id": "document_id_123",
"contains_text": "contains_text_example",
"replace_text": "replace_text_example",
"match_case": false
}
}
}),
});
const data = await response.json();
console.log(data);
import requests
url = 'https://portal.madpanda3d.com/api/mcp'
headers = {
'Authorization': 'Bearer mad_live_***',
'Content-Type': 'application/json',
}
payload = {
"jsonrpc": "2.0",
"id": "google-docs-replace-text-example",
"method": "tools/call",
"params": {
"name": "google.docs_replace_text",
"arguments": {
"document_id": "document_id_123",
"contains_text": "contains_text_example",
"replace_text": "replace_text_example",
"match_case": false
}
}
}
response = requests.post(url, headers=headers, json=payload, timeout=60)
print(response.json())
Example Responses
- 200 Success
- 502 Upstream Error
{
"ok": true,
"message": "Tool google.docs_replace_text executed successfully.",
"note": "Response shape varies by MCP tool. Inspect live responses for exact fields."
}
{
"ok": false,
"classification": "upstream_http_error",
"message": "Upstream MCP returned a non-success status."
}