Strands MCP Calculator Server

使用说明(Markdown 格式)

  • 项目简介

    • 这是一个用 Python 实现的 MCP 服务器示例,利用 FastMCP 构建一个简单的计算器服务,提供加、减、乘、除等基础运算工具,并通过 Streamable HTTP 传输与客户端进行 JSON-RPC 风格的通信。
  • 主要功能点

    • 定义并注册工具:添加 add、subtract、multiply、divide 等计算工具,支持简单的输入参数校验与类型注解。
    • 通过 MCP 服务器暴露工具:服务器端对外提供可调用的工具集合,客户端可通过 MCP 协议调用这些工具并获取结果。
    • 使用 Streamable HTTP 传输:服务器以流式 HTTP 传输方式工作,便于与 LLM 客户端进行长连接交互。
    • 服务器启动即运行:在脚本中创建服务器、注册工具并启动传输通道,允许客户端发起请求并接收响应。
  • 安装步骤

    • 准备运行环境:确保 Python 3.x、pip 已正确安装。
    • 安装必要依赖:安装 mcp 库及其依赖(参考示例代码中的导入方式)。
    • 下载或定位示例文件:使用仓库中的 docs/examples/python/mcp_calculator.py 文件作为服务器实现。
    • 安装依赖后,在项目根目录执行运行脚本:python docs/examples/python/mcp_calculator.py 启动服务器。
  • 服务器配置(客户端调用前置信息,描述性JSON,供 MCP 客户端参考)

    • server name: Calculator Server
    • transport: Streamable HTTP
    • 启动命令与参数示例(非代码展示,用于理解,客户端需要的最小信息如下)
      • command: python
      • args: ["docs/examples/python/mcp_calculator.py"]
    • 说明:客户端需要知道服务器的名称与如何启动服务的命令与参数,以建立 MCP 连接并调用服务器暴露的工具。实际使用中,请将以下信息以 JSON 形式提供给客户端,其内容包括服务器名称、启动命令及参数等: { "server_name": "Calculator Server", "command": "python", "args": ["docs/examples/python/mcp_calculator.py"], "transport": "streamable-http", "version": "1.0.0" }
    • 注:以上配置用于客户端连接与启动服务器的脚本或工具,仓库中的示例文件已经演示了完整的工具注册与服务器启动逻辑,实际使用时请按客户端实现方的接入文档进行配置。
  • 基本使用方法

    • 启动服务器:在含有示例脚本的环境中执行上述启动命令,服务器将监听 Streamable HTTP 通道。
    • 客户端调用:客户端通过 MCP 客户端调用 add、subtract、multiply、divide 等工具,发送带参数的请求,服务器返回计算结果的 JSON-RPC 响应。
    • 服务扩展:可按需在服务器中新增工具(@mcp.tool 风格装饰器的工具定义),并重新启动服务器以暴露新工具。
  • 备注

    • 代码与示例位于仓库 docs 目录下的 docs/examples/python/mcp_calculator.py,属于完整的服务器实现示例,具备注册工具、定义运算、并通过 Streamable HTTP 进行通讯的能力。
    • 若要在实际项目中使用,请确保相关 MCP 客户端实现与服务器的传输协议、JSON-RPC 结构一致,并根据实际运行环境配置相应的启动命令与参数。

服务器信息