MCP server for self-hosted Docmost (Community Edition) — read & write your wiki from Claude, Cursor & VS Code
@wisflux/docmost-local-mcp
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
MCP server for Docmost that is built for self-hosted instances, especially deployments that do not have an enterprise license but still want reliable MCP access from local IDEs and AI tools.
The package is launched with npx, while the actual server is a Rust binary downloaded from GitHub Releases during install. That binary handles stdio MCP traffic, local authentication UX, session storage, and Docmost API access.
> The main reason this project exists: bring MCP access to self-hosted Docmost setups without making an enterprise license a prerequisite.
Why This Project
Many MCP integrations are designed around hosted or enterprise assumptions. This project is intentionally optimized for self-hosted Docmost:
- Works against your own Docmost base URL
- Uses Docmost email/password authentication
- Stores session state locally for reuse
- Opens a local auth flow instead of requiring a separate hosted control plane
- Ships as a simple npx entrypoint for easy IDE integration
If you run your own Docmost and want it available inside Cursor, Claude Desktop, or another MCP client, this package is the straightforward path.
Highlights
- Strong fit for self-hosted Docmost instances without enterprise licensing
- Rust server core with a small Node launcher for predictable local installs
- Native auth window on supported platforms, with browser fallback
- Explicit Docmost instance selection via startup config
- Session reuse with JWT expiry checks and automatic re-login
- OS keychain credential storage on supported platforms
- Clean tool surface for spaces, pages, comments, members, and current user context
Available Tools
- list_spaces: list available Docmost spaces
- get_space: fetch details for a specific space
- search_docs: search documentation, optionally scoped to a space
- search_pages: backward-compatible alias for search_docs
- get_page: fetch a page and return its content as Markdown
- list_pages: list recent pages in a space
- list_child_pages: list child pages for a parent page ID
- get_comments: list comments for a page
- list_workspace_members: list workspace members
- get_current_user: fetch the authenticated user and workspace context
- create_page: create a new page in a space from Markdown content
- update_page: update an existing page's title and/or Markdown content
- duplicate_page: duplicate a page (and its sub-pages) within its space
- copy_page_to_space: copy a page (and its sub-pages) into a different space
- move_page: move a page under a new parent page, or to the space root
- move_page_to_space: move a page (and its sub-pages) to a different space
- create_space: create a new space with a name and URL slug
- update_space: update a space's name, slug, and/or description
- create_comment: add a page-level comment to a page from Markdown
- update_comment: replace an existing comment's body with new Markdown
Roadmap
All planned read and write tools are now implemented. create_comment adds
page-level comments; comments anchored to a specific text selection (inline
comments) require the collaborative editor's cursor positions and are out of
scope for this REST-based server.
Compatibility
Targets Docmost from roughly the last year of releases (**v0.22+**); older
servers work best-effort. The server detects the Docmost version (via
POST /api/version) once per session and adapts where behaviour differs:
- **Page body edits:** update_page can only change an existing page's **body**
on Docmost **v0.70.0+**. On older servers the body lives in the collaborative
editor and a REST body update is ignored — update_page says so explicitly and
suggests create_page (which persists bodies on every version via the import
endpoint). Title updates work everywhere.