{"protocolVersion":"2025-06-18","serverInfo":{"name":"AgentsMarkdown MCP","version":"1.0.0"},"instructions":"Tools mirror the AgentsMarkdown HTTP API. Pass `doc` as an id or share URL and `key` for scoped access. Read then replace with baseVersion for safe writes. Media tools run on the signed-in user’s own mere.run node and need a mere.world session bearer. Full guide: get_skill.","capabilities":{"tools":{"listChanged":false}},"tools":[{"name":"agentsmarkdown.create_doc","description":"Create a new markdown document. Returns its id, owner key, and share URL.","inputSchema":{"type":"object","properties":{"title":{"type":"string"},"content":{"type":"string","description":"Initial markdown. A leading \"# Heading\" becomes the title."},"markdown":{"type":"string","description":"Alias for content, accepted for generic markdown clients."},"kind":{"type":"string","enum":["plain","live"]}},"additionalProperties":false},"annotations":{"origin":"https://agentsmarkdown.com"}},{"name":"agentsmarkdown.read_doc","description":"Read a document as raw markdown, with its current version for safe writes.","inputSchema":{"type":"object","properties":{"doc":{"type":"string","description":"Document id, or a full share/publish URL (a ?key= in the URL is used automatically)."},"key":{"type":"string","description":"Share key granting the required role. Omit for account/agent-owned docs or published reads."}},"required":["doc"],"additionalProperties":false},"annotations":{"origin":"https://agentsmarkdown.com"}},{"name":"agentsmarkdown.replace_doc","description":"Replace the full document content. Pass baseVersion (from read_doc) for optimistic concurrency.","inputSchema":{"type":"object","properties":{"doc":{"type":"string","description":"Document id, or a full share/publish URL (a ?key= in the URL is used automatically)."},"key":{"type":"string","description":"Share key granting the required role. Omit for account/agent-owned docs or published reads."},"content":{"type":"string"},"baseVersion":{"type":"string","description":"Version from read_doc; a stale value returns a conflict."},"label":{"type":"string","description":"Names this revision in history."}},"required":["doc","content"],"additionalProperties":false},"annotations":{"origin":"https://agentsmarkdown.com"}},{"name":"agentsmarkdown.append_doc","description":"Append markdown to the end of a document (read + safe replace). Ideal for run logs.","inputSchema":{"type":"object","properties":{"doc":{"type":"string","description":"Document id, or a full share/publish URL (a ?key= in the URL is used automatically)."},"key":{"type":"string","description":"Share key granting the required role. Omit for account/agent-owned docs or published reads."},"text":{"type":"string"},"label":{"type":"string"}},"required":["doc","text"],"additionalProperties":false},"annotations":{"origin":"https://agentsmarkdown.com"}},{"name":"agentsmarkdown.list_comments","description":"List comments and replies on a document.","inputSchema":{"type":"object","properties":{"doc":{"type":"string","description":"Document id, or a full share/publish URL (a ?key= in the URL is used automatically)."},"key":{"type":"string","description":"Share key granting the required role. Omit for account/agent-owned docs or published reads."}},"required":["doc"],"additionalProperties":false},"annotations":{"origin":"https://agentsmarkdown.com"}},{"name":"agentsmarkdown.add_comment","description":"Add a comment, optionally anchored to text (find), a line, or a character range.","inputSchema":{"type":"object","properties":{"doc":{"type":"string","description":"Document id, or a full share/publish URL (a ?key= in the URL is used automatically)."},"key":{"type":"string","description":"Share key granting the required role. Omit for account/agent-owned docs or published reads."},"body":{"type":"string"},"author":{"type":"string"},"find":{"type":"string","description":"Exact text to anchor to."},"line":{"type":"number","description":"1-based line number to anchor to."},"anchor":{"type":"object","properties":{"from":{"type":"number"},"to":{"type":"number"}},"description":"Explicit character range.","additionalProperties":false}},"required":["doc","body"],"additionalProperties":false},"annotations":{"origin":"https://agentsmarkdown.com"}},{"name":"agentsmarkdown.list_suggestions","description":"List proposed edits (suggestions) on a document.","inputSchema":{"type":"object","properties":{"doc":{"type":"string","description":"Document id, or a full share/publish URL (a ?key= in the URL is used automatically)."},"key":{"type":"string","description":"Share key granting the required role. Omit for account/agent-owned docs or published reads."}},"required":["doc"],"additionalProperties":false},"annotations":{"origin":"https://agentsmarkdown.com"}},{"name":"agentsmarkdown.add_suggestion","description":"Propose an insert, delete, or replace edit without changing canonical markdown until accepted.","inputSchema":{"type":"object","properties":{"doc":{"type":"string","description":"Document id, or a full share/publish URL (a ?key= in the URL is used automatically)."},"key":{"type":"string","description":"Share key granting the required role. Omit for account/agent-owned docs or published reads."},"type":{"type":"string","enum":["insert","delete","replace"]},"text":{"type":"string","description":"Replacement or inserted markdown (insert/replace)."},"at":{"description":"\"start\", \"end\", or a character offset (insert)."},"author":{"type":"string"},"find":{"type":"string","description":"Exact text to anchor to."},"line":{"type":"number","description":"1-based line number to anchor to."},"anchor":{"type":"object","properties":{"from":{"type":"number"},"to":{"type":"number"}},"description":"Explicit character range.","additionalProperties":false}},"required":["doc","type"],"additionalProperties":false},"annotations":{"origin":"https://agentsmarkdown.com"}},{"name":"agentsmarkdown.resolve_suggestion","description":"Accept or reject a pending suggestion (requires edit access).","inputSchema":{"type":"object","properties":{"doc":{"type":"string","description":"Document id, or a full share/publish URL (a ?key= in the URL is used automatically)."},"key":{"type":"string","description":"Share key granting the required role. Omit for account/agent-owned docs or published reads."},"suggestionId":{"type":"string"},"action":{"type":"string","enum":["accept","reject"]}},"required":["doc","suggestionId","action"],"additionalProperties":false},"annotations":{"origin":"https://agentsmarkdown.com"}},{"name":"agentsmarkdown.create_share","description":"Mint a scoped capability link (view, comment, suggest, or edit).","inputSchema":{"type":"object","properties":{"doc":{"type":"string","description":"Document id, or a full share/publish URL (a ?key= in the URL is used automatically)."},"key":{"type":"string","description":"Share key granting the required role. Omit for account/agent-owned docs or published reads."},"role":{"type":"string","enum":["view","comment","suggest","edit"]}},"required":["doc","role"],"additionalProperties":false},"annotations":{"origin":"https://agentsmarkdown.com"}},{"name":"agentsmarkdown.set_published","description":"Publish or unpublish a document (owner access). Published docs read at /pub/{id} with no key.","inputSchema":{"type":"object","properties":{"doc":{"type":"string","description":"Document id, or a full share/publish URL (a ?key= in the URL is used automatically)."},"key":{"type":"string","description":"Share key granting the required role. Omit for account/agent-owned docs or published reads."},"published":{"type":"boolean"}},"required":["doc","published"],"additionalProperties":false},"annotations":{"origin":"https://agentsmarkdown.com"}},{"name":"agentsmarkdown.list_events","description":"Read the append-only activity feed. Use since + wait to long-poll for changes (wait up to 55s).","inputSchema":{"type":"object","properties":{"doc":{"type":"string","description":"Document id, or a full share/publish URL (a ?key= in the URL is used automatically)."},"key":{"type":"string","description":"Share key granting the required role. Omit for account/agent-owned docs or published reads."},"since":{"description":"Sequence number, or \"latest\".","type":["number","string"]},"wait":{"type":"number","description":"Seconds to long-poll for new events (0-55)."}},"required":["doc"],"additionalProperties":false},"annotations":{"origin":"https://agentsmarkdown.com"}},{"name":"agentsmarkdown.generate_image","description":"Generate an image on the user's own mere.run node and attach it to the document as an asset. Returns the asset URL and ready-to-insert markdown (insert it yourself with replace_doc/append_doc/add_suggestion). Requires a mere.world session (Authorization: Bearer asess_...) with a running mere.run node; a share key alone is not enough.","inputSchema":{"type":"object","properties":{"doc":{"type":"string","description":"Document id, or a full share/publish URL (a ?key= in the URL is used automatically)."},"key":{"type":"string","description":"Share key granting the required role. Omit for account/agent-owned docs or published reads."},"prompt":{"type":"string","description":"What to generate (max 2000 chars)."},"size":{"type":"string","enum":["square","wide","tall"],"description":"square 1024×1024, wide 1216×832, tall 832×1216. Default square."},"width":{"type":"number","description":"Explicit width; overrides size. Clamped and snapped to the model grid."},"height":{"type":"number","description":"Explicit height; overrides size."}},"required":["doc","prompt"],"additionalProperties":false},"annotations":{"origin":"https://agentsmarkdown.com"}},{"name":"agentsmarkdown.transcribe_audio","description":"Transcribe speech to text on the user's own mere.run node. Provide inline base64 WAV/MP3 (small clips) or a same-origin /f/ asset URL from a prior POST /api/docs/{id}/assets upload. Requires a mere.world session (Authorization: Bearer asess_...) with a running mere.run node; a share key alone is not enough.","inputSchema":{"type":"object","properties":{"doc":{"type":"string","description":"Document id, or a full share/publish URL (a ?key= in the URL is used automatically)."},"key":{"type":"string","description":"Share key granting the required role. Omit for account/agent-owned docs or published reads."},"audio_data":{"type":"string","description":"Base64 audio (≤ 8 MB decoded). data: URI prefixes are stripped."},"audio_url":{"type":"string","description":"Same-origin asset URL (/f/...) of uploaded audio."},"content_type":{"type":"string","description":"Audio MIME type for audio_data. Default audio/wav."},"language":{"type":"string","description":"Optional ISO language hint."}},"required":["doc"],"additionalProperties":false},"annotations":{"origin":"https://agentsmarkdown.com"}},{"name":"agentsmarkdown.ocr_image","description":"Extract text from an image (whiteboard, screenshot, scan) on the user's own mere.run node. Provide inline base64 or a same-origin /f/ asset URL. Requires a mere.world session (Authorization: Bearer asess_...) with a running mere.run node; a share key alone is not enough.","inputSchema":{"type":"object","properties":{"doc":{"type":"string","description":"Document id, or a full share/publish URL (a ?key= in the URL is used automatically)."},"key":{"type":"string","description":"Share key granting the required role. Omit for account/agent-owned docs or published reads."},"image_data":{"type":"string","description":"Base64 image (≤ 6 MB decoded). data: URI prefixes are stripped."},"image_url":{"type":"string","description":"Same-origin asset URL (/f/...) of an uploaded image."},"content_type":{"type":"string","description":"Image MIME type for image_data: image/png, image/jpeg, image/webp, or image/gif. Default image/png."}},"required":["doc"],"additionalProperties":false},"annotations":{"origin":"https://agentsmarkdown.com"}},{"name":"agentsmarkdown.speak_text","description":"Synthesize speech on the user's own mere.run node and attach it to the document as an audio asset. Returns the asset URL and <audio> markdown. Split text over 2400 chars into multiple calls. Requires a mere.world session (Authorization: Bearer asess_...) with a running mere.run node; a share key alone is not enough.","inputSchema":{"type":"object","properties":{"doc":{"type":"string","description":"Document id, or a full share/publish URL (a ?key= in the URL is used automatically)."},"key":{"type":"string","description":"Share key granting the required role. Omit for account/agent-owned docs or published reads."},"text":{"type":"string","description":"Text to speak (max 2400 chars per call)."},"voice":{"type":"string","description":"Optional voice description, e.g. \"a calm British narrator\"."}},"required":["doc","text"],"additionalProperties":false},"annotations":{"origin":"https://agentsmarkdown.com"}},{"name":"agentsmarkdown.get_skill","description":"Fetch the full AgentsMarkdown agent guide (the /agents.md contract) as markdown.","inputSchema":{"type":"object","additionalProperties":false},"annotations":{"origin":"https://agentsmarkdown.com"}}]}