项目简介

'Aurite Agents' 仓库中包含了一个MCP服务器示例,专注于提供基础数学运算能力。它遵循 Model Context Protocol (MCP) 规范,允许大型语言模型 (LLM) 客户端通过标准化的 JSON-RPC 协议调用其提供的工具,进行加法和(为演示错误处理而设计的)减法运算。

这个示例服务器旨在帮助开发者理解如何在 'Aurite Agents' 框架或其他MCP客户端中使用和集成自定义MCP服务器。

主要功能点

  • 加法工具 ('add_numbers'): 接收两个浮点数作为输入,返回它们的和。
  • 减法工具 ('subtract_numbers'): 接收两个浮点数作为输入,但设计为总是返回一个错误,用于演示MCP服务器如何向客户端报告错误。
  • HTTP 流传输支持: 服务器通过HTTP endpoint暴露其服务,支持MCP的HTTP流传输协议。
  • JSON-RPC 通信: 客户端通过JSON-RPC协议与服务器进行通信,发送工具调用请求并接收响应。

安装步骤

  1. 克隆仓库: 首先,将 'Aurite Agents' GitHub 仓库克隆到您的本地机器:
    git clone https://github.com/Aurite-ai/aurite-agents.git
    cd aurite-agents
  2. 安装依赖: 这个MCP服务器示例依赖于 'fastmcp' 和 'uvicorn' 库。请确保您的系统已安装 Python 3.8 或更高版本,然后执行以下命令安装它们:
    pip install fastmcp uvicorn

服务器配置

要将此MCP服务器与MCP客户端(例如 'Aurite Agents' 框架自身)连接,您需要在客户端配置中提供以下JSON格式的信息。客户端将使用此信息来启动或连接到服务器,并发现其可用的工具和能力。

{
    "name": "math_http_server",
    "transport_type": "http_stream",
    "http_endpoint": "http://127.0.0.1:8088"
}
  • 'name': 服务器的唯一标识符。在客户端调用工具时,通常会使用 'name-tool_name' 的格式(例如 'math_http_server-add_numbers')。
  • 'transport_type': 指定通信传输协议,此处为 'http_stream',表示通过HTTP流进行通信。
  • 'http_endpoint': 服务器监听的HTTP地址。此示例服务器默认监听 'http://127.0.0.1:8088'。

基本使用方法

  1. 启动MCP数学工具服务器: 在 'aurite-agents' 仓库的根目录中,打开一个终端并执行以下命令启动服务器:

    python tests/fixtures/mcp_servers/math_http_server.py

    服务器启动后,将会在 'http://127.0.0.1:8088' 监听传入的MCP请求。

  2. 连接与调用 (通过MCP客户端):

    • 连接: 配置您的MCP客户端(例如 'Aurite Agents' 框架)使用上述“服务器配置”信息来连接到 'math_http_server'。
    • 调用加法工具: 客户端可以调用名为 'math_http_server-add_numbers' 的工具,并传入两个数字作为参数。例如,要计算 '1 + 2',客户端将发送类似 '{"a": 1, "b": 2}' 的参数。
    • 调用减法工具: 客户端可以尝试调用名为 'math_http_server-subtract_numbers' 的工具。此工具总是返回一个错误信息,以演示MCP客户端如何处理服务器端返回的错误。

示例LLM Agent与MCP服务器交互流程:

  1. 用户向LLM Agent提问:“请计算 5 加 3。”
  2. LLM Agent识别到需要数学计算,并决定调用 'math_http_server-add_numbers' 工具。
  3. LLM Agent根据工具的 'inputSchema' 格式化参数 '{"a": 5, "b": 3}'。
  4. LLM Agent将此工具调用请求通过MCP协议发送给正在运行的 'MCP数学工具服务器示例'。
  5. 服务器执行 'add_numbers' 函数,返回结果 '8.0'。
  6. LLM Agent接收到 '8.0' 的结果,并将其整合到对用户的回答中:“5 加 3 等于 8。”

信息

分类

AI与计算