docs-mcp-server MCP Server

docs-mcp-server MCP Server

site icon
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 服务器,旨在为开发者提供高效的文档搜索和管理工具。

核心功能

  1. 多源抓取:支持从网站、GitHub、npm、PyPI 或本地文件抓取文档。
  2. 智能处理:自动进行语义分割并生成向量嵌入(支持 OpenAI、Google Gemini、Azure OpenAI、AWS Bedrock、Ollama 等多种模型)。
  3. 优化存储:使用 SQLite 和 sqlite-vec 实现高效的向量存储和全文搜索。
  4. 混合搜索:结合向量相似性和全文搜索,提供高度相关的搜索结果。
  5. 异步任务处理:通过后台任务队列和 MCP/CLI 工具管理抓取和索引任务。
  6. 简单部署:支持 Docker 或 npx 快速部署。

适用场景

  1. 开发者文档搜索:快速查找第三方库的文档。
  2. 文档版本管理:支持不同版本的文档存储和查询。
  3. 本地文档索引:将本地文档索引化以便快速搜索。
  4. 自动化文档处理:通过 CLI 或 API 自动化抓取和处理文档。

工具列表

  1. scrape_docs:启动抓取任务,返回 jobId
  2. get_job_status:检查任务状态。
  3. list_jobs:列出当前和已完成的任务。
  4. cancel_job:取消运行中的任务。
  5. search_docs:搜索文档。
  6. list_libraries:列出已索引的库。
  7. find_version:查找合适的版本。
  8. remove_docs:删除已索引的文档。
  9. fetch_url:抓取单个 URL 并返回 Markdown 内容。

常见问题解答

  1. 如何配置嵌入模型?
  2. 通过环境变量 DOCS_MCP_EMBEDDING_MODEL 配置,支持多种模型提供商(如 OpenAI、Google Gemini、AWS Bedrock 等)。
  3. 如何持久化数据?
  4. 使用 Docker 时,通过挂载卷(如 -v docs-mcp-data:/data)实现数据持久化。
  5. 如何调试?
  6. 使用 MCP Inspector 工具进行调试。

使用教程

依赖安装

  1. Docker:确保已安装并运行 Docker。
  2. 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

调试方式

  1. 检查服务状态bash docker ps
  2. 查看日志bash docker logs <container_id>
  3. 使用 CLI 测试bash docs-cli search react 'hooks'

许可证

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