关于 DEFCON MCP Server
DEFCON MCP Server 通过游戏 AI API 和 Lua bot,将支持 MCP 的 AI 工具连接到 Introversion Software 的 DEFCON。它提供游戏控制和状态查询能力,用于 AI 辅助游玩;README 指出部分命令尚未实现。
主要功能
- 01控制设施与舰队
- 02移动舰队并发射核弹
- 03读取游戏状态和 DEFCON 级别
- 04发送聊天消息及白板操作
- 05提供游戏分析提示词
适用场景
- 01让 AI 工具在 DEFCON 中执行命令
- 02查看游戏状态和 DEFCON 级别
- 03获取设施部署或核打击目标建议
MCP 相关
向 MCP 客户端提供游戏控制工具、游戏状态资源和玩法提示词。支持 stdio 与 HTTP 传输。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
DEFCON MCP 服务
这是一个 Model Context Protocol (MCP) 服务,适用于 Introversion Software 于 2007 年推出的游戏 DEFCON,可让你喜爱的 AI 工具参与全球热核战争。

(开发中;目前尚未提供所有命令!)
设置
- 安装 DEFCON。请至少启动一次,以加载你的 CD 密钥。
- 下载 DEFCON AI API,并将 v1.57 解压到 DEFCON 安装文件夹中。你可能需要将 AI API .exe 重命名为
DEFCON_ai.exe。 - 下载 LUABOT,并将其解压到
<defcon installation folder>/AI;重命名文件夹,使其路径为<defcon installation folder>/AI/luabot/luabot.dll。 - 将此代码仓库 Git 克隆到
luabot文件夹中。 - MCP 服务会写入一个输入文本文件,Lua 机器人会读取该文件。随后,Lua 机器人会写入一个输出文本文件,供 MCP 服务读取。你必须自行设置文件路径;默认硬编码为
R:\input.txt和R:\output.txt,但可以向 Defcon 传递inputfile和/或outputfileCLI 参数来覆盖这些路径。若能设置 RAMDisk,建议使用。 - 在此代码仓库文件夹中运行
npm ci安装依赖项。 - 通过
.\Defcon_ai.exe host nowan nolan nowlan luabot="AI\luabot\main.lua" numplayers=2 territory=0 debug inputfile="D://input.txt" outputfile="D://output.txt"启动游戏。选择AI/luabot/luabot.dll作为“外部机器人”,然后再添加一个内部 AI 玩家。游戏应该会自动开始;如果没有,准备就绪即可开始! - 配置支持 MCP 的大模型界面,通过
node mcp-server.mjs(使用 stdio 传输)或node mcp-server.mjs --http(使用 HTTP 传输)启动 MCP 服务。你可以传递--inputfile="D://input.txt"和--outputfile="D://output.txt"等参数来设置输入/输出文本文件的位置。 - 看着战火席卷吧!
架构
DEFCON MCP 服务采用多层架构,以实现 AI 驱动的游戏体验:
- 游戏层:运行并启用了 AI API 扩展的 DEFCON 游戏
- Lua 桥接层:通过 DEFCON AI API 与游戏交互的 Lua 机器人(
main.lua) - 文件 I/O 层:Lua 机器人与 MCP 服务通过文本文件进行通信
input.txt:从 MCP 服务发送给游戏的命令output.txt:从游戏发送给 MCP 服务的游戏状态信息
- MCP 服务层:实现 Model Context Protocol 的 Node.js 服务(
mcp-server.mjs)- 为大模型交互提供标准化的工具、资源和提示词
- 支持 stdio 和 HTTP 两种传输方式
- 大模型集成层:你的 AI 工具连接到 MCP 服务,以分析游戏状态并发出命令
数据流
- Lua 机器人读取游戏状态并将其写入
output.txt - MCP 服务读取
output.txt,获取当前游戏状态 - 大模型分析游戏状态并决定采取哪些行动
- MCP 服务将命令写入
input.txt - Lua 机器人读取
input.txt并在游戏中执行命令
命令关联
系统使用关联 ID 跟踪命令执行情况:
- 发送给游戏的每条命令都包含一个唯一 ID
- 命令结果会标记相同的 ID
- 这样 MCP 服务就能确认命令是否成功执行
可用的 MCP 工具
MCP 服务提供以下工具:
debug-log:向游戏日志发送调试消息send-chat:向对手发送聊天消息place-structure:在指定坐标放置建筑(RadarStation、Silo 或 AirBase)place-fleet:在指定坐标部署舰队move-fleet:将舰队移动到指定坐标whiteboard-draw:在白板上绘制一条线whiteboard-clear:清除白板上的所有线条launch-nuke:从发射井向目标坐标发射核导弹set-silo-defensive:将发射井设为防御模式get-command-results:获取此前执行的命令结果get-game-state:获取最新的游戏状态信息generate-ai-response:根据当前游戏状态生成 AI 回复
可用的 MCP 资源
MCP 服务提供以下资源:
defcon://game-state:获取当前游戏状态defcon://level:获取当前 DEFCON 级别
可用的 MCP 提示词
MCP 服务提供以下提示词:
analyze-game-state:分析当前游戏状态并提出最佳行动建议suggest-structure-placement:为建筑放置建议最佳位置suggest-nuke-targets:为核打击建议最佳目标
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。