文档管理器MCP
MCP(模型上下文协议)服务器,用于将产品文档作为标记文件进行管理。从Cursor、Claude Desktop或任何MCP客户端使用它来创建、读取、更新、删除和搜索文档。
文档类型
所有文件都存储为 标记语言 在可配置的项目根目录下,分为以下类别:
| 类型 | 文件夹 | 用于 |
|---|---|---|
feature-specs | docs/feature-specs/ | 功能规格 |
jtbd | docs/jtbd/ | 待完成的工作 |
user-stories | docs/user-stories/ | 用户故事 |
api | docs/api/ | API文件 |
特殊文件 docs/product-vision-and-strategy.md 把握产品愿景和战略。使用 product_vision_and_strategy 如果它不存在,则使用工具查看并创建它(使用默认模板)。
项目标识(多个MCP)
当你奔跑时 若干 文档管理器MCP(例如每个项目一个),设置 项目名称 因此,您可以在Cursor中将它们区分开来:
- 环境变量:
DOCS_PROJECT_NAME--此项目的短标签(例如。my-app,backend-api). - 然后,服务器在Cursor中显示为 “文档管理器(我的应用程序)” 而不仅仅是“文档管理器”。
两个项目的示例:
{
"mcpServers": {
"document-manager-my-app": {
"command": "npx",
"args": ["document-manager-mcp"],
"env": {
"DOCS_PROJECT_ROOT": "/path/to/my-app",
"DOCS_PROJECT_NAME": "my-app"
}
},
"document-manager-backend": {
"command": "npx",
"args": ["document-manager-mcp"],
"env": {
"DOCS_PROJECT_ROOT": "/path/to/backend",
"DOCS_PROJECT_NAME": "backend-api"
}
}
}
}您将看到两个MCP: 文档管理器(我的应用程序) 和 文档管理器(后端api).
项目根目录
设置 项目根目录 因此MCP知道在哪里读/写文件:
- 环境变量:
DOCS_PROJECT_ROOT(绝对或相对路径)。 - 如果未设置,服务器启动时将使用当前工作目录。
示例:如果 DOCS_PROJECT_ROOT=/Users/you/my-product那么:
- 功能规格已输入
/Users/you/my-product/docs/feature-specs/ - API文档进入
/Users/you/my-product/docs/api/等等。
MCP工具
| 工具 | 说明 |
|---|---|
list_docs | 列出所有文档,可选择按类型筛选。 |
read_doc | 通过以下方式阅读文档 docType 和 slug (文件名)。 |
write_doc | 创建或覆盖文档(标记内容)。 |
create_doc | 创建新文档;如果它已经存在,则失败。 |
delete_doc | 按类型和slug删除文档。 |
search_docs | 按文本搜索。随着 DOCS_EMBEDDING_PROVIDER=local,使用语义搜索(按含义);否则进行关键字搜索。可选类型过滤器、模式、限制。 |
product_vision_and_strategy | 查看产品愿景和战略文档;创造 docs/product-vision-and-strategy.md 如果不存在,则使用默认模板。 |
MCP资源
文档公开为 资源 使用URI:
- 图案:
doc://{docType}/{slug} - 示例:
doc://feature-specs/auth-spec.md,doc://api/users-endpoint.md - 产品愿景和战略:
doc://product-vision-and-strategy(单个资源;使用product_vision_and_strategy工具(如果需要)。
客户端可以像文件一样列出和读取这些资源(例如在Cursor的MCP资源UI中)。
使用npx运行(推荐)
无需安装。使用 新巴拿马型船舶 因此,该包是按需运行的:
npx document-manager-mcp对于环境变量:
DOCS_PROJECT_ROOT=/path/to/your/project DOCS_PROJECT_NAME=my-project npx document-manager-mcp在Cursor(或其他MCP客户端)中,将服务器配置为通过npx运行:
{
"mcpServers": {
"document-manager": {
"command": "npx",
"args": ["document-manager-mcp"],
"env": {
"DOCS_PROJECT_ROOT": "/ABSOLUTE/PATH/TO/YOUR/PROJECT",
"DOCS_PROJECT_NAME": "your-project"
}
}
}
}替换 /ABSOLUTE/PATH/TO/YOUR/PROJECT 该文件夹应包含 docs/ 树。 DOCS_PROJECT_NAME 是可选的;在运行多个Document Manager MCP时使用它,以便将它们区分开来。
语义搜索(局部嵌入)
按以下方式搜索 意义 (例如,“登录”匹配“身份验证”、“登录”),而不是仅使用精确的文本,使用本地嵌入模型。不需要API密钥。
在MCP服务器中设置 env:
DOCS_EMBEDDING_PROVIDER=local--使用启用语义搜索 Transformers.js 以及默认模型Xenova/all-MiniLM-L6-v2(首次使用时下载,然后缓存)。DOCS_EMBEDDING_MODEL(可选)-另一个用于特征提取的拥抱脸模型ID(例如。Xenova/all-mpnet-base-v2以获得更高质量、更大下载量)。
例子:
{
"mcpServers": {
"document-manager": {
"command": "npx",
"args": ["document-manager-mcp"],
"env": {
"DOCS_PROJECT_ROOT": "/path/to/your/project",
"DOCS_PROJECT_NAME": "my-project",
"DOCS_EMBEDDING_PROVIDER": "local"
}
}
}
}第一次语义搜索将在以下条件下构建一个索引 .document-manager/embedding-index.json;稍后的搜索会重复使用它,直到文档发生更改。你可以通过 mode: "keyword" 到 search_docs 强制进行精确的文本搜索,或 mode: "semantic" 当启用本地嵌入时。
光标设置
- 配置光标\
在光标中: 设置→ MCP (或编辑您的MCP配置文件)。使用添加服务器条目 新巴拿马型船舶 并通过以下方式设置项目根 env:
{
"mcpServers": {
"document-manager": {
"command": "npx",
"args": ["document-manager-mcp"],
"env": {
"DOCS_PROJECT_ROOT": "/ABSOLUTE/PATH/TO/YOUR/PROJECT",
"DOCS_PROJECT_NAME": "your-project"
}
}
}
}替换 /ABSOLUTE/PATH/TO/YOUR/PROJECT 该文件夹应包含 docs/ 树(功能规格、jtbd、用户故事、api)。使用 DOCS_PROJECT_NAME 当您有多个Document Manager MCP(可选)时,将其作为短标签。
- 重新启动游标 (或重新加载MCP),以便它拿起服务器。
从源代码运行
如果你开发或分叉了这个仓库,并想在没有npx的情况下运行构建的服务器:
git clone https://github.com/rfbatista/document-manager-mcp.git
cd document-manager-mcp
npm install
npm run build然后在MCP配置中使用 "command": "node" 和 "args": ["/ABSOLUTE/PATH/TO/document-manager-mcp/build/index.js"].
Claude桌面设置
将服务器添加到 claude_desktop_config.json 并用npx运行它:
{
"mcpServers": {
"document-manager": {
"command": "npx",
"args": ["document-manager-mcp"],
"env": {
"DOCS_PROJECT_ROOT": "/ABSOLUTE/PATH/TO/YOUR/PROJECT",
"DOCS_PROJECT_NAME": "your-project"
}
}
}
}发展
npm install
npm run build # build once
npm run start # run built server (stdio)使用 标准错误 原木;stdout用于MCP JSON-RPC。
许可证
麻省理工学院
