文档搜索服务器

一个基于MCP协议的文档搜索服务器,支持从LangChain、LlamaIndex和OpenAI等流行库中搜索文档。

  • by sawantudayan
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 sawantudayan/python-mcp-server

使用说明

Python MCP服务器-文档搜索

这是一个简单的MCP(最小命令协议)服务器,允许用户从流行的 图书馆如 LangChain, 调用Index,以及 OpenAI 使用 Serper API公司服务器获取搜索结果 结果,并使用HTTP请求和BeautifulSoup从网络上提取相关文档。

特性

  • 支持搜索文档 LangChain, 调用Index,以及 OpenAI.
  • 用途 Serper API公司 以执行网络搜索。
  • 从相关文档页面中提取并返回文本。
  • 可以通过MCP协议交互式使用。

需求

  • Python 3.12或更高版本。
  • Serper API密钥 用于执行网络搜索。
  • MCP库 用于服务器和工具执行。
  • 美丽的Soup4 和 httpx 用于HTTP请求和HTML解析。

安装

步骤1:安装Python依赖项

要设置项目,请克隆此存储库并安装所需的依赖项。

git clone <repository-url>
cd <repository-directory>
pip install -r requirements.txt

或者,如果您没有使用requirements.txt文件:

pip install httpx beautifulsoup4 mcp python-dotenv

步骤2:设置环境变量

使用Serper API密钥在项目的根目录中创建.env文件。

SERPER_API_KEY=your-serper-api-key-here

确保使用dotenv包加载.env文件。

步骤3:运行服务器

设置环境后,使用以下命令运行服务器:

uv run main.py

服务器将启动并等待输入。

用法

服务器运行后,您可以使用它查询特定库的最新文档。这里有一个例子 如何查询该工具:

查询示例

使用启动服务器 uv run main.py.

在另一个终端或交互式MCP客户端中,调用get_docs工具搜索文档:

 get_docs("Chroma DB", "langchain")

这将在LangChain文档中搜索“Chroma DB”并返回相关内容。

可用的库

  • LangChain:LangChain.com上的文档
  • LlamaIdex:LlamaIndex.ai上的文档
  • OpenAI:platform.OpenAI.com上的文档

代码概述

main.py

  • FastMCP:初始化MCP服务器。
  • 工具:服务器有两个工具:
  • dummy_tool:一个简单的工具,用于确认服务器已启动并正在运行。
  • get_docs:获取给定查询和库(LangChain、LlamaIdex、OpenAI)的最新文档。
  • search_web():使用Serper API处理搜索。
  • fetch_url():使用BeautifulSoup获取url并提取文本内容。

dotenv 和 logging

  • 从加载Serper API密钥 .env 文件。
  • 提供调试级日志记录,以便更好地了解服务器操作和潜在问题。`````

故障排除

  • 缺少API密钥:请确保在中正确设置了Serper API密钥 .env 文件。如果是这样,你会得到一个错误 失踪。
  • 超时问题:如果搜索或URL提取超时,请尝试增加超时值或检查网络 连接。
  • 包安装问题:确保安装了所有依赖项,并激活了正确的Python环境。

贡献者

Udayan Sawant