项目简介

这是一个遵循 Model Context Protocol (MCP) 标准实现的简易服务器示例。它不提供复杂的资源管理或 Prompt 渲染功能,而是专注于实现 MCP 的核心能力之一:工具(Tools)的注册与执行。这个服务器通过标准的输入输出流(Stdio)与 MCP 客户端进行通信,响应客户端发起的工具调用请求,执行加、减、乘、除等基本数学计算。

主要功能点

  • 数学运算工具: 提供加法(add)、减法(subtract)、乘法(multiply)、除法(divide)四种工具,执行相应的数值计算。
  • 遵循 MCP 工具规范: 工具的定义、参数和返回结果都符合 MCP 协议对工具的要求。
  • Stdio 传输支持: 使用标准输入输出作为通信通道,便于被各种语言实现的 MCP 客户端启动和连接。
  • 基础错误处理: 例如,处理除数为零的情况。

安装步骤

  1. 确保您的系统已安装 Python 3.8 或更高版本。
  2. 安装必要的 MCP 库:
    pip install mcp
  3. 获取服务器代码:您可以从 GitHub 仓库下载或克隆代码。

服务器配置

此计算器 MCP 服务器通常不会独立运行,而是由兼容 MCP 的客户端程序(如一个LLM应用)根据配置信息启动和管理。

客户端需要配置如下信息来启动并连接到此服务器:

  • 服务器名称 (Server Name): 'calculator' (用于客户端内部引用)
  • 启动命令 (Command): 'python' (或者您的 Python 解释器路径)
  • 命令参数 (Arguments): '["path/to/your/repository/02_CalculatorMCPServerTest/calculatorMCPServer.py"]' (指向 'calculatorMCPServer.py' 文件的路径,请替换 'path/to/your/repository' 为实际路径)
  • 环境变量 (Environment Variables): 通常不需要为这个计算器服务器设置特定环境变量,客户端配置中此项可以留空 '{}'。
  • 传输协议 (Transport): 'stdio'

这些配置信息通常会被 MCP 客户端读取(例如从一个 JSON 配置文件),然后客户端会根据这些信息启动 'calculatorMCPServer.py' 进程,并通过其标准输入输出来建立 MCP 连接。

基本使用方法

  1. 按照安装步骤准备好环境和代码。
  2. 配置您的 MCP 客户端程序,使其包含上述针对此计算器服务器的配置。
  3. 运行您的 MCP 客户端程序。客户端会自动启动 'calculatorMCPServer.py' 服务器进程,并与之建立连接。
  4. 通过客户端与 LLM 交互,当用户提出需要进行数学计算的需求时(例如“帮我算一下 10 乘以 5”),如果 LLM 被赋予了调用工具的能力并识别到可以利用计算器工具,它会生成一个工具调用请求(例如调用 'multiply' 工具,参数 'a=10, b=5')。
  5. 您的 MCP 客户端接收到 LLM 的工具调用指令后,会通过 Stdio 向计算器服务器发送一个 JSON-RPC 请求。
  6. 计算器服务器接收请求,调用内部的 'multiply' 函数执行计算,并将结果('50.0')通过 JSON-RPC 响应返回给客户端。
  7. 客户端接收到计算结果,并将其传回给 LLM 或以其他方式展示给用户。

请注意,直接运行 'calculatorMCPServer.py' 文件只能启动服务器进程,但不会有可见的输出或交互,因为它设计为由 MCP 客户端驱动。

信息

分类

AI与计算