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
cd
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

