Skip to main content

ODocs.co

co.odocs/odocsVersion 1.0.1

One link any agent can edit: shared docs for people and AI agents, live. No login.

Status

Responds302 msAnswered our handshake without sign-in.

Registry data may be out of date

We could not refresh it, so this page shows the last copy.
Last checked
Nov 14, 2026, 13:43 UTC
Latency
302 ms
Remotes responding
1 of 1
Sign-in
No sign-in
Hosting
EU hosting detected (detected, not a legal statement)
Registry data as of
Nov 14, 2026, 22:14 UTC

Data from the official MCP Registry, checked by run.zero. How we check

Connect

Streamable HTTP
https://api.odocs.co/mcpResponds302 ms
No sign-in

Claude Code

claude mcp add --transport http odocs https://api.odocs.co/mcp

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: odocs
Remote MCP server URL: https://api.odocs.co/mcp

Cursor

{
  "mcpServers": {
    "odocs": {
      "url": "https://api.odocs.co/mcp"
    }
  }
}

VS Code

code --add-mcp '{"name":"odocs","type":"http","url":"https://api.odocs.co/mcp"}'

Built your own server? run.zero hosts MCP servers on European infrastructure.

Host your own MCP server on run.zero

Tools

10 tools

Tools of ODocs.co
Read-only
Idempotent
Open world
create-commentOpens a new comment thread on specific text in an ODocs.co document, without changing the document text. Suited to review: flagging a problem, asking a question, or suggesting a change for a person to decide on. The comment is anchored to `quote` (exact text from the document, matched like replace-text; occurrence selects one match when the quote appears more than once) and is shown highlighted in the editor. Returns the new thread, including its id, as JSON, with a note (that comments are written by anyone with the link) as a second text item.NoNoNot declaredYes
create-documentCreates a new ODocs.co document from a title and optional initial content, and returns its id and shareable URL. Anyone who has the URL can read and edit the document; there is no per-person access control. Documents are temporary: a document is deleted after 7 days in which nobody, person or agent, opens or edits it. A signed-in user can save a document in the cloud from the editor, up to their account's limit; a saved document is kept until it is made temporary again. The editor offers a Markdown download. This tool only creates new documents; it does not change an existing one.NoNoNot declaredYes
get-documentReads an ODocs.co document by ID. The default result is a readable plaintext (.txt-style) view: a metadata frontmatter (id, title, version, persistent, commentCount, openCommentCount, note) followed by the body. format:"json" returns { id, title, content, version, persistent, commentCount, openCommentCount } as an object; frontmatter:false returns just the body. version is the value patch-document accepts as expectedVersion for conflict detection. openCommentCount is the number of unresolved comment threads; includeComments:true adds the threads to the result. persistent is true for a document saved in the cloud, false for a temporary one. The note (that the text is written by anyone with the link) is the frontmatter's note field in the text view; json and frontmatter:false results carry it as a second text item.NoYesNot declaredNo
get-instructionsReturns the ODocs.co integration guide as plain text: how patch positions and text anchors are matched, conflict detection with expectedVersion, document lifetime (temporary by default), error codes and rate limits. Relevant when working with an ODocs.co document link without other documentation.NoYesNot declaredNo
get-versionReturns the content of one saved version of an ODocs.co document, by its index in list-versions. The default result is a plaintext view (frontmatter: timestamp, title, note; then the content); format:"json" returns { timestamp, title, content }; frontmatter:false returns just the content. The note (that the text is written by anyone with the link) is the frontmatter's note field in the text view; json and frontmatter:false results carry it as a second text item.NoYesNot declaredNo
list-commentsReturns the comment threads people or agents left on an ODocs.co document. Each thread has an id, the quoted text it refers to, whether it is resolved, and its replies. The default result is a readable plaintext <comment> list after a frontmatter (id, commentCount, openCommentCount, note); format:"json" returns the structured array, which also carries contextBefore / contextAfter around the quote, approximateLineNumber, anchored (true when that line is where the comment is attached, false when it is only where the quote text first appears), anchorState ("attached" or "detached": the text was changed or removed; anchored and orphaned mirror it), currentText (when attached, the text the comment sits on now, which can differ from the original quote) and occurrence (with the quote as find/anchor in patch-document it matches the commented copy; null if unknown). The text tags carry the same with placement="anchor" (plus occurrence) or "text", and state="detached" for a detached thread. The note (that comments are written by anyone with the link) is the frontmatter's note field in the text view; a json result carries it as a second text item.NoYesNot declaredNo
list-versionsLists an ODocs.co document's saved versions (version history) as an array of { index, timestamp, contributors } (contributors: who edited in that version, each { label, kind }: the name shown and human or agent), or an empty array when no version has been saved yet. The content of a version is returned by get-version for its index.NoYesNot declaredNo
patch-documentApplies one or more edit operations, in order, to an existing ODocs.co document; people who have it open see each edit in real time. Returns { id, version, ok }, plus a warning when the author name was changed. Two kinds of operation: text-anchored (insert-after / insert-before / replace-text / delete-text), where the server finds the given exact text and resolves it to a position, so no character offsets are needed; and position-based (insert / delete / replace) at an exact character offset. expectedVersion enables conflict detection: if the document changed since that version, the patch is refused with 409 and nothing is applied. Operations are not atomic: they apply one at a time to the live document and are not rolled back. When one fails, the operations before it stay applied (and visible), and the 400 body reports appliedOps: N, the number applied; sending the whole batch again applies those a second time. On an anchor failure the body can also carry nearestMatchOffset and nearestMatchSnippet; they appear only when the anchor matches the document except for whitespace (usually a different newline count), so their absence means the text is not in the document. Anchor matching is exact. LINE BREAKS: each "\n" is a paragraph break, except inside a code block (an insert strictly inside one, or a replace within one, stays in it; at its very start / end a "\n" is a paragraph break). A delete or replace across one JOINS the paragraphs (the first keeps its formatting, except that a range starting at a line start keeps the later line's paragraph); a replace with as many lines as it spans rewrites each line in place, and deleting a whole line with its "\n" joins nothing; identical whole lines at the start / end of find and replace are left out ("2\naf" → "2\nA\nB\naf" only inserts "A\nB\n"). After a join the document can differ from what a position computed before it assumed: list items after a plain paragraph can't join it (one "\n" stays), and a code block's lines joiYesNoNot declaredYes
reply-to-commentAdds a reply to an existing comment thread on an ODocs.co document, e.g. a note that the feedback was addressed. It does not open, resolve or re-open a thread. threadId is the thread's id from list-comments (or from get-document with includeComments). Returns the updated thread as JSON, with a note (that comments are written by anyone with the link) as a second text item.NoNoNot declaredYes
resolve-commentMarks a comment thread on an ODocs.co document resolved, or re-opens it with resolved:false. Resolved threads are not counted in openCommentCount. The optional note is recorded as a reply before the thread closes, so people can see what was done. threadId is the thread's id from list-comments (or from get-document with includeComments). Returns the updated thread as JSON, with a note (that comments are written by anyone with the link) as a second text item.NoNoNot declaredYes

Details

Registry status
Active
Published
Nov 13, 2026
Updated
Nov 13, 2026
Repository
Not given
Categories (suggested)
DocumentsKnowledge and notesSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
GDPR
Not declared

Are you the operator? Claim this listing