关于 mcp-docs-server
mcp-docs-server 是面向开发者和 MCP 使用者的本地 MCP 服务,用于搜索协议文档。它通过 BM25 排序结果,并可按 URL 获取完整文档。
主要功能
- 01按 BM25 排序搜索文档
- 02按 URL 获取完整文档
- 03针对 Markdown 优化相关性评分
- 04通过 stdio 本地进程传输
适用场景
- 01开发时查找 MCP 协议细节
- 02获取已知文档页面的完整内容
MCP 相关
该 MCP 服务通过 stdio 向客户端提供 `search_mcp_docs` 和 `fetch_mcp_doc` 工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
2收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| k | number | 否 | 要返回的最大结果数 |
| query | string | 是 | 搜索查询字符串(例如,'tool input schema'、'stdio transport') |
详细介绍
MCP Docs Server
用于搜索 MCP 协议文档的 Model Context Protocol(MCP)服务。使用官方 MCP SDK 和 TypeScript 构建。
功能
- BM25 搜索 - 使用带 Porter 词干提取的 BM25 算法进行高质量排序搜索
- 快速启动 - 启动时为文档标题建立索引,按需获取内容
- 支持 Markdown - 对标题、代码块和链接加权,提高相关性
- stdio 传输 - 作为本地进程运行,便于集成
安装
快速开始(推荐)
添加到 MCP 客户端配置中(Claude Desktop、Kiro 等):
{
"mcpServers": {
"mcp-docs-server": {
"command": "npx",
"args": ["-y", "@praveenc/mcp-docs-server"]
}
}
}
完成!服务将自动下载并运行。
全局安装
npm install -g @praveenc/mcp-docs-server
然后配置 MCP 客户端:
{
"mcpServers": {
"mcp-docs-server": {
"command": "mcp-docs-server"
}
}
}
工具
search_mcp_docs
搜索 MCP 协议文档并返回排序后的结果。
参数:
query(string,必填):搜索查询字符串k(number,可选):要返回的最大结果数(默认值:5)。匹配文档较少时,返回的结果也会较少。
示例:
{
"query": "transports",
"k": 5
}
返回值:
[
{
"url": "https://modelcontextprotocol.io/specification/2025-11-25/basic/transports.md",
"title": "Transports",
"score": 15.725,
"snippet": "MCP uses JSON-RPC to encode messages..."
}
]
fetch_mcp_doc
通过 URL 获取完整文档内容。
参数:
uri(string,必填):来自 modelcontextprotocol.io 的文档 URL
示例:
{
"uri": "https://modelcontextprotocol.io/specification/2025-11-25/server/tools.md"
}
返回值:
{
"url": "https://modelcontextprotocol.io/specification/2025-11-25/server/tools.md",
"title": "Tools",
"content": "# Tools\n\nTools enable servers to expose executable functionality..."
}
使用 MCP Inspector 进行测试
npx @modelcontextprotocol/inspector npx -y @praveenc/mcp-docs-server
开发
克隆代码仓库以进行本地开发:
git clone https://github.com/praveenc/mcp-docs-server.git
cd mcp-docs-server
npm install
命令
# Run in development mode
npm run dev
# Run tests
npm test
# Type check
npm run typecheck
# Build
npm run build
# Test with MCP Inspector (development)
npm run inspect:dev
本地 MCP 客户端配置(开发环境)
{
"mcpServers": {
"mcp-docs-server": {
"command": "npx",
"args": ["tsx", "/path/to/mcp-docs-server/src/index.ts"]
}
}
}
架构
src/
├── index.ts # MCP server entry point
├── config.ts # Configuration
├── tools/
│ └── docs.ts # search_mcp_docs, fetch_mcp_doc
└── utils/
├── cache.ts # Document caching
├── doc-fetcher.ts # HTTP fetching & HTML parsing
├── indexer.ts # BM25 search index
├── logger.ts # Logging utilities
├── stopwords.ts # Stop words list
├── text-processor.ts # Text utilities
└── url-validator.ts # URL validation
搜索算法
搜索使用 BM25(Best Matching 25),并进行了以下增强:
- Porter 词干提取 - 匹配单词变体(例如,“running” → “run”)
- 双词组 - 捕获短语匹配(例如,“tool input”)
- 加权评分:
- 标题匹配:提升 3-8 倍
- 标题匹配:权重为 4 倍
- 代码块:权重为 2 倍
- 链接文本:权重为 2 倍
- 保留领域术语 - “mcp”“json”“stdio”等技术术语不会进行词干提取
许可证
MIT
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。