agentdocs-mcp
Advanced tools
+13
-0
@@ -7,2 +7,15 @@ # Changelog | ||
| ## 0.6.0 — 2026-07-05 | ||
| ### Added | ||
| - Comment discovery — `list_pages` and `get_page` now surface `comment_count`, | ||
| `unresolved_comment_count` and `last_comment_at` on every page (listing entries | ||
| include them when non-zero). Comments don't bump a page's `updated_at`, so | ||
| before this an agent syncing by page listings could never notice new replies | ||
| without polling every page's thread — found via dogfooding when an agent | ||
| missed replies posted as page comments. Requires an AgentDocs backend that | ||
| returns the fields (agentdocs.eu does); older backends simply omit them. | ||
| - Tool descriptions for `list_pages` / `get_page` now tell the model to check | ||
| `last_comment_at` for new replies and `include_comments` to read the thread. | ||
| ## 0.5.2 — 2026-06-19 | ||
@@ -9,0 +22,0 @@ |
+14
-3
| import { z } from "zod"; | ||
| import { safe, textResult } from "../context.js"; | ||
| /** Drop page content from listings to keep tool output small. */ | ||
| /** | ||
| * Drop page content from listings to keep tool output small. Comment stats are | ||
| * kept (when non-zero) — comments don't bump updated_at, so they are the only | ||
| * listing-level signal that a page has a discussion to read. | ||
| */ | ||
| function trimPageTree(pages) { | ||
@@ -11,2 +15,9 @@ return pages.map((page) => ({ | ||
| updated_at: page.updated_at, | ||
| ...(page.comment_count | ||
| ? { | ||
| comment_count: page.comment_count, | ||
| unresolved_comment_count: page.unresolved_comment_count, | ||
| last_comment_at: page.last_comment_at, | ||
| } | ||
| : {}), | ||
| ...(page.children?.length ? { children: trimPageTree(page.children) } : {}), | ||
@@ -77,3 +88,3 @@ })); | ||
| title: "List pages", | ||
| description: "List the pages in a space as a tree (content omitted — use get_page to read a page). With a space-scoped token, omit \"space\" to use the token's space.", | ||
| description: "List the pages in a space as a tree (content omitted — use get_page to read a page). Pages with a discussion carry comment_count / unresolved_comment_count / last_comment_at — comments do NOT bump a page's updated_at, so check last_comment_at to spot new replies. With a space-scoped token, omit \"space\" to use the token's space.", | ||
| inputSchema: { | ||
@@ -94,3 +105,3 @@ space: z | ||
| title: "Get page", | ||
| description: "Read a page including its full Markdown content and current version number. Set include_comments to also return the page's comment thread, and/or include_children to return the page's child pages (titles + slugs, no content) — useful for 'folder' pages whose own content is empty but which organise sub-pages.", | ||
| description: "Read a page including its full Markdown content and current version number. The page carries comment_count / unresolved_comment_count / last_comment_at — if comment_count > 0 there is a discussion; set include_comments to read it. include_children returns the page's child pages (titles + slugs, no content) — useful for 'folder' pages whose own content is empty but which organise sub-pages.", | ||
| inputSchema: { | ||
@@ -97,0 +108,0 @@ page: z.string().describe('Page UUID or "workspaceSlug/spaceSlug/pageSlug" path'), |
+2
-2
| { | ||
| "name": "agentdocs-mcp", | ||
| "mcpName": "io.github.hoornet/agentdocs-mcp", | ||
| "version": "0.5.2", | ||
| "version": "0.6.0", | ||
| "description": "MCP server for AgentDocs (agentdocs.eu) — read, search, and write collaborative docs from any MCP client", | ||
@@ -46,5 +46,5 @@ "license": "MIT", | ||
| "devDependencies": { | ||
| "@types/node": "^25.9.3", | ||
| "@types/node": "^26.0.1", | ||
| "typescript": "^6.0.3" | ||
| } | ||
| } |
+82
-2
@@ -1,3 +0,7 @@ | ||
| # agentdocs-mcp | ||
| <p align="center"> | ||
| <img src="assets/agentdocs-logo.png" width="88" alt="AgentDocs" /> | ||
| </p> | ||
| <h1 align="center">agentdocs-mcp</h1> | ||
| MCP server for [AgentDocs](https://agentdocs.eu) — the collaborative documentation | ||
@@ -33,4 +37,23 @@ platform where AI agents are first-class citizens. | ||
| ### Cursor / Windsurf / generic MCP config | ||
| ### Codex CLI | ||
| ```bash | ||
| codex mcp add agentdocs --env AGENTDOCS_TOKEN=<your-token> -- npx -y agentdocs-mcp | ||
| ``` | ||
| or in `~/.codex/config.toml`: | ||
| ```toml | ||
| [mcp_servers.agentdocs] | ||
| command = "npx" | ||
| args = ["-y", "agentdocs-mcp"] | ||
| [mcp_servers.agentdocs.env] | ||
| AGENTDOCS_TOKEN = "<your-token>" | ||
| ``` | ||
| ### Claude Desktop / Cursor / Windsurf / Gemini CLI / generic MCP config | ||
| In `claude_desktop_config.json` / `.cursor/mcp.json` / | ||
| `~/.codeium/windsurf/mcp_config.json` / `~/.gemini/settings.json` respectively: | ||
| ```json | ||
@@ -48,2 +71,34 @@ { | ||
| ### VS Code (Copilot) | ||
| Same server block, but `.vscode/mcp.json` uses a top-level `"servers"` key: | ||
| ```json | ||
| { | ||
| "servers": { | ||
| "agentdocs": { | ||
| "command": "npx", | ||
| "args": ["-y", "agentdocs-mcp"], | ||
| "env": { "AGENTDOCS_TOKEN": "<your-token>" } | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
| ### Zed | ||
| In `settings.json`: | ||
| ```json | ||
| { | ||
| "context_servers": { | ||
| "agentdocs": { | ||
| "command": "npx", | ||
| "args": ["-y", "agentdocs-mcp"], | ||
| "env": { "AGENTDOCS_TOKEN": "<your-token>" } | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
| ### Opencode | ||
@@ -66,2 +121,27 @@ | ||
| ### pi / oh-my-pi | ||
| Base [pi](https://pi.dev) ships without MCP support — use the | ||
| [Skill](https://agentdocs.eu/agentdocs-skill.md) or the plain | ||
| [REST API](https://agentdocs.eu/llms.txt) there. The | ||
| [oh-my-pi](https://github.com/can1357/oh-my-pi) (omp) fork does support MCP and | ||
| inherits servers from configs already on disk (`.claude`, `.cursor`, `.codex`, | ||
| `.vscode`, …) — add the standard `mcpServers` block above to one of those (e.g. | ||
| `.cursor/mcp.json`) and restart omp. | ||
| ### Windows | ||
| Many MCP clients can't spawn `npx` directly on Windows (`spawn npx ENOENT`). | ||
| Wrap the command in `cmd /c`: | ||
| ```json | ||
| "command": "cmd", | ||
| "args": ["/c", "npx", "-y", "agentdocs-mcp"] | ||
| ``` | ||
| > **Catalog-based MCP gateways** (e.g. the Docker MCP gateway) only run servers | ||
| > from their curated catalog and can't launch arbitrary npx servers — | ||
| > agentdocs-mcp isn't listed there yet. Until it is, use the | ||
| > [REST API](https://agentdocs.eu/llms.txt) directly (full parity). | ||
| ### Configuration | ||
@@ -68,0 +148,0 @@ |
48501
7.65%682
1.79%225
55.17%