• 项目简介 'Agents MCP Usage' 仓库提供了一个基于Model Context Protocol (MCP) 的简单服务器实现。它旨在演示如何构建一个MCP服务器来托管可供大型语言模型 (LLM) 代理使用的工具和资源,并展示了不同的代理框架(如ADK、Langchain、Pydantic-AI、Agents.py)如何与这个MCP服务器进行交互。通过这个项目,开发者可以快速理解MCP服务器的工作原理及其在多代理系统中的应用。

  • 主要功能点

    • 上下文资源托管: 能够托管动态生成的上下文信息,例如本示例中的个性化问候语 ('greeting://{name}')。
    • 功能工具注册: 允许注册和执行外部功能,例如本示例中的数字加法 ('add') 和获取当前时间 ('get_current_time') 工具。
    • 多代理框架兼容: 示例展示了与Google ADK、Langchain、Pydantic-AI 和 Agents.py 等主流代理框架的无缝集成。
    • 标准协议通信: 服务器通过标准化协议(JSON-RPC,通过Stdio传输)与客户端通信,确保互操作性。
  • 安装步骤

    1. 克隆仓库:
      git clone https://github.com/kikzi/agents-mcp-usage.git
      cd agents-mcp-usage
    2. 安装依赖:
      pip install -r requirements.txt
    3. 配置环境变量 (可选): 如果需要使用高级代理功能(例如Gemini模型),请确保设置了相应的API密钥环境变量(例如 'GEMINI_API_KEY')。
  • 服务器配置 MCP服务器需要启动后才能被MCP客户端连接。MCP客户端通常需要指定服务器的启动命令及其参数。以下是本MCP服务器的典型启动配置信息,以JSON格式表示,供MCP客户端集成时参考:

    {
      "name": "Demo MCP Server",
      "command": "uv",
      "args": [
        "run",
        "run_server.py",
        "stdio"
      ],
      "description": "一个提供加法、时间获取和个性化问候功能的MCP示例服务器。"
    }
    • 'name': 服务器的标识名称,例如 "Demo MCP Server"。
    • 'command': 用于启动MCP服务器的可执行命令。例如,"uv" 是一个Python项目的运行器,它将启动 'run_server.py'。
    • 'args': 传递给 'command' 的参数列表。例如,'["run", "run_server.py", "stdio"]' 表示使用 'uv' 运行 'run_server.py' 文件,并在 'stdio' 模式下作为 MCP 服务器。
    • 'description': 服务器功能的简要描述。
  • 基本使用方法

    1. 启动MCP服务器: 您可以通过以下命令在后台启动MCP服务器:

      # 这通常由MCP客户端库自动管理,但在开发或测试时可手动运行
      uv run run_server.py stdio

      注意:在实际使用中,许多MCP客户端库(如本仓库中的示例)会自动处理服务器的启动和关闭,您通常无需手动运行此命令。

    2. 通过客户端与服务器交互: 此仓库提供了多个示例脚本 ('basic_mcp_use/'),展示了如何使用不同的代理框架作为MCP客户端来连接并使用服务器提供的工具和资源。例如,运行 'adk_mcp.py' 示例:

      python basic_mcp_use/adk_mcp.py

      这个脚本会启动MCP服务器(如果它尚未运行),然后创建一个LLM代理,利用服务器提供的 'get_current_time' 和 'get_greeting' 工具来响应查询(例如:“问候Andrew并给他当前时间”)。

      您可以尝试运行其他示例文件(如 'oai-agent_mcp.py'、'langgraph_mcp.py'、'pydantic_mcp.py')来了解不同客户端的集成方式。

信息

分类

AI与计算