Web_Search_MCP是一个使用Tavily API和MCP(模型上下文协议)构建的网络搜索工具服务器。本项目展示了如何运用Tavily API创建网络搜索工具,并将其与MCP集成,实现与AI系统的无缝交互,从而为语言模型或应用程序提供实时网络搜索功能。
在运行项目之前,请确保您已经具备以下条件:
pip install uv
uv init Web_Search_MCP
*** 通过运行上述代码,uv会创建 pyproject.toml 和 .venv 文件 ***
2. 创建项目文件:在 Web_Search_MCP 目录中创建文件 main.py 和 .env。
3. 激活虚拟环境:导航到 .venv/Scripts/ 并激活虚拟环境
4. 复制代码:将代码复制到刚刚创建的 main.py 和 .env 文件中。
5. 安装依赖项:使用 uv 安装所需的Python包:
uv add "mcp[cli]" python-dotenv langchain-community tavily-python
.env 文件:
Web_Search_MCP 目录中创建一个名为 .env 的文件。.env 文件中,格式如下:TAVILY_API_KEY='your_tavily_api_key'
用您的实际Tavily API密钥替换 your_tavily_api_key。
claude_desktop_config.json:
Web_Search_MCP 目录中创建一个名为 claude_desktop_config.json 的文件。{
"proxy": null,
"model_name": " Claude 2",
"temperature": 0.1,
"max_tokens": 1000,
"tools": [
{
"type": "function_calling",
"tool_name": "search_web",
"description": "Use this tool to search the web and obtain relevant information."
}
]
}
pip install -r requirements.txt
uvicorn main:app --reload
http://localhost:8000。该项目的核心在于 search_web 工具,它提供了以下功能:
success 或 error)、成功时的结果数组和时间戳。Web_Search_MCP 项目利用了以下关键组件:
TavilySearchResults 工具,用于高效地与Tavily API交互。.env文件加载环境变量,安全地管理敏感信息,如API密钥。一旦服务器运行,它会暴露一个名为 search_web 的工具,根据模型上下文协议。
search_webquery (str):要提交到网络的搜索查询。示例 JSON 响应(成功):
{
"status": "success",
"results": [
{
"title": "...",
"url": "...",
"content": "text",
"score": 0.9,
"raw_content": "..."
},
{
"title": "...",
"url": "...",
"content": "text",
"score": 0.9,
"raw_content": "..."
}
],
"timestamp": 1708849844.064655
}