项目简介
这是一个遵循 Model Context Protocol (MCP) 标准实现的简易服务器示例。它不提供复杂的资源管理或 Prompt 渲染功能,而是专注于实现 MCP 的核心能力之一:工具(Tools)的注册与执行。这个服务器通过标准的输入输出流(Stdio)与 MCP 客户端进行通信,响应客户端发起的工具调用请求,执行加、减、乘、除等基本数学计算。
主要功能点
- 数学运算工具: 提供加法(add)、减法(subtract)、乘法(multiply)、除法(divide)四种工具,执行相应的数值计算。
- 遵循 MCP 工具规范: 工具的定义、参数和返回结果都符合 MCP 协议对工具的要求。
- Stdio 传输支持: 使用标准输入输出作为通信通道,便于被各种语言实现的 MCP 客户端启动和连接。
- 基础错误处理: 例如,处理除数为零的情况。
安装步骤
- 确保您的系统已安装 Python 3.8 或更高版本。
- 安装必要的 MCP 库:
pip install mcp - 获取服务器代码:您可以从 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 连接。
基本使用方法
- 按照安装步骤准备好环境和代码。
- 配置您的 MCP 客户端程序,使其包含上述针对此计算器服务器的配置。
- 运行您的 MCP 客户端程序。客户端会自动启动 'calculatorMCPServer.py' 服务器进程,并与之建立连接。
- 通过客户端与 LLM 交互,当用户提出需要进行数学计算的需求时(例如“帮我算一下 10 乘以 5”),如果 LLM 被赋予了调用工具的能力并识别到可以利用计算器工具,它会生成一个工具调用请求(例如调用 'multiply' 工具,参数 'a=10, b=5')。
- 您的 MCP 客户端接收到 LLM 的工具调用指令后,会通过 Stdio 向计算器服务器发送一个 JSON-RPC 请求。
- 计算器服务器接收请求,调用内部的 'multiply' 函数执行计算,并将结果('50.0')通过 JSON-RPC 响应返回给客户端。
- 客户端接收到计算结果,并将其传回给 LLM 或以其他方式展示给用户。
请注意,直接运行 'calculatorMCPServer.py' 文件只能启动服务器进程,但不会有可见的输出或交互,因为它设计为由 MCP 客户端驱动。
信息
分类
AI与计算