Skip to main content
Glama

Documentation Retrieval MCP Server (DOCRET)

by Sreedeep-SS

文档检索 MCP 服务器 (DOCRET)

该项目实现了一个模型上下文协议 (MCP) 服务器,使 AI 助手能够访问各种 Python 库(包括 LangChain、LlamaIndex 和 OpenAI)的最新文档。通过利用该服务器,AI 助手可以从官方文档源动态获取并提供相关信息。目标是确保 AI 应用程序始终能够访问最新的官方文档。

什么是 MCP 服务器?

模型上下文协议 (MCP) 是一项开放标准,使开发者能够在其数据源和 AI 驱动的工具之间建立安全的双向连接。其架构简单易懂:开发者可以通过 MCP 服务器公开数据,也可以构建连接到这些服务器的 AI 应用程序(MCP 客户端)。

特征

  • 动态文档检索:获取指定 Python 库的最新文档内容。
  • 异步网络搜索:利用SERPER API在目标文档网站内执行高效的网络搜索。
  • HTML 解析:使用 BeautifulSoup 从 HTML 内容中提取可读文本。
  • 可扩展设计:通过更新配置轻松添加对其他库的支持。

先决条件

  • Python 3.8 或更高版本
  • UV 用于 Python 包管理(如果你是平民,可以使用 pip)
  • Serper API 密钥(用于 Google 搜索或“SERP”)
  • Claude Desktop 或 Claude Code(用于测试)

安装

1.克隆存储库

git clone https://github.com/Sreedeep-SS/docret-mcp-server.git cd docret-mcp-server

2.创建并激活虚拟环境

  • 在 macOS/Linux 上
    python3 -m venv env source env/bin/activate
  • 在 Windows 上
    python -m venv env .\env\Scripts\activate

3.安装依赖项

激活虚拟环境后,安装所需的依赖项:

pip install -r requirements.txt

或者如果你使用 uv:

uv sync

设置环境变量

运行应用程序之前,请配置所需的环境变量。本项目使用 SERPER API 搜索文档,需要 API 密钥。

  1. 在项目的根目录中创建一个.env文件。
  2. 添加以下环境变量:
    SERPER_API_KEY=your_serper_api_key_here

your_serper_api_key_here替换为您的实际 API 密钥。

运行 MCP 服务器

一旦安装了依赖项并设置了环境变量,您就可以启动 MCP 服务器。

python main.py

这将启动服务器并使其准备好处理请求。

用法

MCP 服务器提供了一个 API,用于从支持的库中获取文档内容。它的工作原理是查询 SERPER API 以获取相关的文档链接并抓取页面内容。

搜索文档

要在库中搜索特定主题的文档,请使用get_docs函数。此函数接受两个参数:

  • query :要搜索的主题(例如“Chroma DB”)
  • library :库的名称(例如“langchain”)

使用示例:

from main import get_docs result = await get_docs("memory management", "openai") print(result)

这将返回从相关 OpenAI 文档页面提取的文本。

与人工智能助手集成

您可以将此 MCP 服务器与 Claude 等 AI 助手或自定义 AI 模型集成。要配置助手与服务器交互,请使用以下配置:

{ "servers": [ { "name": "Documentation Retrieval Server", "command": "python /path/to/main.py" } ] }

确保指定了正确的main.py路径。

扩展 MCP 服务器

该服务器目前支持以下库:

  • 朗链
  • 骆驼指数
  • OpenAI

要添加对其他库的支持,请使用库名称及其文档 URL 更新main.py中的docs_urls字典:

docs_urls = { "langchain": "python.langchain.com/docs", "llama-index": "docs.llamaindex.ai/en/stable", "openai": "platform.openai.com/docs", "new-library": "new-library-docs-url.com", }

📌 路线图

这对我来说确实非常令人兴奋,我期待在此基础上取得更多进展,并随时了解最新的新闻和可以实施的想法

