{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Docs Mcp",
    "description": "The Google Docs MCP Actor functions as a model context protocol server, facilitating interactions between AI assistants, automation tools, and Google Docs. It helps in  linking AI models to Google Workspace, enabling intelligent document processing, content generation, and collaborative workflows.",
    "version": "0.1",
    "x-build-id": "PTzWdFLI09x1WN9Im"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/aluminum_jam~google-docs-mcp/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-aluminum_jam-google-docs-mcp",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/aluminum_jam~google-docs-mcp/runs": {
      "post": {
        "operationId": "runs-sync-aluminum_jam-google-docs-mcp",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/aluminum_jam~google-docs-mcp/run-sync": {
      "post": {
        "operationId": "run-sync-aluminum_jam-google-docs-mcp",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "operation",
          "googleCredentials"
        ],
        "properties": {
          "operation": {
            "title": "Operation Type",
            "enum": [
              "read_document",
              "write_document",
              "create_document",
              "update_document",
              "list_documents",
              "analyze_document",
              "search_content",
              "batch_operations",
              "mcp_server"
            ],
            "type": "string",
            "description": "Select the operation you want to perform on Google Docs",
            "default": "mcp_server"
          },
          "googleCredentials": {
            "title": "Google API Credentials",
            "required": [],
            "type": "object",
            "description": "Google Service Account credentials or OAuth tokens",
            "properties": {
              "type": {
                "title": "Credential Type",
                "type": "string",
                "description": "Choose between Service Account or OAuth2 authentication",
                "enum": [
                  "service_account",
                  "oauth2"
                ],
                "editor": "select"
              },
              "serviceAccountJson": {
                "title": "Service Account JSON",
                "type": "string",
                "description": "Paste your Google Service Account JSON credentials here",
                "editor": "textarea"
              },
              "oauthToken": {
                "title": "OAuth Access Token",
                "type": "string",
                "description": "OAuth 2.0 access token (for personal accounts)",
                "editor": "textfield"
              },
              "oauthRefreshToken": {
                "title": "OAuth Refresh Token",
                "type": "string",
                "description": "OAuth 2.0 refresh token for automatic token renewal",
                "editor": "textfield"
              }
            }
          },
          "documentId": {
            "title": "Document ID",
            "type": "string",
            "description": "Google Docs document ID (from URL: https://docs.google.com/document/d/DOCUMENT_ID/edit)"
          },
          "documentIds": {
            "title": "Multiple Document IDs",
            "type": "array",
            "description": "List of document IDs for batch operations",
            "items": {
              "type": "string"
            }
          },
          "content": {
            "title": "Content",
            "type": "string",
            "description": "Text content to write/insert into the document"
          },
          "documentTitle": {
            "title": "Document Title",
            "type": "string",
            "description": "Title for new documents"
          },
          "insertPosition": {
            "title": "Insert Position",
            "type": "object",
            "description": "Where to insert content in the document",
            "properties": {
              "index": {
                "title": "Character Index",
                "type": "integer",
                "description": "Character index position (1 = start of document)",
                "editor": "number"
              },
              "location": {
                "title": "Insertion Location",
                "type": "string",
                "enum": [
                  "start",
                  "end",
                  "replace_all"
                ],
                "description": "Predefined locations",
                "editor": "select"
              }
            }
          },
          "formatting": {
            "title": "Text Formatting",
            "type": "object",
            "description": "Apply formatting to inserted text",
            "properties": {
              "bold": {
                "title": "Bold",
                "type": "boolean",
                "description": "Apply bold formatting to text",
                "editor": "checkbox"
              },
              "italic": {
                "title": "Italic",
                "type": "boolean",
                "description": "Apply italic formatting to text",
                "editor": "checkbox"
              },
              "fontSize": {
                "title": "Font Size",
                "type": "integer",
                "description": "Size of the font in points",
                "editor": "number",
                "minimum": 1,
                "maximum": 400
              },
              "fontFamily": {
                "title": "Font Family",
                "type": "string",
                "description": "Name of the font family (e.g., Arial, Times New Roman)",
                "editor": "textfield"
              },
              "foregroundColor": {
                "title": "Text Color",
                "type": "string",
                "description": "Hex color code (e.g., #FF0000)",
                "editor": "textfield"
              },
              "backgroundColor": {
                "title": "Background Color",
                "type": "string",
                "description": "Hex color code (e.g., #FFFF00)",
                "editor": "textfield"
              }
            }
          },
          "analysisOptions": {
            "title": "Document Analysis Options",
            "type": "object",
            "description": "Configure document analysis features",
            "properties": {
              "extractKeywords": {
                "title": "Extract Keywords",
                "type": "boolean",
                "description": "Extract key phrases and terms",
                "editor": "checkbox"
              },
              "summarize": {
                "title": "Generate Summary",
                "type": "boolean",
                "description": "Generate document summary",
                "editor": "checkbox"
              },
              "wordCount": {
                "title": "Word Count",
                "type": "boolean",
                "description": "Count words and characters",
                "editor": "checkbox"
              },
              "extractLinks": {
                "title": "Extract Links",
                "type": "boolean",
                "description": "Extract all URLs from document",
                "editor": "checkbox"
              },
              "detectLanguage": {
                "title": "Detect Language",
                "type": "boolean",
                "description": "Detect document language",
                "editor": "checkbox"
              }
            }
          },
          "searchQuery": {
            "title": "Search Query",
            "type": "string",
            "description": "Search for specific text in documents"
          },
          "shareSettings": {
            "title": "Document Sharing Settings",
            "type": "object",
            "description": "Configure document permissions",
            "properties": {
              "shareWithEmails": {
                "title": "Email Addresses",
                "type": "array",
                "description": "Email addresses to share with",
                "editor": "stringList",
                "items": {
                  "type": "string"
                }
              },
              "role": {
                "title": "Permission Role",
                "type": "string",
                "enum": [
                  "reader",
                  "writer",
                  "commenter"
                ],
                "description": "Permission level",
                "editor": "select"
              },
              "sendNotification": {
                "title": "Send Notification",
                "type": "boolean",
                "description": "Send email notification to users",
                "editor": "checkbox"
              }
            }
          },
          "mcpServerConfig": {
            "title": "MCP Server Configuration",
            "type": "object",
            "description": "Configure Model Context Protocol server settings",
            "properties": {
              "enableServer": {
                "title": "Enable MCP Server",
                "type": "boolean",
                "description": "Enable MCP server mode",
                "editor": "checkbox"
              },
              "serverPort": {
                "title": "Server Port",
                "type": "integer",
                "description": "Port for MCP server (if applicable)",
                "editor": "number"
              },
              "allowedTools": {
                "title": "Allowed MCP Tools",
                "type": "array",
                "description": "MCP tools to expose",
                "editor": "select",
                "items": {
                  "type": "string",
                  "enum": [
                    "read_document",
                    "write_document",
                    "create_document",
                    "search_documents",
                    "analyze_content",
                    "list_documents"
                  ]
                }
              },
              "webhookUrl": {
                "title": "Webhook URL",
                "type": "string",
                "description": "Webhook URL for notifications",
                "editor": "textfield"
              }
            }
          },
          "batchOperations": {
            "title": "Batch Operations",
            "type": "array",
            "description": "Execute multiple operations in sequence",
            "items": {
              "type": "object",
              "properties": {
                "operation": {
                  "title": "Operation Type",
                  "type": "string",
                  "editor": "textfield",
                  "description": "Type of operation to perform"
                },
                "documentId": {
                  "title": "Document ID",
                  "type": "string",
                  "editor": "textfield",
                  "description": "Google Docs document ID"
                },
                "params": {
                  "title": "Operation Parameters",
                  "type": "object",
                  "editor": "json",
                  "description": "Parameters specific to the operation"
                }
              }
            }
          },
          "outputFormat": {
            "title": "Output Format",
            "enum": [
              "json",
              "markdown",
              "plain_text",
              "html"
            ],
            "type": "string",
            "description": "How to format the results",
            "default": "json"
          },
          "maxRetries": {
            "title": "Maximum Retries",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Number of retry attempts for API calls",
            "default": 3
          },
          "rateLimitDelay": {
            "title": "Rate Limit Delay (ms)",
            "minimum": 0,
            "maximum": 5000,
            "type": "integer",
            "description": "Delay between API requests in milliseconds",
            "default": 100
          },
          "verbose": {
            "title": "Verbose Logging",
            "type": "boolean",
            "description": "Enable detailed logging for debugging",
            "default": false
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}