Flame游戏引擎文档服务器

一个为AI助手(如Claude Desktop和Amazon Q Developer)提供Flame游戏引擎文档全面访问的MCP服务器,支持本地缓存和智能搜索。

  • by salihgueler
  • Dart
  • 本地部署
  • 25 星标
  • 更新于
在 GitHub 查看 salihgueler/flame_mcp_server

使用说明

Flame MCP服务器

一个模型上下文协议(MCP)服务器,为Claude Desktop和Amazon Q Developer等AI助手提供对Flame游戏引擎文档的全面访问。

🎯 这有什么作用

  • 文档访问:提供对完整Flame引擎文档的可搜索访问
  • 导师制:提供循序渐进的游戏开发教程(太空射手、平台游戏、克朗代克)
  • 本地高速缓存:在本地存储文档,以便快速离线访问
  • MCP集成:与Claude Desktop和Amazon Q CLI无缝协作
  • 搜索工具:在所有文档和教程中进行智能搜索

🚀 快速开始

1.构建和设置

# Clone and build the server
git clone <repository-url>
cd flame_mcp_server
./build_clean.sh

这将:

  • 安装Dart依赖项
  • 构建MCP服务器可执行文件
  • 下载并缓存所有Flame文档(~146个文件)

2.配置您的MCP客户端

亚马逊Q开发者

添加到MCP配置中:

{
  "mcpServers": {
    "flame-docs": {
      "command": "/absolute/path/to/flame_mcp_server/build/flame_mcp_live"
    }
  }
}

克劳德桌面

增添 claude_desktop_config.json:

{
  "mcpServers": {
    "flame-docs": {
      "command": "/absolute/path/to/flame_mcp_server/build/flame_mcp_live"
    }
  }
}

配置文件位置:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 视窗: %APPDATA%\\Claude\\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

3.重新启动MCP客户端

重新启动Claude Desktop或Amazon Q CLI以加载Flame文档服务器。

🛠️ 可用工具

search_documentation

在所有Flame文档中搜索特定主题。

示例查询:

  • “如何在Flame中实现碰撞检测?”
  • “搜索组件系统示例”
  • “查找有关精灵动画的信息”

tutorial

获取完整的分步游戏开发教程。

可用教程:

  • 太空射手:构建经典太空射击游戏的完整6步教程
  • 平台游戏:构建侧滚平台游戏机的7步教程(Ember Quest)
  • 克朗代克:构建单人纸牌游戏的5步教程

示例用法:

  • “演示如何构建太空射击游戏” → 包含所有步骤的完整教程
  • “我想创建一个平台游戏” → 完整的平台游戏教程
  • “列出所有可用教程” → 所有教程概述

📊 建筑

┌─────────────────┐    ┌──────────────────┐    ┌─────────────────┐
│   MCP Client    │    │  Flame MCP       │    │  Documentation  │
│ (Claude/Amazon Q)│◄──►│     Server       │◄──►│     Cache       │
└─────────────────┘    └──────────────────┘    └─────────────────┘
                              │
                              ▼
                       ┌──────────────────┐
                       │   GitHub API     │
                       │ (flame-engine/   │
                       │    flame/doc)    │
                       └──────────────────┘

🔧 配置

GitHub Token(推荐)

为了获得更好的速率限制(5000对60个请求/小时):

  1. 创建GitHub个人访问令牌:

  2. 设置环境变量:

    # macOS/Linux
    export GITHUB_TOKEN=your_token_here
    
    # Windows
    setx GITHUB_TOKEN "your_token_here"
    

📁 项目结构

flame_mcp_server/
├── bin/
│   ├── flame_mcp_live.dart           # Main MCP server
│   └── flame_sync_standalone.dart    # Documentation sync utility
├── lib/src/
│   ├── flame_live_docs.dart          # Documentation management
│   └── flame_mcp_live.dart           # MCP protocol implementation
├── build/
│   └── flame_mcp_live                # Compiled MCP server
├── flame_docs_cache/                 # Cached documentation (146 files)
├── build_clean.sh                    # Build and setup script
└── README.md                         # This file

🎮 交互示例

构建太空射击游戏

你: “我想在Flame中构建一个太空射击游戏。给我看完整的教程。”

答复: 完成6步教程,包括:

  • 项目设置和基本游戏结构
  • 玩家控制和图形
  • 动画和视觉效果
  • 敌人产卵和移动
  • 射击力学
  • 碰撞检测和评分

了解组件

你: “火焰组件系统是如何工作的?”

答复: 关于以下内容的详细文档:

  • 组件生命周期
  • 组件层次结构
  • 内置组件
  • 创建自定义组件
  • 组件通信

🔄 维护

刷新文档缓存

# Update to latest Flame documentation
dart run bin/flame_sync_standalone.dart

重建服务器

# Clean rebuild with fresh documentation
./build_clean.sh

📋 先决条件

  • Dart SDK:版本3.2.0或更高版本
  • Internet连接:初始文档同步所需
  • MCP客户端:Claude Desktop、Amazon Q CLI或兼容客户端

🐛 故障排除

找不到服务器

  • 确保您正在使用 绝对路径 到MCP配置中的可执行文件
  • 验证可执行文件是否存在: ls -la build/flame_mcp_live
  • 检查文件权限: chmod +x build/flame_mcp_live

没有搜索结果

  • 跑 ./build_clean.sh 重建缓存和服务器
  • 检查缓存是否存在: ls flame_docs_cache/
  • 验证缓存是否包含以下内容: find flame_docs_cache -name "*.md" | wc -l (应显示~146)

利率限制问题

  • 设置GitHub个人访问令牌(请参阅配置部分)
  • 检查同步日志中的速率限制状态

📈 演出

  • 文档文件:146个Markdown文件
  • 缓存大小:约3 MB
  • 同步时间:30-60秒(取决于网络)
  • 内存使用:运行时小于50 MB
  • 启动时间:<2秒

🤝 贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 测试用 ./build_clean.sh
  5. 提交拉取请求

📄 许可证

该项目根据MIT许可证获得许可。

🔗 相关链接


准备好开始用Flame构建游戏了吗? 跑 ./build_clean.sh 并将服务器添加到您的MCP客户端! 🎮