
docs-mcp-server MCP Server

2025.04.28
0
TypeScript文档管理搜索工具开发效率
DOC-Server-MCP 是一个基于 Model Context Protocol (MCP) 的服务器,专门用于抓取、处理和搜索第三方软件包的文档。它支持从多种来源(如网站、GitHub、npm、PyPI 或本地文件)抓取文档,并通过智能处理(如语义分割和向量嵌入生成)和优化存储(使用 SQLite 和 `sqlite-vec`)来提供高效的混合搜索能力。
View on GitHub
Overview
产品定位
DOC-Server-MCP 是一个用于抓取、处理和搜索第三方软件包文档的 MCP 服务器,旨在为开发者提供高效的文档搜索和管理工具。
核心功能
- 多源抓取:支持从网站、GitHub、npm、PyPI 或本地文件抓取文档。
- 智能处理:自动进行语义分割并生成向量嵌入(支持 OpenAI、Google Gemini、Azure OpenAI、AWS Bedrock、Ollama 等多种模型)。
- 优化存储:使用 SQLite 和
sqlite-vec
实现高效的向量存储和全文搜索。 - 混合搜索:结合向量相似性和全文搜索,提供高度相关的搜索结果。
- 异步任务处理:通过后台任务队列和 MCP/CLI 工具管理抓取和索引任务。
- 简单部署:支持 Docker 或 npx 快速部署。
适用场景
- 开发者文档搜索:快速查找第三方库的文档。
- 文档版本管理:支持不同版本的文档存储和查询。
- 本地文档索引:将本地文档索引化以便快速搜索。
- 自动化文档处理:通过 CLI 或 API 自动化抓取和处理文档。
工具列表
- scrape_docs:启动抓取任务,返回
jobId
。 - get_job_status:检查任务状态。
- list_jobs:列出当前和已完成的任务。
- cancel_job:取消运行中的任务。
- search_docs:搜索文档。
- list_libraries:列出已索引的库。
- find_version:查找合适的版本。
- remove_docs:删除已索引的文档。
- fetch_url:抓取单个 URL 并返回 Markdown 内容。
常见问题解答
- 如何配置嵌入模型?
- 通过环境变量
DOCS_MCP_EMBEDDING_MODEL
配置,支持多种模型提供商(如 OpenAI、Google Gemini、AWS Bedrock 等)。 - 如何持久化数据?
- 使用 Docker 时,通过挂载卷(如
-v docs-mcp-data:/data
)实现数据持久化。 - 如何调试?
- 使用 MCP Inspector 工具进行调试。
使用教程
依赖安装
- Docker:确保已安装并运行 Docker。
- Node.js(可选):如果使用 npx 方式,需安装 Node.js。
安装步骤
Docker 方式(推荐)
docker run -i --rm \
-e OPENAI_API_KEY="your-key-here" \
-v docs-mcp-data:/data \
ghcr.io/arabold/docs-mcp-server:latest
npx 方式
npx -y --package=@arabold/docs-mcp-server docs-server
调试方式
- 检查服务状态:
bash docker ps
- 查看日志:
bash docker logs <container_id>
- 使用 CLI 测试:
bash docs-cli search react 'hooks'