Token导航 LogoToken导航TokenDH.com
Dcs Lua Runner MCP logo
运维云端未说明官方级别未说明来源级核验

Dcs Lua Runner MCP

MCP Server

一个通过MCP协议实现AI助手与数字战斗模拟器(DCS World)实时交互的服务器,提供Lua脚本执行、单位生成、坐标转换等核心功能。

工具数

10

提示词数

0

GitHub Stars

3

资源数

0
Claude实时交互云端部署Claude DesktopClaudeCursorWindsurfClineVS Code

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

sevenfifty777

提供方

sevenfifty777

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

DCS Lua Runner MCP服务器

MCP(模型上下文协议)服务器,使AI助手能够通过聊天与DCS World(数字战斗模拟器)实时交互。

特性

此MCP服务器为AI与DCS的交互提供了以下工具:

可用工具

  1. execute_lua -在DCS服务器上执行任意Lua代码

- 执行自定义Lua脚本 - 任务或GUI环境的选择 - 返回执行结果

  1. get_mission_info -获取当前任务信息

- 任务时间 - 剧院/地图名称 - 任务日期

  1. get_player_info -获取玩家飞机信息

- 飞机名称和类型 - 位置(x,y,z坐标) - 高度 - 速度 - 标题

  1. 获取所有单位 -列出任务中的所有单位

- 按联盟筛选(红色、蓝色、中性或全部) - 单位名称、类型、职位 - 联盟隶属关系

  1. spawn_unit -在任务中组建新部队

- 地面装置或车辆 - 指定位置、航向、联盟 - 自定义单位名称

  1. send_message -在DCS中显示消息

- 向所有玩家发送短信 - 可配置的显示持续时间

  1. get_heatre_info -获取剧院/地图信息

- 当前地图名称 - 剧院详情

  1. get_aircraft列表 -列出所有执行任务的飞机

- 所有空降部队 - 位置和高度 - 联盟信息

  1. 转换器坐标 -将真实世界坐标转换为DCS

- 将纬度/经度(十进制度数)转换为DCS X/Z坐标 - 可选高度参数 - 使用剧院的本地语言 coord.LLtoLO DCS API

  1. convert_dcs_to_ll -将DCS坐标转换为纬度/经度

- 将DCS X/Z转换为真实世界的纬度/经度 - 可选Y/高度参数 - 使用剧院的本地语言 coord.LOtoLL DCS API

先决条件

  1. DCS世界 安装时DCS Fiddle服务器正在运行
  2. Node.js 已安装(用于运行MCP服务器)

配置

MCP服务器从以下位置读取设置 dcs_lua_runner_settings.json 按照以下优先级顺序:

  1. 环境变量 (如果设置):中指定的路径 DCS_SETTINGS_PATH
  2. MCP服务器目录 (默认): dcs_lua_runner_settings.json 与MCP服务器位于同一文件夹中
  3. 回退默认值:如果找不到设置文件,则使用默认的localhost配置

快速设置

  1. 复制模板文件:
   cp dcs_lua_runner_settings.json.template dcs_lua_runner_settings.json
  1. 使用DCS服务器详细信息编辑设置文件(默认值适用于大多数本地设置)

MCP服务器将自动从其自己的目录中查找并加载设置文件。

使用的设置

  • server_address -远程连接的DCS服务器地址
  • server_port -任务环境端口(默认值:12080)
  • server_address_gui -GUI环境服务器地址
  • server_port_gui -GUI环境端口(默认值:12081)
  • use_https -是否使用HTTPS
  • web_auth_username -身份验证用户名
  • web_auth_password -身份验证密码
  • run_code_locally -在本地服务器上执行(127.0.0.1)
  • run_in_mission_env -任务执行与GUI环境

安装

方法1:直接安装(预制)

发布zip已包含预构建的 build/index.js --不需要Node.js构建步骤。

  1. 提取 释放拉链(例如。 dcs-lua-runner-mcp-v1.1.0.zip)到您喜欢的位置,例如:
   C:\dcs-lua-runner-mcp\
  1. 运行安装程序脚本 --打开PowerShell,导航到提取的文件夹并运行:
   .\install-mcp-agent.ps1

该脚本会自动引导您完成两个步骤:

步骤1--DCS服务器设置

- 询问DCS是在同一台机器(本地)上运行还是在远程IP上运行 - 提示输入端口、用户名和密码(括号中显示的当前/模板值--按Enter键保留) - 将结果保存到 dcs_lua_runner_settings.json - 还有补丁 dcs-fiddle-server.lua 具有IP、端口、用户名和密码,无需单独编辑

