doc-agent-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| read_documentA | Read a Markdown or DOCX document as structured blocks. Returns headings, paragraphs, list items and tables with stable IDs (h-0, p-1, li-2, tbl-0). Prefer section_id= over reading whole documents. Pass doc_hash from a previous call to detect external modifications. Lists unmodeled_features so you know what the model cannot represent (images, footnotes, ...). |
| get_outlineA | Get the heading outline of a document. Returns flat heading entries (id, level, title, path) plus a nested tree. Use heading ids to read sections or anchor edits. |
| find_textA | Find exact occurrences of text inside document blocks. Returns every match as (element_id, start, end) character offsets plus a snippet - feed these offsets directly into propose_replace_text. Tables are skipped (cell-level search not supported). |
| get_commentsB | List comments anchored in the document (native DOCX comments). Each comment carries id, author, body, element_id and quoted range. For Markdown (which has no comment concept) the list is empty. |
| propose_replace_textA | Stage replacing character range [start:end) inside one block. Offsets come from find_text or read_document. The staged change includes before/after previews; nothing is written until apply_changes. Table cells are not supported (delete/re-insert the table instead). |
| propose_insert_blockB | Stage inserting a new block before or after an existing element. position: 'before' | 'after' (relative to anchor_id). kind: 'paragraph' | 'heading' (set level 1-6) | 'list_item'. This single tool covers insert-before, insert-after and append use cases (anchor on the last element and position='after'). |
| propose_delete_blockB | Stage deleting one whole block (heading, paragraph, item or table). |
| propose_add_commentB | Stage adding a comment anchored to an element. DOCX: creates a real Word comment (visible in Word/Google Docs). Markdown: stored in the session only - surfaced by get_comments until the process exits, because Markdown has no native comment storage; the tool result states this limitation explicitly. quote must appear inside the anchor element. |
| get_changesA | Review all staged changes with diffs before committing. Replace changes carry unified diffs; inserts/deletes/comments show their content. Apply selectively with apply_changes(change_ids=[...]). |
| discard_changesB | Drop staged changes (all of them, or specific change ids). |
| apply_changesA | Commit staged changes to the file (all, or selected change ids). Writes atomically, re-reads the file and returns the new doc_hash plus warnings about unmodeled features present in the document. |
| export_documentA | Convert the document to another supported format ('markdown'|'docx'). Conversion goes through the normalized model: markdown->docx builds a fresh Word file (headings, lists, tables, comments); docx->markdown serializes parsed blocks back to Markdown. Unsupported pairs raise a clear export_error listing supported conversions. |
| list_backendsA | List registered format backends and their file extensions. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/xyyyang97/doc-agent-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server