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によるプレイ向けにゲーム操作と状態取得を提供しますが、一部コマンドは未対応です。

主な機能

  1. 01施設と艦隊の操作
  2. 02艦隊の移動と核ミサイル発射
  3. 03ゲーム状態とDEFCONレベルの取得
  4. 04チャット送信とホワイトボード操作
  5. 05ゲーム分析用プロンプト

活用シーン

  1. 01AIツールからDEFCONのコマンドを実行
  2. 02ゲーム状態とDEFCONレベルを確認
  3. 03施設配置や核攻撃目標の提案を取得

MCP 対応

MCPクライアントにゲーム操作ツール、ゲーム状態リソース、プレイ用プロンプトを提供します。stdioとHTTPのトランスポートに対応しています。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

DEFCON MCP サーバー

これは、Introversion Software の 2007 年のゲーム DEFCON 用の Model Context Protocol(MCP) サーバーです。お気に入りの AI ツールで GLOBAL THERMONUCLEAR WAR をプレイできます。

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. このリポジトリを luabot フォルダーに Git clone します。
  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" でゲームを起動します。「external bot」として AI/luabot/luabot.dll を選択し、さらに内部 AI プレイヤーも追加します。ゲームは自動的に開始するはずです。開始しない場合は、準備完了にしてゲームを開始してください!
  8. MCP 対応の LLM インターフェースを設定し、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)
    • LLM とのやり取りに標準化されたツール、リソース、プロンプトを提供します
    • stdio と HTTP の両方のトランスポート方式に対応しています
  5. LLM 統合レイヤー:AI ツールが MCP サーバーに接続し、ゲーム状態を分析してコマンドを発行します
データフロー
  1. Lua ボットがゲーム状態を読み取り、output.txt に書き込みます
  2. MCP サーバーが output.txt を読み取り、現在のゲーム状態を取得します
  3. LLM がゲーム状態を分析し、アクションを決定します
  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:核攻撃に最適な目標を提案します

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。