项目简介
'lesphynx' 仓库提供了一个基于 Model Context Protocol (MCP) 的服务器实现,用于与一个法式滚球(Pétanque)3D 模拟器进行交互。它将模拟器的核心功能(如投掷、放置、获取游戏状态等)封装成 MCP 工具和资源,并提供智能化的Prompt模板,允许大型语言模型 (LLM) 客户端通过标准化的 JSON-RPC 协议来控制游戏、获取实时数据并请求策略建议。
主要功能点
- 游戏控制: 提供重置游戏、放置小球(cochonnet)和投掷大球(boule)的工具,允许LLM指令控制游戏进程。
- 状态查询: 提供获取当前游戏完整状态(所有球的位置、玩家得分等)和所有大球到小球距离的工具和资源。
- 智能策略: 提供 Prompt 模板,允许LLM根据当前游戏状况分析并给出游戏策略或新手建议。
- HTTP 传输: 服务器通过 Streamable HTTP 协议与MCP客户端进行通信。
安装步骤
- 克隆仓库:
git clone https://github.com/gablandman/lesphynx.git cd lesphynx - 安装Python环境和依赖: 确保已安装 'uv' (可以通过 'curl -sSL https://astral.sh/uv/install.sh | sh' 或其他方式安装)。
uv python install uv sync --locked - 启动Pétanque模拟器后端 (可选,但推荐在本地运行):
虽然MCP服务器默认会尝试连接 'https://lesphynx.onrender.com' 上的远程模拟器,但为了更好的体验和控制,建议在本地启动 'petanque_server.py'。
(这将在 'http://localhost:8001' 上启动模拟器后端)uv run petanque_server.py
服务器配置
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";如果使用默认远程服务,则可以省略此项。
基本使用方法
- 启动MCP服务器:
(服务器将在 'http://localhost:3000' 上监听)uv run main.py - 通过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与计算