mcpField
D
DEFCON MCP Server

DEFCON MCP Server

本地服务
github.com/jorisvddonk游戏娱乐373 周前更新

关于 DEFCON MCP Server

DEFCON MCP Server 通过游戏 AI API 和 Lua bot,将支持 MCP 的 AI 工具连接到 Introversion Software 的 DEFCON。它提供游戏控制和状态查询能力,用于 AI 辅助游玩;README 指出部分命令尚未实现。

主要功能

  1. 01控制设施与舰队
  2. 02移动舰队并发射核弹
  3. 03读取游戏状态和 DEFCON 级别
  4. 04发送聊天消息及白板操作
  5. 05提供游戏分析提示词

适用场景

  1. 01让 AI 工具在 DEFCON 中执行命令
  2. 02查看游戏状态和 DEFCON 级别
  3. 03获取设施部署或核打击目标建议

MCP 相关

向 MCP 客户端提供游戏控制工具、游戏状态资源和玩法提示词。支持 stdio 与 HTTP 传输。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

DEFCON MCP 服务

这是一个 Model Context Protocol (MCP) 服务,适用于 Introversion Software 于 2007 年推出的游戏 DEFCON,可让你喜爱的 AI 工具参与全球热核战争。

README 配图 README 配图

(开发中;目前尚未提供所有命令!)

设置

  1. 安装 DEFCON。请至少启动一次,以加载你的 CD 密钥。
  2. 下载 DEFCON AI API,并将 v1.57 解压到 DEFCON 安装文件夹中。你可能需要将 AI API .exe 重命名为 DEFCON_ai.exe。
  3. 下载 LUABOT,并将其解压到 <defcon installation folder>/AI;重命名文件夹,使其路径为 <defcon installation folder>/AI/luabot/luabot.dll。
  4. 将此代码仓库 Git 克隆到 luabot 文件夹中。
  5. MCP 服务会写入一个输入文本文件,Lua 机器人会读取该文件。随后,Lua 机器人会写入一个输出文本文件,供 MCP 服务读取。你必须自行设置文件路径;默认硬编码为 R:\input.txt 和 R:\output.txt,但可以向 Defcon 传递 inputfile 和/或 outputfile CLI 参数来覆盖这些路径。若能设置 RAMDisk,建议使用。
  6. 在此代码仓库文件夹中运行 npm ci 安装依赖项。
  7. 通过 .\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 玩家。游戏应该会自动开始;如果没有,准备就绪即可开始!
  8. 配置支持 MCP 的大模型界面,通过 node mcp-server.mjs(使用 stdio 传输)或 node mcp-server.mjs --http(使用 HTTP 传输)启动 MCP 服务。你可以传递 --inputfile="D://input.txt" 和 --outputfile="D://output.txt" 等参数来设置输入/输出文本文件的位置。
  9. 看着战火席卷吧!

架构

DEFCON MCP 服务采用多层架构,以实现 AI 驱动的游戏体验:

  1. 游戏层:运行并启用了 AI API 扩展的 DEFCON 游戏
  2. Lua 桥接层:通过 DEFCON AI API 与游戏交互的 Lua 机器人(main.lua)
  3. 文件 I/O 层:Lua 机器人与 MCP 服务通过文本文件进行通信
    • input.txt:从 MCP 服务发送给游戏的命令
    • output.txt:从游戏发送给 MCP 服务的游戏状态信息
  4. MCP 服务层:实现 Model Context Protocol 的 Node.js 服务(mcp-server.mjs)
    • 为大模型交互提供标准化的工具、资源和提示词
    • 支持 stdio 和 HTTP 两种传输方式
  5. 大模型集成层:你的 AI 工具连接到 MCP 服务,以分析游戏状态并发出命令
数据流
  1. Lua 机器人读取游戏状态并将其写入 output.txt
  2. MCP 服务读取 output.txt,获取当前游戏状态
  3. 大模型分析游戏状态并决定采取哪些行动
  4. MCP 服务将命令写入 input.txt
  5. 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

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。