第二步——代理注册

- 显示支持的代理及其配置状态的编号菜单 - 输入一个或多个用逗号或空格分隔的数字,或键入 all - 类型 skip (或在没有输入的情况下按Enter键)完全跳过代理注册 - 修补每个选定的代理配置文件(如果文件尚不存在,则创建该文件)

   1. Claude Desktop
   2. Cline (VS Code extension)
   3. GitHub Copilot Chat (VS Code)
   4. Cursor
   5. Windsurf
   6. Claude Code CLI
   7. GitHub Copilot CLI

> 提示: 您可以使用标志完全跳过交互式提示: > > ``powershell > # Configure specific agents (e.g. Copilot Chat + Cline) > .\install-mcp-agent.ps1 -AgentIds 2,3 > > # Configure all agents at once > .\install-mcp-agent.ps1 -All > > # Skip agent registration (only update settings + fiddle script) > .\install-mcp-agent.ps1 -SkipAgents > > # Point to a build in a custom location > .\install-mcp-agent.ps1 -ServerPath "D:\tools\dcs-mcp\build\index.js" > ``

  1. 安装DCS服务器脚本 --复制 dcs-fiddle-server.lua 输入DCS任务脚本或DCS Scripts\Hooks 文件夹并加载它(请参见 DCS服务器脚本安装).
  1. 重新启动代理 (重新加载VS Code,重新启动Claude Desktop等)以应用配置更改。

方法2:从GitHub安装

  1. 克隆存储库:
   git clone https://github.com/sevenfifty777/dcs-lua-runner-mcp.git
   cd dcs-lua-runner-mcp
  1. 安装依赖项:
   npm install
  1. 构建项目:
   npm run build
  1. 配置设置和注册代理:

选项A——自动(推荐): 运行安装程序脚本,该脚本一次性处理所有内容:

   .\install-mcp-agent.ps1

脚本将:

- 提示DCS服务器设置并保存 dcs_lua_runner_settings.json - 补丁 dcs-fiddle-server.lua 自动具有相同的值 - 让您从编号菜单中选择要注册的代理(键入 skip 跳过此步骤)

选项B——手动:

复制模板并填写DCS服务器详细信息:

   cp dcs_lua_runner_settings.json.template dcs_lua_runner_settings.json

编辑 dcs_lua_runner_settings.json:

   {
     "server_address": "127.0.0.1",
     "server_port": 12080,
     "server_address_gui": "127.0.0.1",
     "server_port_gui": 12081,
     "use_https": false,
     "web_auth_username": "your_username",
     "web_auth_password": "your_password",
     "run_code_locally": true,
     "run_in_mission_env": true,
     "return_display_format": "lua"
   }

然后更新代理的MCP配置文件以指向 build/index.js. 地方 dcs_lua_runner_settings.json 与MCP服务器位于同一目录中,因此可以自动找到它。

对于Cline(VS代码) --编辑 %APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json:

   {
     "mcpServers": {
       "dcs-lua-runner-mcp": {
         "command": "node",
         "args": ["C:/absolute/path/to/dcs-lua-runner-mcp/build/index.js"]
       }
     }
   }

适用于克劳德桌面 --编辑 %APPDATA%\Claude\claude_desktop_config.json (Windows)或 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):

   {
     "mcpServers": {
       "dcs-lua-runner-mcp": {
         "command": "node",
         "args": ["C:/absolute/path/to/dcs-lua-runner-mcp/build/index.js"]
       }
     }
   }

对于GitHub Copilot聊天(VS代码) --编辑 %APPDATA%\Code\User\mcp.json:

   {
     "servers": {
       "dcs-lua-runner-mcp": {
         "command": "node",
         "args": ["C:/absolute/path/to/dcs-lua-runner-mcp/build/index.js"],
         "type": "stdio"
       }
     }
   }

适用于GitHub Copilot CLI --编辑 %USERPROFILE%\.copilot\mcp-config.json:

   {
     "mcpServers": {
       "dcs-lua-runner-mcp": {
         "command": "node",
         "args": ["C:/absolute/path/to/dcs-lua-runner-mcp/build/index.js"],
         "type": "stdio"
       }
     }
   }

