
docs-mcp-server MCP Server

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 服务器,旨在为开发者提供高效的第三方库文档搜索和管理能力。
核心功能
- 文档抓取与处理:
- 从指定URL抓取文档内容
- 使用语义分割技术将文档分割成有意义的块
- 利用OpenAI生成向量嵌入
-
支持版本管理(包括无版本内容)
-
搜索能力:
- 结合向量相似性搜索和全文搜索的混合搜索
- 支持按版本过滤搜索结果
-
支持精确匹配和范围匹配
-
任务管理:
- 异步任务队列管理抓取作业
-
支持作业状态查询、列表查看和取消
-
文档管理:
- 支持文档的添加、搜索、版本查找和删除
- 支持无版本文档管理
适用场景
- 开发者需要快速查找第三方库文档
- 团队需要维护多个版本的文档索引
- 需要将文档搜索功能集成到开发工具中
- 需要自动化文档更新和维护
工具列表
- scrape_docs:启动文档抓取作业
- get_job_status:查询作业状态
- list_jobs:列出活动/已完成作业
- cancel_job:取消运行中或排队的作业
- search_docs:搜索文档
- list_libraries:列出已索引的库
- find_version:查找合适的版本
- remove_docs:删除索引文档
常见问题解答
- 版本处理:
- 抓取时需要特定版本或留空(无版本)
- 搜索时支持特定版本、部分版本或范围
-
可以显式搜索无版本文档
-
调试:
- 建议使用 MCP Inspector 进行调试
- 可通过
npx @modelcontextprotocol/inspector node dist/server.js
启动
使用教程
使用依赖
- 安装 Node.js
- 克隆仓库:
bash git clone <repository-url> cd docs-mcp-server
安装教程
- 安装依赖:
bash npm install
- 构建服务器:
bash npm run build
- 设置环境变量(创建.env文件):
bash cp .env.example .env
并编辑.env文件设置OPENAI_API_KEY
Docker运行
- 构建Docker镜像:
bash docker build -t docs-mcp-server .
- 运行容器:
bash docker run -p 8000:8000 --env-file .env --name docs-mcp-server-container docs-mcp-server
CLI使用
- 查看帮助:
bash docs-mcp --help
- 抓取文档:
bash docs-mcp scrape <library> <url> [options]
- 搜索文档:
bash docs-mcp search <library> <query> [options]
- 查找版本:
bash docs-mcp find-version <library> [options]
- 删除文档:
bash docs-mcp remove <library> [options]
调试方式
- 使用MCP Inspector调试:
bash npx @modelcontextprotocol/inspector node dist/server.js