本项目是'ai-agents-interoperability'仓库中实现Model Context Protocol (MCP) 服务器的部分,旨在为基于大语言模型 (LLM) 的智能体提供标准化的上下文信息和外部功能调用能力。
项目简介
AI Agent通用工具集MCP服务器是一个基于MCP协议构建的后端服务,负责托管和暴露一系列实用的工具,如网页搜索、天气查询和航班搜索。这些工具可以通过标准的JSON-RPC协议供兼容的LLM客户端(如LangChain、AutoGen等框架构建的Agent)发现和调用,从而增强Agent获取实时信息和执行外部任务的能力。
主要功能点
- 工具注册与管理: 托管并管理多种外部工具(当前包含网页搜索、天气查询、航班搜索)。
- MCP协议通信: 通过JSON-RPC协议处理来自LLM客户端的请求。
- 多种传输支持: 支持通过标准输入输出 (Stdio) 和 Server-Sent Events (SSE) 等方式进行通信。
- 标准化接口: 为LLM客户端提供统一的方式来发现和调用工具,实现 Agent 与外部世界的交互。
安装步骤
- 克隆仓库:
git clone https://github.com/manojjahgirdar/ai-agents-interoperability.git cd ai-agents-interoperability - 安装 uv 包管理器(推荐):
pip install pipx pipx install uv - 创建并激活虚拟环境:
uv venv source .venv/bin/activate - 安装项目依赖:
uv sync - 配置环境变量:
- 复制示例环境变量文件:
cp env.example .env - 编辑 '.env' 文件,填入必需的API密钥,例如 'TAVILY_API_KEY' 和 'SERP_API_KEY',以便工具能够正常工作。
- 复制示例环境变量文件:
服务器配置(供MCP客户端参考)
MCP客户端需要知道如何连接到MCP服务器。对于此实现,典型的Stdio配置信息如下(注意:这是一个概念性的描述,实际客户端配置可能依赖具体库,但核心信息相同):
{ "server_name": "Utility Tools", "transport": "stdio", "command": "python", // 启动服务器进程的命令 "args": [ "mcp_server.py" // 启动服务器进程的脚本文件名 ] }
请注意:运行服务器前,需要先'cd src/mcp/mcp-server'进入包含'mcp_server.py'的目录。客户端通常会在启动时自动执行此命令并管理进程的Stdio。
对于SSE传输,客户端需要配置服务器的URL,例如:
{ "server_name": "Utility Tools", "transport": "sse", "url": "http://localhost:8000/sse" // 服务器启动后监听的SSE URL }
实际URL可能根据服务器部署方式有所不同。
基本使用方法
- 启动MCP服务器:
- 打开终端,导航到服务器代码目录:
cd src/mcp/mcp-server - 激活虚拟环境(如果未激活):
source ../../../.venv/bin/activate - 运行服务器(例如,使用SSE传输):
uv run mcp_server.py - (或者使用Stdio传输,但这通常由MCP客户端在启动时自动处理,不建议手动运行)
- 打开终端,导航到服务器代码目录:
- 启动MCP客户端:
- 在另一个终端中,导航到客户端代码目录(例如 'src/mcp/mcp-client')。
- 激活虚拟环境。
- 运行一个客户端脚本,例如:
uv run langgraph_agent.py # 使用Stdio连接 # 或 # uv run langgraph_agent_remote_mcp.py # 使用SSE连接,需要先设置REMOTE_MCP_URL环境变量 - 客户端将连接到已启动的MCP服务器,发现可用的工具,并利用这些工具与LLM协同完成任务。
通过上述步骤,LLM客户端即可与MCP服务器建立连接,并利用服务器提供的工具获取信息或执行操作。
信息
分类
网页与API