自定义设置路径 --如果 dcs_lua_runner_settings.json 生活在其他地方,通过环境变量传递路径:

   {
     "mcpServers": {
       "dcs-lua-runner-mcp": {
         "command": "node",
         "args": ["C:/absolute/path/to/dcs-lua-runner-mcp/build/index.js"],
         "env": {
           "DCS_SETTINGS_PATH": "C:/custom/path/to/dcs_lua_runner_settings.json"
         }
       }
     }
   }
  1. 安装DCS服务器脚本 --复制 dcs-fiddle-server.lua 输入DCS任务脚本或DCS Scripts 文件夹并加载它(请参见 DCS服务器脚本安装).
  1. 重新启动代理 (重新加载VS Code,重新启动Claude Desktop等)
  1. 测试连接:

问你的人工智能助手:“DCS中的当前任务时间是多少?”

验证

安装后,验证MCP服务器是否正常工作:

  1. 检查一下 build/index.js 存在
  2. 确保DCS World与DCS Fiddle服务器一起运行
  3. 让你的人工智能助手获取任务信息
  4. 检查客户端中的MCP服务器日志是否有任何错误

用法示例

MCP服务器运行后,您可以要求您的AI助手与DCS交互:

获取任务信息

"What's the current mission time in DCS?"
"What theatre/map am I flying in?"

获取玩家信息

"Where is my aircraft?"
"What's my current altitude and speed?"

产卵单位

"Spawn a T-72B tank at coordinates x=100000, z=200000 for the red coalition"
"Create an M-1 Abrams at position 150000, 250000 facing north"

发送消息

"Send a message to all players saying 'Mission starting in 5 minutes'"

执行自定义Lua

"Execute this Lua code in DCS: return timer.getTime()"
"Run this script to get all blue coalition units"

列出单位和飞机

"Show me all units in the mission"
"List all red coalition aircraft"
"What aircraft are currently in the mission?"

转换坐标

"Convert latitude 41.123, longitude 44.987 to DCS coordinates"
"What are the DCS X/Z coordinates for lat 51.5, lon 37.2?"
"Convert DCS coordinates X=100000, Z=200000 to latitude/longitude"
"What is the real-world position of the unit at DCS X=50000, Z=150000?"

DCS设置要求

⚠️ 安全通告:设置DCS Fiddle需要禁用DCS沙盒,并可选择暴露网络端口。阅读 DCS_Setup_Risks.md 在继续之前进行全面的风险评估和强制性安全措施。

1.DCS Fiddle服务器安装

步骤1--找到“保存的游戏”文件夹

DCS在Windows下使用文件夹 Saved Games 以存储用户脚本。确切的名称取决于您的DCS分支:

DCS分支已保存的游戏文件夹
DCS世界(稳定)%USERPROFILE%\Saved Games\DCS
DCS世界公测版%USERPROFILE%\Saved Games\DCS.openbeta

打开文件资源管理器并导航到正确的路径,例如:

C:\Users\\Saved Games\DCS

步骤2——创建Hooks文件夹(如果不存在)

在“保存的游戏DCS”文件夹中,如果尚未创建以下文件夹结构,请创建它:

Saved Games\DCS\Scripts\Hooks\

在Windows上,您可以从PowerShell执行此操作:

New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\Saved Games\DCS\Scripts\Hooks"
对于OpenBeta,请替换 DCSDCS.openbeta.

步骤3——复制服务器脚本

复制 dcs-fiddle-server.lua 从该存储库到Hooks文件夹:

Copy-Item ".\dcs-fiddle-server.lua" "$env:USERPROFILE\Saved Games\DCS\Scripts\Hooks\"

最后的路径应该看起来像:

%USERPROFILE%\Saved Games\DCS\Scripts\Hooks\dcs-fiddle-server.lua

步骤4——验证脚本是否已加载

启动DCS后,打开 %USERPROFILE%\Saved Games\DCS\Logs\dcs.log 并搜索:

DCS Fiddle successfully initialized

如果您看到这行,则服务器正在运行并侦听端口 12080 (任务环境)和 12081 (GUI环境)。

备注:DCS在启动时为主菜单(GUI环境)和任务加载Hooks文件夹。你做 需要添加任何内容 autoexec.cfg.

2.DCS脱盐

⚠️ 安全警告:此步骤禁用DCS沙盒并授予脚本完全的系统访问权限。看 DCS_Setup_Risks.md 了解完整的风险细节以及之后如何恢复安全性。

编辑 DCS_INSTALL\Scripts\MissionScripting.lua 并评论这两行:

