
McpDocServer

2025.03.31
45
JavaScript开发文档服务API文档检索开发效率
McpDocServer是一个基于MCP协议的开发文档服务器,专为各类开发框架文档设计。它提供文档多线程爬取、本地文档加载、关键词搜索和文档详情获取功能,旨在解决开发过程中AI工具(如Cursor)对框架API理解不准确导致的"幻觉"问题。通过提供精确的文档检索能力,显著提高开发效率和准确性。
View on GitHub
Overview
基本能力
产品定位
McpDocServer是一个专为开发框架文档设计的服务器,通过MCP协议提供文档检索服务,解决开发工具中API理解不准确的问题。
核心功能
- 文档多线程爬取:支持从各类框架官方文档站点抓取内容并转换为本地可用格式
- 本地文档加载:支持从本地JSON文件加载框架文档数据
- 关键词搜索:提供强大的文档搜索功能
- 文档详情获取:提供文档详情查询
- 自动识别可用文档源
- 支持特定文档源的定向查询
- 支持重新加载文档
适用场景
- 开发过程中需要快速准确查询框架API文档
- 解决AI工具对框架API理解不准确的问题
- 需要离线访问框架文档
- 需要自定义文档爬取和解析逻辑
MCP工具
search_docs
- 搜索文档- 参数:
query
: 搜索关键词 (字符串, 必须)source
: 文档源名称 (字符串, 可选)limit
: 最大结果数量 (数字, 可选, 默认10)
-
特殊功能:
- 当query为"reload"时,会触发重新加载文档
-
get_doc_detail
- 获取文档详情 - 参数:
id
: 文档ID (字符串, 必须)source
: 文档源名称 (字符串, 可选)
常见问题解答
- 如何解决Cursor对框架API理解不准确的问题?
- 通过McpDocServer提供精确的文档检索能力,直接从官方文档源获取最新准确的API信息
- 如何自定义爬取哪些文档内容?
- 在
config/doc-sources.js
中配置包含和排除模式,精确控制需要爬取的内容 - 如何重新加载文档?
- 通过搜索"reload"触发重新加载文档
使用教程
使用依赖
- 确保已安装Node.js和npm
- 如果本地已安装Chrome浏览器,可以设置PUPPETEER_SKIP_DOWNLOAD环境变量以避免重复下载
macOS/Linux:
export PUPPETEER_SKIP_DOWNLOAD=true
Windows (命令提示符):
set PUPPETEER_SKIP_DOWNLOAD=true
Windows (PowerShell):
$env:PUPPETEER_SKIP_DOWNLOAD = $true
安装教程
- 克隆项目
- 安装依赖
npm install
- 创建爬虫配置文件
在
config
目录中创建doc-sources.js
文件,参照文档中的格式配置 - 运行爬虫
npm run crawl
- 启动MCP服务器
npm start
调试方式
- 运行测试
npm test
- 测试会检查服务器的基本功能:
- 初始化MCP服务器
- 调用搜索工具
- 调用文档详情工具