本项目是'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 与外部世界的交互。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/manojjahgirdar/ai-agents-interoperability.git
    cd ai-agents-interoperability
  2. 安装 uv 包管理器(推荐):
    pip install pipx
    pipx install uv
  3. 创建并激活虚拟环境:
    uv venv
    source .venv/bin/activate
  4. 安装项目依赖:
    uv sync
  5. 配置环境变量:
    • 复制示例环境变量文件:
      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可能根据服务器部署方式有所不同。

基本使用方法

  1. 启动MCP服务器:
    • 打开终端,导航到服务器代码目录:
      cd src/mcp/mcp-server
    • 激活虚拟环境(如果未激活):
      source ../../../.venv/bin/activate
    • 运行服务器(例如,使用SSE传输):
      uv run mcp_server.py
    • (或者使用Stdio传输,但这通常由MCP客户端在启动时自动处理,不建议手动运行)
  2. 启动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