--  _G['require'] = nil      -- comment this out
    _G['loadlib'] = nil
--  _G['package'] = nil      -- comment this out

3.启动DCS

  1. 推出DCS World
  2. DCS Fiddle服务器将自动启动
  3. 验证服务器是否正在运行(检查DCS.log中的“DCS Fiddle已成功初始化”)

故障排除

连接错误

错误:“连接被拒绝-检查DCS Fiddle服务器是否正在运行”

  • 解决方案:确保DCS正在运行,DCS Fiddle服务器安装正确

错误:“请求超时-检查服务器连接”

  • 解决方案:检查DCS Fiddle服务器是否绑定到正确的地址/端口
  • 如果使用远程连接,请验证防火墙设置

身份验证错误

错误:未经授权(401)

  • 解决方案:在中检查用户名/密码 dcs_lua_runner_settings.json
  • 确保身份验证设置与DCS Fiddle服务器配置匹配

执行错误

错误:“未找到玩家”

  • 解决方案:确保你在一个由玩家控制的飞机上执行任务
  • 尝试在任务和GUI环境之间切换

错误:Lua执行错误

  • 解决方案:检查Lua语法和DCS API可用性
  • 某些功能仅在任务环境中工作

MCP检验员测试

MCP Inspector是一个开发工具,允许您在将MCP服务器与AI客户端集成之前,以交互方式测试和调试MCP服务器。

运行检查器

  1. 确保项目建成:
   npm run build
  1. 启动MCP检查器:
   npm run inspector
  1. 使用检查器:

- 检查器将在默认web浏览器中打开 - 您将看到一个交互式GUI,显示: - 可用工具:所有10个DCS交互工具列表 - 刀具参数:每个工具参数的输入字段 - 请求/响应:MCP通信的实时显示 - 测试结果:每个工具执行的输出

  1. 测试单个工具:

- 从列表中选择工具(例如。, get_mission_info) - 填写所需参数(如有) - 点击“执行”测试工具 - 查看JSON格式的响应

  1. 示例测试场景:

- 测试连接:使用 get_mission_info 验证DCS连接 - 测试Lua执行:使用 execute_lua 使用简单的代码,如 return "Hello from DCS" - 试产卵:使用 spawn_unit 带有测试坐标 - 调试错误:查看详细的错误消息和堆栈跟踪

检查员福利

  • 无需AI客户端:无需配置Cline或Claude Desktop即可进行测试
  • 交互式调试:实时查看请求和响应
  • 参数验证:集成前验证工具输入
  • 快速迭代:重建后立即进行测试更改

备注

  • 检查器在测试环境中运行MCP服务器
  • 您仍然需要DCS World与Fiddle服务器一起运行,才能进行实际的DCS交互
  • 检查员使用相同的 dcs_lua_runner_settings.json 配置

发展

从源头构建

cd C:\{your_path}\dcs-lua-runner-mcp
npm install
npm run build

项目结构

dcs-lua-runner-mcp/
├── src/
│   └── index.ts          # Main MCP server implementation
├── build/
│   └── index.js          # Compiled JavaScript
├── package.json
├── tsconfig.json
└── README.md

添加新工具

要添加新的DCS交互工具:

  1. 将工具定义添加到 ListToolsRequestSchema 处理器
  2. 在中实现工具逻辑 CallToolRequestSchema 处理器
  3. 重建: npm run build

安全考虑

  • 本地执行:默认情况下,在 127.0.0.1 (仅限本地主机)
  • 远程执行:需要身份验证(用户名/密码)
  • 代码验证:所有Lua代码在传输前都经过base64编码
  • DCS安全:需要DCS去矿化(了解风险!)

许可证

MIT许可证-基于DCS Lua Runner GUI项目

学分

  • DCS Lua Runner VSCode扩展: omltcat
  • GUI实现:为独立的Windows应用程序创建
  • 模型上下文协议:Anthropic的MCP SDK

支持

关于以下问题:

  • MCP服务器:检查构建输出和MCP设置
  • DCS连接:验证DCS Fiddle服务器安装
  • Lua执行:检查DCS.log以获取详细的错误消息

LobeHub

](https://lobehub.com/mcp/sevenfifty777-dcs-lua-runner-mcp)

目录标签

目录标签

Claude实时交互云端部署Lua本地部署飞行模拟Lua脚本军事仿真AI集成

支持客户端

Claude DesktopClaudeCursorWindsurfClineVS Code

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

10

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP