文档搜索服务器

一个轻量级的MCP服务器,通过结合网络搜索和内容解析,从LangChain、LlamaIndex和OpenAI等流行AI库中搜索和检索相关文档内容。

  • by RohitKrish46
  • Python
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 rohitkrish46/docs-mcp-server

使用说明

MCP文档搜索服务器

一个轻量级的MCP服务器,通过结合网络搜索和内容解析,从LangChain、LlamaIndex和OpenAI等流行的AI库中搜索和检索相关文档内容。

该项目允许语言模型动态查询和获取最新文档内容,充当LLM和外部文档源之间的桥梁。

模型上下文协议(MCP)

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

LLMs隔离

仅LLM是有限的——当通过MCP等框架与工具和服务集成时,它们的真正潜力就会被释放。

  1. LLM没有工具,LLM是静态的,实用性有限。

  2. 有了工具,它们变得互动,但编排可能会很混乱。

  3. 借助MCP,LLM获得了可扩展的即插即用接口,可以连接到现实世界的服务,使其在生产环境中更加实用和强大。

MCP生态系统

MCP服务器充当LLM和服务之间的转换器/接口。

MCP(模块化能力提供者)标准化了LLM与外部工具/服务的交互方式,促进了互操作性、模块化和更清晰的接口。

这种结构分散了责任:

  1. 工具提供商构建和维护自己的MCP服务器实现。

  2. LLM只需要说MCP协议。

目的和愿景:

  • 规范LLM和外部工具之间的通信

  • 避免定制集成

  • 鼓励可扩展的服务生态系统(如插件架构)

特性

Web搜索集成

使用Serper API查询Google并检索与给定搜索查询相关的顶级文档页面。

清洁内容提取

使用BeautifulSoup解析HTML内容,以提取干净、人类可读的文本,去除不必要的标签、广告或导航内容。

无缝LLM工具

公开一个结构化的get_docs工具,可在LLM代理(如Claude、GPT)中使用,以实时查询特定库。

工具

get_docs(query: str, library: str)

这是MCP服务器提供的核心工具。 它接受:

query:搜索词或短语。

图书馆:兰链、骆驼索引或开放式图书馆之一。

工作流程

  1. 搜索相关文档页面
  2. 获取并解析干净的文本内容
  3. 将结果发送回LLM以进行进一步推理和响应

设置

  1. 克隆存储库
git clone https://github.com/your-username/mcp-docs-search.git
cd mcp-docs-search
  1. 使用uv创建虚拟环境并激活它
uv venv .venv

.\.venv\Scripts\activate
  1. 安装依赖项
uv add "mcp[cli]" httpx
uv pip install beautifulsoup4
  1. 设置环境变量创建.env文件并添加Serper API密钥:
SERPER_API_KEY=your_serper_api_key

Claude桌面集成

要将此服务器作为工具集成到Claude Desktop中,请执行以下操作:

打开克劳德桌面→ 文件>设置>开发人员>编辑配置。

更新claude_desktop_config.json以包含以下内容:

{
    "mcpServers": {
        "documnetation": {
            "command": "uv",
            "args": [
                "--directory",
                "your_reository_where_the_repo_exists",
                "run",
                "main.py"
            ]

        }
    }
}

🔁 重要提示:保存配置后重新启动Claude Desktop以将新内容加载到

成功集成后,您将在Claude UI中看到您的自定义MCP工具:

使用它实时查询文档:

实时调试

还可以使用以下命令调试我们创建的工具。

记得安装 NodeJs18+

npx @modelcontextprotocol/inspector uv run main.py

然后转到建立连接的端口。

支持的库/文档

通过更新docs_urls字典,可以轻松添加更多库。

未来的增强功能

  • 添加对HuggingFace、PyTorch、TensorFlow等其他库的支持。

  • 实施缓存以减少冗余获取并提高性能。

  • 引入基于相关性或令牌质量的评分/排名机制。

  • 单元测试和更好的异常处理,以确保生产准备就绪。