使用说明

项目简介

本项目是一个基于 Model Context Protocol (MCP) 的服务器实现,使用了 Anthropic 推荐的 FastMCP 框架。它提供了一个简单的工具 'is_prime',用于判断一个整数是否为质数。该服务器旨在演示如何使用 FastMCP 快速构建 MCP 工具,并作为一个基础的 MCP 服务器示例。

主要功能点

  • 质数检测工具 (is_prime): 接收一个整数作为输入,返回布尔值,指示该数字是否为质数。
  • FastMCP 框架: 使用 FastMCP 简化 MCP 服务器的开发,快速注册和运行工具。
  • 标准 Stdio 传输: 默认使用标准输入/输出 (stdio) 作为 MCP 服务器的传输协议,方便本地测试和部署。

安装步骤

  1. 安装 MCP SDK: 确保你的 Python 环境中安装了 'mcp-sdk'。如果未安装,请使用 pip 安装:
    pip install mcp-sdk
  2. 保存代码: 从仓库中复制 'prime_checker.py' 文件到你的本地计算机。

服务器配置

MCP 客户端需要配置以下信息才能连接到此服务器。以下是 JSON 格式的配置信息示例,请根据注释理解每个字段的含义:

{
  "serverName": "prime-checker",  // 服务器名称,与 prime_checker.py 中 FastMCP 实例化的名称一致
  "command": "python",         // 启动服务器的命令,这里假设使用 python 解释器
  "args": ["prime_checker.py"], // 启动命令的参数,这里指定运行 prime_checker.py 文件
  "transport": "stdio"          // 使用 stdio 传输协议,与 prime_checker.py 中 mcp.run() 的配置一致 (默认stdio,可省略)
}

注意: 'serverName' 必须与 'prime_checker.py' 文件中 'FastMCP("prime-checker")' 构造函数中传入的名称 '"prime-checker"' 一致。'command' 和 'args' 需要根据你的 Python 环境和 'prime_checker.py' 文件的路径进行调整。'transport' 字段指定了传输协议,默认为 'stdio',与代码中的 'mcp.run(transport='stdio')' 对应。

基本使用方法

  1. 启动 MCP 服务器: 在安装了 MCP SDK 和保存了 'prime_checker.py' 文件的目录下,打开终端并执行配置信息中 'command' 和 'args' 指定的命令,例如:

    python prime_checker.py

    服务器启动后,你将看到类似 'INFO:fastmcp-prime-checker:เริ่มต้น FastMCP Prime Number Checker Server...' 的日志输出。

  2. 配置 MCP 客户端: 在你的 MCP 客户端应用中,根据上述 “服务器配置” 部分提供的 JSON 配置信息,配置连接到 'prime-checker' 服务器。

  3. 调用 'is_prime' 工具: 通过 MCP 客户端,你可以向 'prime-checker' 服务器发送 JSON-RPC 请求,调用 'is_prime' 工具并传入需要检测的数字。服务器将返回 JSON-RPC 响应,包含质数检测结果。

示例 (MCP 客户端请求 - 假设客户端已连接到服务器):

{
  "jsonrpc": "2.0",
  "method": "call_tool",
  "params": {
    "tool_name": "is_prime",
    "tool_args": {
      "n": 7  // 要检测的数字
    }
  },
  "id": "1"
}

示例 (MCP 服务器响应):

{
  "jsonrpc": "2.0",
  "id": "1",
  "result": true // 返回结果,7 是质数
}

请参考 MCP 协议文档和 MCP SDK 的使用说明,了解更多关于如何构建和使用 MCP 客户端与此服务器进行交互的细节。

信息

分类

AI与计算