使用说明

项目简介

FortunaMCP服务器是一个专为AI应用设计的模型上下文协议(MCP)服务器,核心功能是提供高质量的随机数生成服务。它基于Fortuna C-extension和Storm RNG引擎,能够生成可靠且快速的随机数,弥补了大型语言模型(LLM)在需要真随机性时的不足。FortunaMCP特别适用于蒙特卡洛模拟、系统建模、游戏开发等对随机性有较高要求的场景。

主要功能点

  • 高质量随机数生成: 基于强大的Fortuna和Storm库,提供真随机数,优于传统伪随机数生成器。
  • 丰富的随机数分布: 支持多种概率分布,包括均匀分布、正态分布、指数分布、泊松分布等,满足各种应用场景的需求。
  • 工具化调用: 通过MCP协议将各种随机数生成功能封装成易于调用的工具,方便LLM客户端集成使用。
  • 标准MCP服务器: 遵循MCP协议标准,易于与兼容MCP协议的LLM客户端集成。
  • 参考部署: 提供可公开访问的参考部署实例,方便用户快速体验和验证。

安装步骤

由于仓库仅提供了服务器代码,没有详细的安装步骤,以下提供基于Python环境的通用安装步骤:

  1. 安装Python环境: 确保您的系统已安装Python 3.8 或更高版本。建议使用虚拟环境 (venv 或 conda) 来隔离项目依赖。

  2. 克隆仓库: 使用Git克隆FortunaMCP仓库到本地:

    git clone https://github.com/siliconsociety/FortunaMCP
    cd FortunaMCP
  3. 安装依赖: 根据 'app/main.py' 中的 'dependencies=["Fortuna"]' 可以推断需要安装 'Fortuna' 库。虽然没有明确的 'requirements.txt' 文件,但通常可以使用 pip 安装:

    pip install Fortuna
    pip install fastapi uvicorn # FastMCP 依赖 fastapi 和 uvicorn

    注意:如果安装 'Fortuna' 遇到问题,请参考 Fortuna 库的官方文档或仓库,可能需要预先安装 Cython 或 C++ 编译环境。

服务器配置

MCP客户端需要配置以下信息才能连接到FortunaMCP服务器。由于FortunaMCP服务器使用FastMCP框架构建,并且默认使用SSE传输协议,其配置信息通常较为简洁。

{
  "server_name": "FortunaMCP",
  "command": "python",
  "args": [
    "app/main.py"
  ],
  "transport": "sse",
  "description": "FortunaMCP服务器,提供高质量随机数生成服务"
}

配置参数说明:

  • 'server_name': 服务器名称,设置为 "FortunaMCP" 以标识该服务。
  • 'command': 启动服务器的命令,通常为 "python",假设您使用Python环境运行服务器。
  • 'args': 启动命令的参数,指向服务器主程序 'app/main.py'。
  • 'transport': 传输协议,设置为 "sse" (Server-Sent Events),FortunaMCP服务器默认使用SSE。
  • 'description': 服务器描述,可自定义,方便客户端识别和管理。

其他配置说明:

  • 端口: FortunaMCP服务器默认监听80端口,可以通过设置环境变量 'PORT' 来修改端口号。例如,要使用8080端口,可以在启动服务器前设置 'export PORT=8080' (Linux/macOS) 或 'set PORT=8080' (Windows)。
  • 主机: 服务器默认监听所有可用网络接口 ('0.0.0.0')。

基本使用方法

  1. 启动服务器: 在FortunaMCP仓库根目录下,运行以下命令启动服务器:

    python app/main.py

    如果一切正常,您应该看到类似 'Starting Fortuna MCP Server 0.0.4' 的输出信息。

  2. 配置MCP客户端: 在您的MCP客户端中,按照上述 服务器配置 部分的JSON配置信息,配置连接到FortunaMCP服务器。确保客户端能够通过SSE协议与服务器建立连接。

  3. 调用工具: 客户端连接成功后,即可调用FortunaMCP服务器提供的各种随机数生成工具。工具列表和调用方式在 'README.md' 文件的 "Tools Overview" 部分有详细说明。例如,要调用 'dice' 工具模拟掷骰子,客户端需要发送符合MCP协议的JSON-RPC请求,指定方法名为 'FortunaMCP.dice',并传递 'rolls' 和 'sides' 参数。

    示例工具调用 (以 'dice' 工具为例):

    假设您想让LLM客户端调用 'dice' 工具,触发词可以是 "Roll three six-sided dice" 或 "Roll 3d6"。 客户端解析用户指令后,需要构建并发送如下JSON-RPC请求:

    {
      "jsonrpc": "2.0",
      "method": "FortunaMCP.dice",
      "params": {
        "rolls": 3,
        "sides": 6
      },
      "id": "some_request_id"  // 请求ID,客户端自行生成
    }

    服务器收到请求后,会执行 'dice' 工具,生成随机数结果,并以JSON-RPC响应格式返回给客户端。

  4. 参考示例客户端: 仓库中的 'examples/fortuna_agent.py' 提供了一个使用 'agents' 库构建的示例客户端 'FortunaAgent',可以参考该示例了解如何与FortunaMCP服务器进行交互。您可以通过运行 'examples/fortuna_agent.py' 并按照提示输入指令来体验与 FortunaMCP 服务器的交互。

注意事项

  • Fortuna库安装: 请务必正确安装 'Fortuna' 库,如果遇到编译问题,可能需要查阅 Fortuna 库的安装文档。
  • 网络连接: 确保MCP客户端能够通过网络访问到FortunaMCP服务器。如果服务器部署在远程机器上,需要配置网络防火墙和端口转发等。
  • 错误处理: 在实际应用中,客户端需要妥善处理与服务器通信过程中可能出现的错误,例如连接失败、请求超时、服务器返回错误等。

通过以上步骤,您应该能够成功部署和使用FortunaMCP服务器,为您的LLM应用提供高质量的随机数生成服务。

信息

分类

AI与计算