关于 MCP Document Server
这是一个通过可插拔服务搜索、检索和创建文档的 MCP 服务,供 Cursor 等 MCP 客户端使用。它支持本地 Markdown 或 HTML 文件,以及 Confluence 工作区。
主要功能
- 01语义文档搜索
- 02文档检索与创建
- 03本地 Markdown 和 HTML 存储
- 04Confluence 工作区搜索
- 05可插拔文档服务
适用场景
- 01在 Cursor 中按关键词查找文档
- 02在本地存储中创建文档
- 03搜索 Confluence 工作区
MCP 相关
该服务通过 `search` 和 `create_document` 等工具向 MCP 客户端提供文档搜索与创建能力。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Document Server
一个用于文档搜索与检索的简单服务器,实现了 Model Context Protocol(MCP)。
功能
- 使用 MCP 存储和检索文档
- 支持语义搜索
- 兼容 Cursor 和其他 MCP 客户端
- 可插拔的文档服务架构:
- 使用 JSON 进行本地文档存储
- 集成 Confluence,用于搜索工作区文档
- 支持 HTML
设置
- 安装依赖:
npm install
- 构建 TypeScript 代码:
npm run build
- 启动服务器:
npm run stdio
与 Cursor 搭配使用
此服务器专为与 Cursor 搭配使用而设计。你可以使用带有 keyword 参数的 search 工具搜索文档。
示例:
search({
keyword: "data"
})
创建文档
你可以直接通过 Cursor 创建新文档:
create_document({
title: "New Confluence Page",
content: "This is a page created in Confluence",
serviceId: "confluence"
})
文档服务
此架构基于可插拔的文档服务。每项服务都实现了用于搜索和检索文档的通用接口。
本地存储服务
本地存储服务会将文档存储在本地文件系统中:
- 文档存储在
data/documents/目录中(需要时自动创建) - 元数据存储在
data/documents.json中(需要时自动创建) - 文档内容支持 Markdown 和 HTML 格式
Confluence 服务
Confluence 服务使用 Confluence REST API 和 CQL(Confluence Query Language,Confluence 查询语言),在你的 Confluence 工作区中搜索文档,并支持强大的搜索功能。若要启用此功能,请设置以下环境变量:
# Confluence configuration
export CONFLUENCE_BASE_URL="https://your-domain.atlassian.net/wiki"
export CONFLUENCE_USERNAME="[email protected]"
export CONFLUENCE_API_TOKEN="your-api-token"
export CONFLUENCE_SPACE="your-space-key"
你可以在启动服务器之前设置这些变量:
CONFLUENCE_BASE_URL="https://your-domain.atlassian.net/wiki" \
CONFLUENCE_USERNAME="[email protected]" \
CONFLUENCE_API_TOKEN="your-api-token" \
CONFLUENCE_SPACE="your-space-key" \
npm run stdio
身份验证详情
此服务使用你的电子邮件和 API 令牌进行基本身份验证。凭据会以 Base64 编码字符串的形式放入 Authorization 标头中发送:
Authorization: Basic <base64-encoded-email:token>
管理文档
本地存储服务会在首次使用时自动创建 data/documents 目录和 data/documents.json 文件。这些文件不会包含在代码仓库中,并会按需生成。
扩展服务器
添加新的文档服务
MCP 服务在设计时充分考虑了可扩展性。你可以通过实现 DocumentService 接口,轻松添加新的文档服务:
interface DocumentService {
id: string;
getByKeywords: (keywords: string[]) => Promise<Document[]>;
createDocument?: (title: string, content: string) => Promise<Document>;
}
添加新服务的步骤:
- 在
src/services/中为你的服务创建一个新目录 - 实现
DocumentService接口 - 在
src/services/index.ts中注册你的服务
可以实现的文档服务示例:
- Google Drive:连接 Google Drive API,以存储和检索文档
- OneDrive/SharePoint:集成 Microsoft 的文档服务
- Notion:添加 Notion 工作区支持
- GitHub Wiki:连接 GitHub wiki,以获取文档
- 自定义数据库:将文档存储在 SQL 或 NoSQL 数据库中
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。