RedAlert MCP Server

RedAlert MCP Server

An intelligent game assistant for Red Alert, based on LangGraph and MCP, providing asynchronous architecture and multimodal AI control for game strategy, production, and combat management.

Category
访问服务器

README

RedAlert AI 智能游戏助手

基于 LangGraph 和 MCP (Model Context Protocol) 的红色警戒智能游戏助手,提供完整的异步架构和多模态AI控制能力。

🎯 项目特色

  • 🤖 智能决策系统: 基于 LangGraph 的状态图工作流,支持复杂的游戏策略决策
  • ⚡ 异步架构: 完全异步化设计,支持高并发任务处理和实时响应
  • 🔧 MCP 工具集: 丰富的游戏控制工具,包括单位控制、生产管理、情报收集等
  • 📊 Token 追踪: 完整的 LLM Token 使用统计和成本分析系统
  • 📈 任务调度: 智能任务管理和并发控制系统

🏗️ 系统架构

RedAlert/
├── graph/                 # LangGraph 工作流核心
│   ├── base_node.py      # 基础节点类
│   ├── classify.py       # 意图分类节点
│   ├── camera.py         # 视觉识别节点
│   ├── production.py     # 生产管理节点
│   ├── unit_control.py   # 单位控制节点
│   ├── intelligence.py   # 情报收集节点
│   └── token_tracker.py  # Token 使用追踪
├── mcp_tools/            # MCP 工具服务器
│   ├── fight_mcp_server.py    # 战斗控制工具
│   ├── produce_mcp_server.py  # 生产管理工具
│   ├── unit_mcp_server.py     # 单位管理工具
│   ├── info_mcp_server.py     # 信息查询工具
│   └── camera_mcp_server.py   # 视觉识别工具
├── task_scheduler/       # 任务调度系统
├── config/              # 配置管理
└── logs/                # 日志系统

⚙️ 环境要求

  • Python: 3.10+
  • 操作系统: Windows (支持 OpenRA 游戏)
  • 内存: 建议 8GB+
  • GPU: 可选,用于视觉识别加速

🚀 快速开始

前置要求

  • OpenRA 游戏: 确保已安装并能正常运行 OpenRA
  • Python 3.10+: 推荐使用 Python 3.11
  • API 密钥: 至少需要一个 LLM 服务的 API 密钥

1. 克隆项目

git clone <repository-url>
cd RedAlert

2. 创建虚拟环境

# 创建虚拟环境
python -m venv .venv

# 激活虚拟环境
.venv\Scripts\activate  # Windows
# 或
source .venv/bin/activate  # Linux/macOS

3. 安装依赖

# 升级 pip
python -m pip install --upgrade pip

# 安装项目依赖
pip install -r requirements.txt

4. 配置环境变量

复制示例配置文件并编辑:

copy .env_example .env  # Windows
# 或
cp .env_example .env    # Linux/macOS

编辑 .env 文件,配置你的 API 密钥:

# OpenAI API 配置 (推荐)
OPENAI_API_KEY=sk-your-openai-api-key-here
OPENAI_BASE_URL=https://api.openai.com/v1

# DeepSeek API 配置 (经济实惠的选择)
DEEPSEEK_API_KEY=your-deepseek-api-key-here
DEEPSEEK_BASE_URL=https://api.deepseek.com

# 模型配置
MODEL_NAME=gpt-4o-mini  # 或 deepseek-chat

# 游戏配置 (可选)
OPENRA_LOG_PATH=C:\Users\YourName\AppData\Roaming\OpenRA\Logs

5. 启动 OpenRA 游戏

  1. 启动 OpenRA 游戏
  2. 选择 "Red Alert" 模组
  3. 开始一局游戏(单人或多人)

6. 启动mcp服务器和AI助手

启动mcp服务器

cd mcp_tools
python start.py

启动助手

# 标准模式启动 (推荐新手)
python main.py

# 或指定启动模式
python main.py --mode stdio --log-level INFO

7. 首次使用

启动成功后,可以尝试输入一些基础指令:

