docs-mcp-server MCP Server

docs-mcp-server MCP Server

site icon
2025.04.18 24
TypeScript文档管理开发工具开发效率
docs-mcp-server 是一个基于 Model Context Protocol (MCP) 的服务器,专门用于抓取、处理和搜索第三方软件库和包的文档。它通过从指定URL抓取内容,使用语义分割技术将其分割成有意义的块,利用OpenAI生成向量嵌入,并将数据存储在SQLite数据库中。服务器结合了 `sqlite-vec` 的高效向量相似性搜索和 FTS5 的全文搜索能力,提供混合搜索结果。支持版本管理,允许存储和查询不同版本的文档(包括无版本内容)。
View on GitHub

Overview

基本能力

产品定位

docs-mcp-server 是一个专门用于文档抓取、处理和搜索的 MCP 服务器,旨在为开发者提供高效的第三方库文档搜索和管理能力。

核心功能

  1. 文档抓取与处理
  2. 从指定URL抓取文档内容
  3. 使用语义分割技术将文档分割成有意义的块
  4. 利用OpenAI生成向量嵌入
  5. 支持版本管理(包括无版本内容)

  6. 搜索能力

  7. 结合向量相似性搜索和全文搜索的混合搜索
  8. 支持按版本过滤搜索结果
  9. 支持精确匹配和范围匹配

  10. 任务管理

  11. 异步任务队列管理抓取作业
  12. 支持作业状态查询、列表查看和取消

  13. 文档管理

  14. 支持文档的添加、搜索、版本查找和删除
  15. 支持无版本文档管理

适用场景

  1. 开发者需要快速查找第三方库文档
  2. 团队需要维护多个版本的文档索引
  3. 需要将文档搜索功能集成到开发工具中
  4. 需要自动化文档更新和维护

工具列表

  1. scrape_docs:启动文档抓取作业
  2. get_job_status:查询作业状态
  3. list_jobs:列出活动/已完成作业
  4. cancel_job:取消运行中或排队的作业
  5. search_docs:搜索文档
  6. list_libraries:列出已索引的库
  7. find_version:查找合适的版本
  8. remove_docs:删除索引文档

常见问题解答

  1. 版本处理
  2. 抓取时需要特定版本或留空(无版本)
  3. 搜索时支持特定版本、部分版本或范围
  4. 可以显式搜索无版本文档

  5. 调试

  6. 建议使用 MCP Inspector 进行调试
  7. 可通过 npx @modelcontextprotocol/inspector node dist/server.js 启动

使用教程

使用依赖

  1. 安装 Node.js
  2. 克隆仓库: bash git clone <repository-url> cd docs-mcp-server

安装教程

  1. 安装依赖: bash npm install
  2. 构建服务器: bash npm run build
  3. 设置环境变量(创建.env文件): bash cp .env.example .env 并编辑.env文件设置OPENAI_API_KEY

Docker运行

  1. 构建Docker镜像: bash docker build -t docs-mcp-server .
  2. 运行容器: bash docker run -p 8000:8000 --env-file .env --name docs-mcp-server-container docs-mcp-server

CLI使用

  1. 查看帮助: bash docs-mcp --help
  2. 抓取文档: bash docs-mcp scrape <library> <url> [options]
  3. 搜索文档: bash docs-mcp search <library> <query> [options]
  4. 查找版本: bash docs-mcp find-version <library> [options]
  5. 删除文档: bash docs-mcp remove <library> [options]

调试方式

  1. 使用MCP Inspector调试: bash npx @modelcontextprotocol/inspector node dist/server.js

许可证

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