mcpField
M
mcp-docs-server

mcp-docs-server

本地服务
github.com/praveenc开发工具244 周前更新

关于 mcp-docs-server

mcp-docs-server 是面向开发者和 MCP 使用者的本地 MCP 服务,用于搜索协议文档。它通过 BM25 排序结果,并可按 URL 获取完整文档。

主要功能

  1. 01按 BM25 排序搜索文档
  2. 02按 URL 获取完整文档
  3. 03针对 Markdown 优化相关性评分
  4. 04通过 stdio 本地进程传输

适用场景

  1. 01开发时查找 MCP 协议细节
  2. 02获取已知文档页面的完整内容

MCP 相关

该 MCP 服务通过 stdio 向客户端提供 `search_mcp_docs` 和 `fetch_mcp_doc` 工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"praveenc-mcp-docs-server": {
"command": "npx",
"args": [
"-y",
"@praveenc/mcp-docs-server"
]
}
}
}
启动命令npx -y @praveenc/mcp-docs-server

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@praveenc/mcp-docs-server0.1.0

工具

2

收录的工具列表 · 更新于 2 周前

参数类型必填说明
knumber否要返回的最大结果数
querystring是搜索查询字符串(例如,'tool input schema'、'stdio transport')

详细介绍

MCP Docs Server

用于搜索 MCP 协议文档的 Model Context Protocol(MCP)服务。使用官方 MCP SDK 和 TypeScript 构建。

npm version MCP Registry

功能

  • 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

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。