McpDocServer

McpDocServer

site icon
2025.03.31 45
JavaScript开发文档服务API文档检索开发效率
McpDocServer是一个基于MCP协议的开发文档服务器,专为各类开发框架文档设计。它提供文档多线程爬取、本地文档加载、关键词搜索和文档详情获取功能,旨在解决开发过程中AI工具(如Cursor)对框架API理解不准确导致的"幻觉"问题。通过提供精确的文档检索能力,显著提高开发效率和准确性。
View on GitHub

Overview

基本能力

产品定位

McpDocServer是一个专为开发框架文档设计的服务器,通过MCP协议提供文档检索服务,解决开发工具中API理解不准确的问题。

核心功能

  • 文档多线程爬取:支持从各类框架官方文档站点抓取内容并转换为本地可用格式
  • 本地文档加载:支持从本地JSON文件加载框架文档数据
  • 关键词搜索:提供强大的文档搜索功能
  • 文档详情获取:提供文档详情查询
  • 自动识别可用文档源
  • 支持特定文档源的定向查询
  • 支持重新加载文档

适用场景

  • 开发过程中需要快速准确查询框架API文档
  • 解决AI工具对框架API理解不准确的问题
  • 需要离线访问框架文档
  • 需要自定义文档爬取和解析逻辑

MCP工具

  1. search_docs - 搜索文档
  2. 参数:
    • query: 搜索关键词 (字符串, 必须)
    • source: 文档源名称 (字符串, 可选)
    • limit: 最大结果数量 (数字, 可选, 默认10)
  3. 特殊功能:

    • 当query为"reload"时,会触发重新加载文档
  4. get_doc_detail - 获取文档详情

  5. 参数:
    • id: 文档ID (字符串, 必须)
    • source: 文档源名称 (字符串, 可选)

常见问题解答

  • 如何解决Cursor对框架API理解不准确的问题?
  • 通过McpDocServer提供精确的文档检索能力,直接从官方文档源获取最新准确的API信息
  • 如何自定义爬取哪些文档内容?
  • config/doc-sources.js中配置包含和排除模式,精确控制需要爬取的内容
  • 如何重新加载文档?
  • 通过搜索"reload"触发重新加载文档

使用教程

使用依赖

  1. 确保已安装Node.js和npm
  2. 如果本地已安装Chrome浏览器,可以设置PUPPETEER_SKIP_DOWNLOAD环境变量以避免重复下载

macOS/Linux:

export PUPPETEER_SKIP_DOWNLOAD=true

Windows (命令提示符):

set PUPPETEER_SKIP_DOWNLOAD=true

Windows (PowerShell):

$env:PUPPETEER_SKIP_DOWNLOAD = $true

安装教程

  1. 克隆项目
  2. 安装依赖
npm install
  1. 创建爬虫配置文件 在config目录中创建doc-sources.js文件,参照文档中的格式配置
  2. 运行爬虫
npm run crawl
  1. 启动MCP服务器
npm start

调试方式

  1. 运行测试
npm test
  1. 测试会检查服务器的基本功能:
  2. 初始化MCP服务器
  3. 调用搜索工具
  4. 调用文档详情工具

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。