Slippi回放分析服务器

一个用于分析Super Smash Bros. Melee回放文件的Julia MCP服务器,提供统计分析和语义搜索功能。

  • by jph6366
  • Julia
  • 本地部署
  • 更新于
在 GitHub 查看 jph6366/peppi-mcp

使用说明

peppi-mcp

Slippi的最小、惯用的Julia MCP服务器 .slp 重播文件

一种模型上下文协议(MCP)服务器,为LLM客户端提供分析Super Smash Bros.Melee重播文件的工具。使用Julia构建,用于高性能统计分析和语义搜索。

特性

工具

  • generate_stats --从Slippi回放生成竞争统计数据

    • 核心统计数据:库存、伤害、中立胜利、开盘率
    • 惩罚分析:转化率、零到死亡、惩罚效率
    • 运动技术:波浪冲刺、L取消、冲刺舞蹈、壁上冲刺
    • 可按玩家、对手、角色、阶段、日期范围进行筛选
  • search_replays --回放集合的语义搜索

    • 自然语言查询(“关闭我输掉的最后一场股票游戏”)
    • 结构过滤器(角色、阶段、结果)
    • 基于余弦相似度排序的回放级嵌入

安装

先决条件

  • Julia 1.9或更高版本
  • Rust工具链(通过以下方式自动安装 RustToolChain.jl)

服务器自动安装 peppi-slp 从源代码启动通过 cargo install.

设置

  1. 克隆此存储库:
cd /path/to/peppi-mcp
  1. 实例化Julia依赖关系:
julia --project=. -e 'using Pkg; Pkg.instantiate()'
  1. 配置Claude桌面/代码(请参阅配置部分)

配置

克劳德桌面版

添加到您的 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或同等版本:

{
  "mcpServers": {
    "peppi-mcp": {
      "command": "julia",
      "args": [
        "--project=/path/to/peppi-mcp",
        "/path/to/peppi-mcp/bin/peppi-mcp.jl"
      ]
    }
  }
}

克劳德代码

添加到您的 ~/.claude/mcp.json:

{
  "peppi-mcp": {
    "command": "julia",
    "args": [
      "--project=/path/to/peppi-mcp",
      "/path/to/peppi-mcp/bin/peppi-mcp.jl"
    ]
  }
}

用法

配置后,您可以在Claude对话中使用这些工具:

Generate stats for my replays:
> Use generate_stats with dir="/path/to/replays" and player_code="ABCD#123"

Search for specific game types:
> Use search_replays with dir="/path/to/replays" and query="Fox vs Marth games where I lost last stock"

实施状态

✅ MCP 服务器 — ModelContextProtocol.jl-基于stdio传输的服务器, generate_stats 和 search_replays 工具

✅ 回放解析 — .slp 和 .slpp 文件支持通过 PeppiJlrs (鲁斯特/朱莉娅FFI)

✅ 统计引擎 — stats.jl:股票、伤害、惩罚指标、移动技术

✅ 搜索和嵌入 — embeddings.jl + search.jl:特征提取和余弦相似度排序

建筑

peppi-mcp/
├── Project.toml          # Julia package manifest
├── peppi/
│   ├── parse.jl          # Low-level Rust FFI bindings (PeppiJlrs)
│   └── game.jl           # Game, Frame, Player type definitions
├── src/
│   ├── PeppiMCP.jl       # Main module: MCP server, tool handlers, replay readers
│   ├── Internal.jl       # Internal utilities
│   ├── action_states.jl  # Melee action state definitions
│   ├── parsing.jl        # High-level .slp/.slpp parsing helpers
│   ├── stats.jl          # Statistics calculation
│   ├── embeddings.jl     # Replay-level feature vectors
│   └── search.jl         # Semantic search implementation
└── bin/
    └── peppi-mcp.jl      # Executable entry point

发展

运行测试

julia --project=. -e 'using Pkg; Pkg.test()'

启动服务器

julia --project=. bin/peppi-mcp.jl

服务器通过stdio使用MCP协议,并由以下人员管理 ModelContextProtocol.jl.

参考文献

许可证

麻省理工学院