>>> 查看当前游戏状态
>>> 建造一个电厂
>>> 生产5个步兵
>>> 帮我分析当前局势

🎯 启动模式说明

# 标准输入输出模式 (默认,适合开发和调试)
python main.py --mode stdio

# SSE 流式模式 (适合 Web 集成)
python main.py --mode sse

# HTTP API 模式 (适合外部调用)
python main.py --mode http

# 调试模式 (显示详细日志)
python main.py --log-level DEBUG

⚠️ 常见启动问题

问题 1: ModuleNotFoundError

# 确保虚拟环境已激活
.venv\Scripts\activate
pip install -r requirements.txt

问题 2: API 密钥错误

# 检查 .env 文件配置
python validate_config.py

问题 3: OpenRA 连接失败

  • 确保 OpenRA 游戏正在运行
  • 检查游戏日志路径配置是否正确

问题 4: 权限错误

# 以管理员身份运行 (Windows)
# 或检查文件权限 (Linux/macOS)

🎮 功能模块

🧠 智能决策系统

  • 意图分类: 自动识别用户指令类型(生产、战斗、侦察等)
  • 状态管理: 基于 LangGraph 的全局状态跟踪
  • 工作流编排: 复杂任务的自动分解和执行

⚔️ 战斗控制

  • 单位编组: 智能单位分组和阵型管理
  • 战术执行: 攻击、防守、撤退等战术指令
  • 目标识别: 自动识别和优先攻击目标

🏭 生产管理

  • 建筑建造: 自动选择最优建造位置
  • 单位生产: 智能生产队列管理
  • 资源优化: 基于当前资源状况的生产决策

👁️ 视觉识别

  • 屏幕分析: 实时游戏画面识别
  • 单位检测: 自动识别友军和敌军单位
  • 地图分析: 地形和资源点识别

📊 数据分析

  • Token 统计: 详细的 LLM 使用统计和成本分析
  • 性能监控: 系统性能和响应时间监控
  • 日志记录: 完整的操作日志和错误追踪

🛠️ 使用示例

基础指令

>>> 建造一个电厂
>>> 生产5个步兵
>>> 攻击敌人基地
>>> 查看当前资源状况
>>> 侦察地图右上角

高级功能

>>> 创建一个攻击编组,包含坦克和步兵
>>> 在主基地周围建立防御阵地
>>> 分析当前战场形势
>>> 制定经济发展策略

📈 Token 使用统计

系统内置完整的 Token 追踪功能:

from graph.token_stats import show_session_summary, show_cost_analysis

# 查看会话统计
show_session_summary()

# 查看成本分析
show_cost_analysis()

# 导出详细报告
export_report()

🔧 技术栈

  • 核心框架: LangGraph, LangChain
  • 异步处理: asyncio, aiohttp
  • MCP 协议: Model Context Protocol
  • AI 模型: OpenAI GPT, DeepSeek, Claude 等
  • 游戏接口: OpenRA Game API
  • 日志系统: 结构化日志和性能监控

📝 开发说明

添加新的 MCP 工具

  1. mcp_tools/ 目录创建新的服务器文件
  2. 继承 BaseNode 类实现业务逻辑
  3. config/config.py 中注册新工具

扩展工作流节点

  1. graph/ 目录创建新节点类
  2. 实现 process 方法定义节点逻辑
  3. graph.py 中添加到状态图

🐛 故障排除

常见问题

  • MCP 连接失败: 检查 MCP 服务器是否正常启动
  • API 调用错误: 验证 .env 文件中的 API 密钥配置
  • 游戏连接问题: 确保 OpenRA 游戏正在运行

日志查看

# 查看系统日志
tail -f logs/system.log

# 查看 Token 使用日志
tail -f graph/logs/token_usage.jsonl

🤝 贡献指南

  1. Fork 项目仓库
  2. 创建功能分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 创建 Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

🙏 致谢

  • LangGraph - 工作流编排框架
  • OpenRA - 开源即时战略游戏引擎
  • MCP - 模型上下文协议

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选