基于Agent-to-Agent (A2A) 协议的SearchAPI代理,通过模型上下文协议(MCP)系统集成多个搜索API工具。
2024年更新
SearchAPI-MCP-Agent实现了A2A协议和模型上下文协议,将各种搜索操作封装成工具和资源。它充当AI助手与搜索服务之间的桥梁,支持地图搜索、航班查询、酒店预订等功能。
# 克隆仓库
git clone https://github.com/RmMargt/searchapi-mcp-agent.git
cd searchapi-mcp-agent
# 创建并激活虚拟环境
python -m venv venv
source venv/bin/activate # Linux/Mac
# 或
.\venv\Scripts\activate # Windows
# 安装依赖
pip install -r requirements.txt
创建.env文件并设置以下环境变量:
SEARCHAPI_API_KEY=your_searchapi_key_here
GOOGLE_API_KEY=your_google_api_key_here
按照以下步骤启动完整的A2A环境,包括Host Agent和SearchAPI Agent:
# 在searchapi-mcp-agent目录下
python -m searchapi_mcp_agent --host localhost --port 10001
# 切换到 Google A2A 示例目录
cd path/to/A2A/samples/python
# 运行Host Agent(选择一种)
uv run hosts/cli # 命令行界面
# 或
uv run hosts/multiagent # 多代理环境
如果你正在运行一个多代理环境,可以在浏览器中访问以下地址:
http://localhost:12000
在UI中,点击机器人图标添加SearchAPI Agent,使用以下地址:
http://localhost:10001/agent-card
可以通过以下方式发送请求:
自然语言查询
{
"query": "查找从纽约到洛杉矶的航班"
}
代理将使用LLM自动将查询路由到适当的工具。
直接指定工具
{
"tool_name": "search_google_flights",
"parameters": {
"departure_id": "NYC",
"arrival_id": "LAX",
"outbound_date": "2024-12-01"
}
}
此项目完全实现了A2A协议,可以作为AI助手的服务端点。API符合A2A规范,支持任务创建、状态查询和流式响应。
向Claude for Desktop配置文件中添加以下内容:
{
"mcpServers": {
"searchapi": {
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli]",
"/path/to/searchapi-mcp-agent/mcp_server.py"
],
"env": {
"SEARCHAPI_API_KEY": "your_api_key_here",
"GOOGLE_API_KEY": "your_google_api_key_here"
}
}
}
}
配置文件位置
~/Library/Application Support/Claude/claude_desktop_config.json%APPDATA%\Claude\claude_desktop_config.json本项目采用MIT许可证 - 详见LICENSE文件。
注意:此服务器与外部API交互。在确认操作之前,请始终验证请求的操作是否适当。