Skip to main content
Glama

docmost-mcp

一个 MCP 服务器,通过常规 REST API 为 AI 代理提供对自托管 Docmost wiki 的读写访问权限。

为什么存在

Docmost 自带 MCP 端点,但受付费许可证限制——设置界面在 API 管理处显示 “需付费许可证”,并且在社区版上 /api/mcp 返回 404。生成 API 密钥也受到同样的限制。

不过,社区版的普通 REST API 是完全开放的。本服务器只是它的一个轻量封装:操作相同,只是用会话认证代替 API 密钥。

Related MCP server: MediaWiki MCP Server

要求

  • Python 3.11+

  • 一个可通过 HTTP(S) 访问的 Docmost 实例

  • 为代理准备一个专用的 Docmost 用户账户

安装

git clone https://github.com/<you>/docmost-mcp.git
cd docmost-mcp
python3 -m venv venv
./venv/bin/pip install -r requirements.txt

配置

复制示例配置并填写:

cp config.example.json config.json
chmod 600 config.json
{
  "url": "https://docmost.example.com",
  "api_key": "",
  "email": "agent@example.com",
  "password": "..."
}

支持两种认证模式:

模式

适用场景

api_key

如果你持有 Docmost 企业版许可证。以 Bearer token 形式发送。

email + password

社区版。服务器会登录,并在会话过期时自动重新认证。

如果设置了 api_key,则优先使用;否则使用凭据。

可以通过 DOCMOST_MCP_CONFIG 环境变量覆盖配置路径。

创建专用账户

不要使用工作区所有者的凭据。邀请一个单独的用户(设置 → 成员 → 邀请),并仅授予其代理所需空间的访问权限。Docmost 中的空间访问权限通常继承自默认的 Everyone(所有人)组,因此在假设代理受到限制之前,请先检查该组可以访问哪些内容。

如果你不想创建第二个邮箱,Gmail 风格的加号地址(you+agent@gmail.com)也可以使用。

验证

selftest.py 会测试整个链路——登录、读取、写入、回读、删除:

./venv/bin/python selftest.py

连接代理

服务器通过 stdio 使用 MCP 协议通信。

Claude Code

claude mcp add docmost -- /path/to/docmost-mcp/venv/bin/python /path/to/docmost-mcp/server.py

或者手动将其添加到 ~/.claude.json

{
  "mcpServers": {
    "docmost": {
      "type": "stdio",
      "command": "/path/to/docmost-mcp/venv/bin/python",
      "args": ["/path/to/docmost-mcp/server.py"],
      "env": {}
    }
  }
}

之后重启 Claude Code——配置在启动时读取。

Claude Desktop

将同样的配置块添加到 claude_desktop_config.json

  • macOS:~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows:%APPDATA%\Claude\claude_desktop_config.json

Cursor

使用相同的 mcpServers 结构,将其添加到项目中的 .cursor/mcp.json,或全局的 ~/.cursor/mcp.json

任何其他 MCP 客户端

使用虚拟环境的 Python 启动 server.py,并通过 stdin 和 stdout 进行 JSON-RPC 通信。一个最小握手示例:

{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"probe","version":"1"}}}
{"jsonrpc":"2.0","method":"notifications/initialized"}
{"jsonrpc":"2.0","id":2,"method":"tools/list"}

一个便捷包装器可以缩短命令:

#!/bin/sh
exec /path/to/docmost-mcp/venv/bin/python /path/to/docmost-mcp/server.py "$@"

工具

工具

参数

作用

list_spaces

limit

列出工作区空间

search

query, space_id?, limit

跨页面全文搜索

get_page

page_id

按 id 或 slugId 获取页面

recent_pages

space_id?, limit

最近更改的页面

create_page

space_id, title, content?, parent_page_id?, fmt

创建页面

update_page

page_id, title?, content?, fmt

更新标题和/或正文

move_page

page_id, parent_page_id?

重新设置页面的父级

delete_page

page_id, permanently

将页面移入回收站(或永久删除)

fmtmarkdown(默认)、htmljson

关于 Docmost API 的说明

如果你扩展此服务器,以下几点值得了解:

  • 每个端点都是 POST,包括读取操作。

  • /pages/create/pages/update 要求包含 format 字段(json | markdown | html)。省略该字段会返回 400

  • 响应将负载包装在 {"data": ...} 中;客户端会将其解包。

  • 在社区版上,/api/api-keys 返回 200 和一个空列表——列出密钥是开放的,只有密钥创建受许可证限制。

  • 端点路径和负载结构取自 Docmost 客户端源码(apps/client/src/features/*/services/*.ts),并非猜测。

安全

  • config.json 包含明文密码。请将其权限设为 600,并排除在版本控制之外——它已在 .gitignore 中。

  • 为代理账户授予能完成工作所需的最小空间访问权限。

  • 该账户的操作会以它自己的名义显示在 Docmost 中,因此页面历史记录始终可追溯。

兼容性

基于 Docmost 0.95.0 和 Python MCP SDK 2.0 构建。请注意,SDK 2.0 将 FastMCP 重命名为 MCPServer,并将其移至 mcp.server;2.0 之前的导入路径 mcp.server.fastmcp 将无法使用。

许可证

MIT — 参见 LICENSE

本项目与 Docmost 无关联。

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables AI models to interact with BookStack wiki instances through a comprehensive API interface. Supports content management (books, chapters, pages), user administration, search functionality, and content export in multiple formats.
    41
    12
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables LLM clients to interact with any MediaWiki wiki, supporting page creation/editing, search, file uploads, category browsing, and page history retrieval. Supports multiple wikis with OAuth2 or bot password authentication for both public and private wikis.
    910
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides AI assistants with direct access to self-hosted Docmost documentation through tools for listing spaces, searching content, and retrieving pages in Markdown format. It facilitates seamless documentation lookup and content retrieval within MCP-compatible clients.
    4
    MIT

View all related MCP servers

Related MCP Connectors

  • Persistent docs and memory for AI agents — read, write, organize & search a shared workspace.

  • Self-hostable team wiki; agents read & write it via MCP; Atlas turns your repo into a cited wiki.

  • AgentDocs (agentdocs.eu) MCP: read, search, write, comment, share & attach images to Markdown docs.

View all MCP Connectors

Latest Blog Posts

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/NeerdOnerT/docmost-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server