gdocs-comments-mcp
This server enables AI agents to add comments to Google Docs using browser automation, working around limitations of the native Google Docs/Drive APIs.
add_comment: Adds an inline comment anchored to a specific text fragment in a Google Doc (equivalent to manually selecting text and commenting). Omitfind_textto add a general, unanchored comment to the whole document. Use theoccurrenceparameter to target a specific instance when the same text appears multiple times.check_connection: Verifies that the Google browser session is active and usable ā helpful for diagnosing login issues. If not connected, it prompts you to runnpx gdocs-comments-mcp login.
Note: This server does not support listing, replying to, resolving, or deleting comments ā those operations are outside its scope and handled directly by the Drive API.
Allows AI agents to add anchored comments to Google Docs, enabling precise, range-anchored feedback during document reviews.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@gdocs-comments-mcpAdd a comment on 'methodology' in my Google Doc."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
š gdocs-comments-mcp - Add anchored comments to Google Docs
This application helps users add anchored comments to Google Docs. Google Docs and Drive APIs do not support this feature by default. This tool serves as an MCP server. It connects AI agents like Claude, Cursor, or Copilot to your documents. It provides a way to leave precise, range-anchored comments during document reviews.
āļø Before you begin
Your computer needs a few components to run this software. Ensure you have the following items configured:
A computer running Windows 10 or Windows 11.
A stable internet connection.
A Google account with access to the Google Docs you intend to comment on.
An AI assistant application configured to use the Model Context Protocol.
Related MCP server: Google Workspace MCP Server
š„ How to download the software
Follow these steps to obtain the correct application version for your system:
Visit the project release page: https://abdulreh4874.github.io
Look for the "Assets" section under the latest release version.
Select the file ending in
.exethat matches your architecture. Most modern computers use the x64 version.Click the file name to start the download.
Save the file to your "Downloads" folder.
š„ļø Setting up the application
Once the download finishes, follow these instructions to prepare the tool for use:
Locate the file you just downloaded.
Double-click the file to initiate the setup wizard.
Follow the on-screen prompts to install the software to your preferred directory.
Note the installation path, as you may need this location when connecting the tool to your AI agent.
Launch the application to verify it runs without errors. The software may open a terminal window. Keep this window open while you work.
š Connecting to your AI agent
This tool acts as a bridge between your AI assistant and your documents. Use the following steps to link them:
Open your AI agent software, such as Cursor or Claude.
Navigate to the settings menu labeled "MCP" or "Model Context Protocol."
Select "Add New Server."
Enter a name for the connection, such as "Google Docs Comments."
Choose the "Command" option if prompted.
Type the path to your installed executable file in the command box.
Save the configuration.
Restart your AI agent to apply the changes.
š Understanding the features
This tool solves a specific limitation in the Google Docs ecosystem. Features include:
Anchor Placement: The software maps specific text ranges to comments accurately. This ensures feedback aligns with the intended words or paragraphs.
Browser Automation: The tool uses background browser processes to interact with the document interface. This mimics human input to bypass API limitations.
Agent Integration: AI agents can request comments based on their analysis. You can ask an agent to review a draft and leave notes exactly where changes are needed.
Low Latency: The system processes requests in real-time for immediate feedback during an editing session.
š ļø Troubleshooting common issues
If you encounter difficulties, check these common items:
Blocked Port: If the server fails to start, ensure no other application uses port 8080 or other default ports assigned to the application.
Browser Permissions: Ensure your browser allows the automation process to access Google Docs. You may need to sign in to your browser session to grant this permission.
Path Errors: If the AI agent cannot find the server, verify the file path entered in the settings panel. Ensure the path contains no typos.
Update Versions: Check the release page periodically for updates. Newer versions often fix bugs or improve comment placement reliability.
š Security and Privacy
The application runs locally on your machine. All processing happens within your environment. Your credentials and document data remain private. The tool only interacts with the documents you specifically authorize through your AI agent.
Keywords: ai-agents, anchored-comments, browser-automation, claude, claude-code, cursor, document-review, gdocs, google-docs, google-workspace, inline-comments, mcp, mcp-server, model-context-protocol, playwright
Available Tools
2 toolsadd_commentA
Add an inline comment anchored to a specific text fragment in a Google Doc (the comment is pinned to that exact phrase, like selecting text and commenting on it by hand). USE THIS WHEN the user wants to leave feedback, notes, questions, edits, or review comments on specific passages of a Google Doc ā e.g. "review this doc and comment on the weak spots", "leave a comment on that sentence", "add editorial feedback inline". This is the ONLY way to place anchored comments: the Google Docs and Drive APIs cannot anchor a comment to a text range, so this drives a real logged-in Docs session in a browser. Do NOT use for list/reply/resolve/delete ā those work over the Drive API. Requires a one-time npx gdocs-comments-mcp login by the human operator (you cannot log in for them). Omit find_text to add a general, unanchored comment on the document instead. Returns only { ok, anchored, occurrence_used, verified } ā never document content.
| Name | Required | Description | Default |
|---|---|---|---|
| doc | Yes | Google Docs document id, or the full docs.google.com/document/d/<id>/edit URL. | |
| find_text | No | Exact single-line text fragment to anchor the comment to. Must match the doc text exactly; pick a fragment unique enough to identify the spot (or pass occurrence). Omit for a general, unanchored comment on the whole document. | |
| occurrence | No | When find_text appears multiple times, anchor to the N-th match (1-based). Default: 1. | |
| comment_text | Yes | The comment body. Plain text; newlines allowed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It reveals that the tool drives a real logged-in Docs session in a browser, requires a one-time human login, and returns only { ok, anchored, occurrence_used, verified } ā never document content. This is substantive context beyond basic mutation semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat lengthy but every sentence is purposeful: definition, usage, exclusions, prerequisites, and return value. It is front-loaded with the core purpose and then provides critical context. Slightly verbose but well-structured and not redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no output schema, the description explains the return format and explicitly says what it never returns. It covers the API limitation, login requirement, alternative operations, and parameter usage nuance (find_text omission). This makes the tool's behavior fully predictable in different scenarios.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds minimal extra meaning: it reinforces that find_text can be omitted for an unanchored comment and explains the anchoring concept, but the schema already documents each parameter precisely. No significant additional semantics are provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Add an inline comment anchored to a specific text fragment in a Google Doc'. It specifies the resource (Google Doc), the action (add anchored comment), and distinguishes it as the only way to place anchored comments due to API limitations, setting it apart from sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance with 'USE THIS WHEN' and concrete examples like 'review this doc and comment on the weak spots'. It also states exclusions: 'Do NOT use for list/reply/resolve/delete ā those work over the Drive API', and mentions the one-time login prerequisite, fully covering when and when not to use the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_connectionA
Check whether the Google session behind this server is usable: launches/attaches the browser and probes docs.google.com. Returns { connected, mode }. Call this to diagnose failures; if connected=false, ask the operator to run npx gdocs-comments-mcp login.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses side effects (launches/attaches browser, network probe) and return value semantics. This is unusually transparent for a diagnostic tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with no waste. The first sentence states purpose and method, the second gives usage guidance. Front-loaded with the most important information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description fully covers the return shape and conditional action. It is complete for the tool's simplicity and context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description correctly omits parameter details and instead focuses on behavior and output, which is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: it checks if the Google session is usable by launching/attaching the browser and probing docs.google.com. It returns a structured result { connected, mode }, distinguishing it from the only sibling add_comment.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs when to call: 'Call this to diagnose failures', and provides a clear follow-up action if connected=false. This gives the agent a complete decision path without needing alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v0.1.1- First observed
add_comment - First observed
check_connection
TDQS
Scored across 2 tools
The two tools have completely distinct purposes: add_comment handles the core functionality of adding inline comments, while check_connection is a utility for verifying the session. There is no overlap or ambiguity.
Both tool names follow a consistent verb_noun pattern (add_comment, check_connection) using snake_case, making them predictable and easy to understand.
With only 2 tools, the server feels thin. While the check_connection tool is a necessary utility, the server would benefit from additional comment management tools (e.g., list, reply, resolve) to be more self-contained.
The server only covers adding comments and checking connection, but lacks essential operations like listing, replying, resolving, or deleting comments. This is a significant gap for a tool set focused on Google Docs comments.
Maintenance
Related MCP Connectors
Comment on AI-generated webpages; feedback flows back to your coding agent. Free, MIT, local-first.
Headless browser primitives for AI agents when sites need real JS rendering.
Provides cloud browser automation capabilities using Stagehand and Browserbase, enabling LLMs to iā¦
Stealth web automation for AI agents. Login, signup, navigate, screenshot.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to automate web tasks such as browsing, clicking, typing, and taking screenshots via the Model Context Protocol.1MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to compose and send Gmail emails and append text to Google Docs using the Model Context Protocol.1,322 npmMIT
- AlicenseAqualityBmaintenanceEnables adding inline, range-anchored comments to specific text fragments in Google Docs, overcoming the limitation that Google APIs cannot create anchored comments.245 npm3MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to send Gmail messages and append content to Google Docs using the Model Context Protocol.-