我心里想的是:

  1. 添加对更多库的支持(例如,Hugging Face、PyTorch)
    • 使用附加库扩展docs_urls字典。
    • 修改 get_docs 函数以处理不同格式的文档页面。
    • 使用基于正则表达式或人工智能的解析来更好地提取有意义的内容。
    • 提供 API 端点以动态添加新库。
  2. 实施缓存以减少冗余 API 调用
    • 使用 Redis 或内存缓存机制,例如functools.lru_cache
    • 实现基于时间的缓存失效。
    • 按库和按搜索词缓存结果。
  3. 利用人工智能摘要优化网页抓取
    • 使用GPT-4BARTT5来总结抓取的文档。
    • 此外,还有Claude 3 HaikuGemini 1.5 ProGPT-4-miniOpen-mistral-nemoHugging Face Models等众多模型可供使用。所有这些都有待商榷。
    • 让用户在原始文档文本和摘要版本之间进行选择。
  4. 引入用于外部集成的 REST API
    • 使用 FastAPI 公开 API 端点。(仅此而已)
    • 构建一个简单的前端仪表板,用于 API 交互。(为什么不呢?)
  5. 添加单元测试以提高可靠性参考
    • 使用 pytest 和 unittest 进行 API 和爬虫的可靠性测试。(我们最不希望的就是这玩意儿变成核弹)
    • 实施 CI/CD 工作流程,在每次推送时自动运行测试。(当然,这是最重要的)
  6. 更多在开发过程中有用的 MCP 工具
    • 数据库集成
    • Google 文档/表格/云端硬盘集成
    • 文件系统操作
    • Git 集成
    • 整合沟通平台,将创意转化为产品
    • Docker 和 Kubernetes 管理

参考

有关 MCP 服务器及其实现的更多详细信息,请参阅指南:

执照

本项目遵循 MIT 许可证。更多详情请参阅许可证文件。

-
security - not tested
-
license - not tested
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

MCP 服务器使 AI 助手能够通过从官方来源动态获取来访问 Python 库(如 LangChain、LlamaIndex 和 OpenAI)的最新文档。

  1. 什么是 MCP 服务器?
    1. 特征
      1. 先决条件
        1. 安装
          1. 1.克隆存储库
          2. 2.创建并激活虚拟环境
          3. 3.安装依赖项
        2. 设置环境变量
          1. 运行 MCP 服务器
            1. 用法
              1. 搜索文档
            2. 与人工智能助手集成
              1. 扩展 MCP 服务器
                1. 参考
                  1. 执照

                    Related MCP Servers

                    • -
                      security
                      A
                      license
                      -
                      quality
                      An MCP server implementation that provides tools for retrieving and processing documentation through vector search, enabling AI assistants to augment their responses with relevant documentation context. Uses Ollama or OpenAI to generate embeddings. Docker files included
                      Last updated -
                      59
                      20
                      TypeScript
                      MIT License
                      • Apple
                      • Linux
                    • A
                      security
                      A
                      license
                      A
                      quality
                      An MCP server that enables users to fetch Python documentation using the Brave Search API through natural language queries.
                      Last updated -
                      1
                      JavaScript
                      Apache 2.0
                      • Apple
                    • -
                      security
                      -
                      license
                      -
                      quality
                      An MCP server that integrates Apifox API documentation with AI assistants, allowing AI to extract and understand API information from Apifox projects.
                      Last updated -
                      91
                      TypeScript
                    • -
                      security
                      F
                      license
                      -
                      quality
                      An MCP server that integrates with Claude to provide smart documentation search capabilities across multiple AI/ML libraries, allowing users to retrieve and process technical information through natural language queries.
                      Last updated -
                      Python

                    View all related MCP servers

                    MCP directory API

                    We provide all the information about MCP servers via our MCP API.

                    curl -X GET 'https://glama.ai/api/mcp/v1/servers/Sreedeep-SS/docret-mcp-server'

                    If you have feedback or need assistance with the MCP directory API, please join our Discord server