项目简介

'lesphynx' 仓库提供了一个基于 Model Context Protocol (MCP) 的服务器实现,用于与一个法式滚球(Pétanque)3D 模拟器进行交互。它将模拟器的核心功能(如投掷、放置、获取游戏状态等)封装成 MCP 工具和资源,并提供智能化的Prompt模板,允许大型语言模型 (LLM) 客户端通过标准化的 JSON-RPC 协议来控制游戏、获取实时数据并请求策略建议。

主要功能点

  • 游戏控制: 提供重置游戏、放置小球(cochonnet)和投掷大球(boule)的工具,允许LLM指令控制游戏进程。
  • 状态查询: 提供获取当前游戏完整状态(所有球的位置、玩家得分等)和所有大球到小球距离的工具和资源。
  • 智能策略: 提供 Prompt 模板,允许LLM根据当前游戏状况分析并给出游戏策略或新手建议。
  • HTTP 传输: 服务器通过 Streamable HTTP 协议与MCP客户端进行通信。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/gablandman/lesphynx.git
    cd lesphynx
  2. 安装Python环境和依赖: 确保已安装 'uv' (可以通过 'curl -sSL https://astral.sh/uv/install.sh | sh' 或其他方式安装)。
    uv python install
    uv sync --locked
  3. 启动Pétanque模拟器后端 (可选,但推荐在本地运行): 虽然MCP服务器默认会尝试连接 'https://lesphynx.onrender.com' 上的远程模拟器,但为了更好的体验和控制,建议在本地启动 'petanque_server.py'。
    uv run petanque_server.py
    (这将在 'http://localhost:8001' 上启动模拟器后端)

服务器配置

MCP客户端需要以下配置信息来连接此服务器:

{
  "server name": "Pétanque Simulator MCP",
  "command": "uv",
  "args": [
    "run",
    "main.py"
  ],
  "env": {
     "PETANQUE_API_URL": "http://localhost:8001" 
  }
}
  • server name: 服务器在MCP客户端中显示的名称,此处为 "Pétanque Simulator MCP"。
  • command: 启动MCP服务器的命令,此处为 "uv"。
  • args: 传递给启动命令的参数,此处为 ["run", "main.py"]。
  • env: 环境变量,'PETANQUE_API_URL' 用于指定Pétanque模拟器后端的地址。如果本地运行 'petanque_server.py',请将此值设置为 "http://localhost:8001";如果使用默认远程服务,则可以省略此项。

基本使用方法

  1. 启动MCP服务器:
    uv run main.py
    (服务器将在 'http://localhost:3000' 上监听)
  2. 通过MCP客户端交互: 使用任何兼容的MCP客户端(例如 '@modelcontextprotocol/inspector')连接到 'http://127.0.0.1:3000/mcp'。 连接后,LLM客户端即可通过JSON-RPC调用服务器提供的工具(如 'reset_game', 'place_cochonnet', 'throw_ball' 等)、读取资源(如 'petanque://state', 'petanque://distances')以及使用Prompt模板(如 'strategy', 'beginner')来与法式滚球模拟器进行交互。

信息

分类

AI与计算