Token导航 LogoToken导航TokenDH.com
Eos MCP logo
AI代理stdio官方级别未说明来源级核验

Eos MCP

MCP Server

ts-node

Eos MCP是一个生产就绪的网关,将ETC Eos灯光控制台转换为可通过AI助手和自动化工具驱动的服务,支持MCP协议和OSC网络集成。

工具数

5

提示词数

0

GitHub Stars

0

资源数

0
TypeScriptClaudeAI代理Claude DesktopClaude

安装说明

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

作者 / 组织

Nairolf138

提供方

Nairolf138

最后核验

2026/5/17 20:20

运行时

Node.js

快速接入

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

命令预览

npx ts-node src/server/index.ts --help

详细介绍

Eos MCP

Licence: AGPL v3

Eos MCP 是一个生产就绪的网关,可将您的EOS ETC灯光控制台转换为可由AI助手和自动化工具控制的服务。通过模型上下文协议(MCP)和强大的开放声音控制(OSC)网络集成,您可以从对话界面或低代码工作流协调提示、预设和例程,保持对安全和监控的精细控制。

归属公约

为免生疑问,本文件中保留的身份协议为: Florian Ribes (NairolfConcept). 该表格必须在法律通知、文件标题和项目文件中以相同的方式使用。

许可证标题(仅AGPL-3.0)

存储库现在在每个源文件中应用一个短标题。该公约对所有人都是强制性的 新文件 以确保未来的一致性。

  • 版权持有人: Florian Ribes (NairolfConcept)
  • 年份: 2026
  • 许可证ID: SPDX-License-Identifier: AGPL-3.0-only

根据语言使用的格式:

  • Types/JavaScript(.ts, .js, .d.ts)
  /*
   * Copyright 2026 Florian Ribes (NairolfConcept)
   * SPDX-License-Identifier: AGPL-3.0-only
   */
  • 壳牌(.sh)
  # Copyright 2026 Florian Ribes (NairolfConcept)
  # SPDX-License-Identifier: AGPL-3.0-only
  • 批处理窗口(.cmd, .bat)
  @REM Copyright 2026 Florian Ribes (NairolfConcept)
  @REM SPDX-License-Identifier: AGPL-3.0-only

为什么选择EOS MCP?

  • 可实现自动化 :一个弹性服务器,能够连续运行,为您的舞台和广播流程供电。
  • 统一操作员体验 :将您的EOS工具公开给ChatGPT、Claude、N8N或任何支持MCP的平台,而无需重写脚本。
  • 综合安全 :API密钥、MCP令牌和网络过滤,可配置以框架对控制台的访问。
  • 生成的文档 :每个MCP工具都有详细的数据表 docs/tools.md 以加快团队的入职。

关键用例

  • 从AI助手触发提示灯以平滑重复。
  • 将EOS集成到N8N工作流中,以同步控制、时间码和自动化。
  • 监控和审核通过可选HTTP/WS网关远程发送的命令。

补充文件

  • 自动化食谱:用于触发提示、操作预设和调整强度级别的现成场景。
  • 导游代理LLM:人工智能助手的行为规则、干运行/确认示例和每个用户意图的工具方向表。
  • 建筑技术:MCP→OSC流程图、内部组件和“在哪里修改什么”指南。
  • docs/tools.md:为每个MCP工具自动生成详尽的参考。
  • 添加MCP工具:创建工具系列、声明OSC映射、编写ZOD模式、测试和重新生成引用的贡献者过程。
  • 指南许可(社区与商业) :简单的双向视图、常见问题解答和实际案例。

基本MCP工具

工具说明详细信息
eos_readiness_check第一步强制只读:ping、握手、版本、命令行、显示名称、计数和可选补丁读取。docs/tools.md#eos就绪检查
eos_cue_go转到活动提示列表。docs/tools.md#eos提示
eos_cue_stop_back停止或返回列表。docs/tools.md#eos提示停止返回
eos_preset_fire立即提醒预设。docs/tools.md#eos预设火
eos_channel_set_level设置通道的强度(0–100%)。docs/tools.md#eos通道设置级别

第一步:准备

在任何业务阅读、干运行或实际操作之前,LLM助理必须致电 eos_readiness_check.工具返回 structuredContent.overall_status, transport_status, handshake_mode, json_read_supported, failed_checksoperator_actions;如果不支持JSON读取,向导不得发明补丁、提示或显示状态,必须请求OSC重新配置或显式源。提供 patchChannel 当您还想验证已知通道上的只读补丁读取时。

安全模式

Plan → 干跑→ 确认→ 性行为。 对于显示的任何更改(提示、补丁、调色板、文本命令或实时触发),向导必须宣布其行动计划,提供命令预览的干运行,然后只有在操作员明确确认后才能实际执行。

CUE修改示例:

  1. 宣布的计划:“我将更新频道列表1中的提示12 1 Thru 10,应用强度因子 0.7然后准备更新而不发送。»
  2. 建议干跑:呼叫 eos_workflow_update_cue_lookdry_run=true 用于预览 Chan 1 Thru 10 At * 0.7 然后 Update Cue 1 / 12structuredContent.commands_preview.
  3. 明确确认:等待明确的响应,例如“确认,执行CUE 12更新”
  4. 实际执行:使用相同的业务参数重新启动相同的工作流, dry_run=false (无 dry_run)et require_confirmation: true 仅在明确确认后,然后检查 structuredContent.command_logstructuredContent.commandsSent.

莱斯 敏感的低级工具 (eos_cue_record, eos_cue_update, eos_patch_*, eos_command, eos_new_command,触发 fire等)针对的是确切知道要发送和依赖哪个EOS命令的集成。 require_confirmation, safety_level 以及严格的方案。 eos_new_command 还拒绝由CUE编程组成的命令(例如 At + Record + Label)的。对于一系列提示,Claude必须优先考虑 eos_workflow_create_cue_serieslooks[].intensity (ou looks[].level)以便工作流发出 Chan 1 Thru 10 At Full,然后 Record Cue 3,然后 Cue 3 Label "Reggae" 作为单独的命令,不连接 At, RecordLabelchannels莱斯 引导高级别工作流 (eos_workflow_*)协调多个业务命令,接受未知的客户端元数据而不执行它们,并通过 dry_run=true它们的实际执行被拒绝,只要 require_confirmation 不值得 true,Claude只能在显式用户验证后通过重新启动相同的工作流来添加此字段 structuredContent.commands_preview.

先决条件

  • Node.js 20+(使用当前LTS进行测试)。
  • NPM9+。
  • EOS ETC控制台(或软件 游牧者 离线模式)可在同一网络上访问。
  • 访问MCP集成的目标工具(ChatGPT、Claude、N8N)。

检查您的Node.js版本:

node --version

安装MCP服务器

  1. 克隆存储库并安装依赖项:
   git clone https://github.com/Nairolf138/Eos_MCP.git
   cd Eos_MCP
   npm install
  1. (可选)文件 .env.example 反映服务器验证的默认值:复制到 .env 然后根据需要调整网络端口/设置。运行时,服务器现在会自动加载文件 .env 从项目的根源;不需要额外的步骤。

脚本npm-utiles

  • npm run build :编译TypeScript版本 dist/.
  • npm run tsc :仅运行TypeScript编译(在Windows上用于隔离TS错误而不复制工件)。
  • npm run lint :使用ESLint检查代码样式。
  • npm run lint:manifest :通过AJV验证MCP清单的结构。
  • npm run check:agent-ready :执行推荐的CI字符串以准备代理干预(lint, tsc, docs:check, lint:manifest,然后 test).
  • npm run check:agent-ready:e2e :运行相同的字符串,然后在需要完全验证时显式启动E2E HTTP/OSC套件。
  • npm test :运行测试套件(JEST)。
  • npm start :启动以stdio模式编译的MCP服务器。
  • npm run start:dev :直接启动MCP服务器 ts-node.
  • npm run docs:generate :重新生成MCP工具的完整文档和JSDOC注释。
  • npm run docs:check :检查 docs/tools.md 与源代码同步。
  • npm run package :在中生成独立二进制文件 dist/bin/eos-mcp (默认为Linux x64)通过 pkg.

在Windows上,使用 npm run tsc 要运行完全相同的TypeScript编译: npm run build,没有复制工件的步骤。

每个工具的详细说明可在 docs/tools.md.该文件是从中声明的ZOD模式自动生成的 src/tools/**.

回退显示文件 .esf3d 霍尔斯直播

工具 eos_showfile_* 可以导入显示文件 .esf3d 仅在明确操作员授权后作为实时回退(operator_authorized=true)的。导入接受本地路径,限制为 allowedRoot或者是受控的Base64上传;在这两种情况下,文件必须保持扩展名 .esf3d该文件被视为临时隔离目录中的zip存档,具有大小限制、zip滑动控制和系统清理。答案总是 source: "showfile"live: false 以避免与控制台混淆。此回退不会取代OSC实时播放,也不应显示为控制台的实时状态。

所有已发布的更改都记录在 CHANGELOG.md.服务器版本更新过程记录在 部署说明(systemd、nssm)可在 docs/deployment.md.

命令行选项

乐模块负责人(src/server/index.ts)公开多个实用程序,无需启动服务器即可访问。下面的命令也适用于 ts-node 使用编译的构建(dist/server/index.js).

# Afficher l'aide intégrée
npx ts-node src/server/index.ts --help

# Afficher la version du serveur MCP
npx ts-node src/server/index.ts --version

# Lister les outils MCP embarqués
npx ts-node src/server/index.ts --list-tools

# Vérifier la configuration (retourne un code de sortie non nul en cas d'erreur)
npx ts-node src/server/index.ts --check-config

这些命令也可以在编译版本上运行 node dist/server/index.js .使用 --list-tools 快速检查可用工具,以及 --check-config 为了验证您的文件 .env 或部署前的环境变量。如果通过启用HTTP/WS MCP网关 MCP_TCP_PORT,验证现在失败,当 MCP_HTTP_MCP_TOKENS 为空或保持为默认值 change-me.

当您实际启动服务器时(不结合上面的实用程序选项),有几个修改器可用:

  • --verbose 启用OSC(传入/传出)消息的详细日志记录。
  • --json-logs 强制所有配置的目标使用JSON格式,并替换任何输出 stdout 段落 stderr 以保护MCP协议的STDOUT信道。
  • --stats-interval 定期发布来自的Rx/Tx计数器OscService.getDiagnostics() 在日志中(接受值 10s, 5s, 5000ms等等)。

示例:

npx ts-node src/server/index.ts --verbose --json-logs --stats-interval 30s

日志记录和分离stdout/stderr

MCP协议仅使用stdout与客户端交换。为了避免干扰,所有应用程序日志现在都路由到stderr(或配置的文件/传输)。即使目的地继承 stdout 由于兼容性原因,环境变量中仍然接受它,服务器会自动将其重定向到stderr。通过stderr或配置查看日志 LOG_DESTINATIONS=file/transport 根据你的需要。

EOS控制台和网络配置

协议端口描述
TCP3032可传递HTTP/WS MCP(GET /health,得到 /tools,POST /tools/:name,websocket /ws)可通过激活 MCP_TCP_PORT.
UDP8000OSC本地端口d’écoute(入站)。
UDP8001默认OSC输出端口(输出)。

相关环境变量:

  • MCP_TCP_PORT 启用可选的HTTP/WS网关(例如 3032).
  • MCP_HTTP_TRUST_PROXYtrue 为了信任标题 X-Forwarded-* 由反向代理或隧道公开。
  • OSC_UDP_IN_PORT 用于本地监听端口。
  • OSC_UDP_OUT_PORTOSC_REMOTE_ADDRESS 对于输出UDP目标。
  • OSC_TCP_NO_DELAY 激活 TCP_NODELAY 在TCP套接字上(默认情况下) true).
  • OSC_TCP_KEEP_ALIVE_MS 对于以毫秒为单位的TCP保持活动间隔(默认) 5000).
  • OSC_UDP_RECV_BUFFER_SIZEOSC_UDP_SEND_BUFFER_SIZE 调整UDP缓冲区(默认) 262144/524288 根据OS限制的字节)。

EOS控制台侧步骤

  1. 在控制台(或Nomad)上,打开 设置→ 系统→ 显示控制→ OSC.
  2. 启用 OSC RXOSC TX.
  3. 在中输入MCP服务器的IP地址 OSC TX IP地址.
  4. 配置端口: OSC RX Port = OSC_UDP_OUT_PORT (默认为8001)和 OSC TX Port = OSC_UDP_IN_PORT (默认为8000)。
  5. 如有必要,验证并重新启动显示。

启动MCP服务器

开发模式(动态TypeScript)

npm run start:dev

生产模式(构建+运行Node.js)

npm run build
npm start

服务器监听MCP客户端的stdio,并使用先前的配置初始化OSC服务。启动日志显示受监控的端口。专用消息现在确认加载的工具数量、HTTP/WS网关的状态以及STDIO传输的可用性:

{"toolCount":5,"httpGateway":{"address":"0.0.0.0","family":"IPv4","port":3032},"stdioTransport":"listening"} Serveur MCP demarre : 5 outil(s) disponibles. Passerelle HTTP/WS active sur le port 3032. Transport STDIO en ecoute.

如果HTTP/WS网关未配置或无法启动,则消息指定只有STDIO通信处于活动状态,允许运营商在服务启动时快速识别实际配置。

发布清单

在发布新版本之前:

  1. 更新 CHANGELOG.md 随着变化和修正。
  2. 应用 `npm version

` 以生成提交和相应的标记。

  1. 启动推荐的验证链(npm run check:agent-ready)如果还没有这样做;使用 npm run check:agent-ready:e2e 明确包括E2E HTTP/OSC套件。
  2. 推送分支和关联标记:
   git push --follow-tags
  1. 检查生成的文档是否保持最新(npm run docs:check).

可选HTTP/WS网关

设置环境变量 MCP_TCP_PORT 要公开HTTP REST API(GET /tools, POST /tools/:name)和WebSocket(/ws)位于MCP工具注册表上方。例如:

MCP_TCP_PORT=3032 npm run start:dev

检查网关的健康状况

公开了一个简短的JSON状态,用于监控探测或警报系统。端点返回已注册MCP工具的状态、运行时间和数量。

curl -X GET "http://localhost:3032/health"

预期答案:

{
  "status": "ok",
  "uptimeMs": 1234,
  "toolCount": 5,
  "transportActive": true,
  "mcp": {
    "http": {
      "status": "listening",
      "startedAt": 1715080000000,
      "uptimeMs": 1234,
      "websocketClients": 0,
      "address": {
        "address": "0.0.0.0",
        "family": "IPv4",
        "port": 3032
      }
    },
    "stdio": {
      "status": "listening",
      "clients": 1,
      "startedAt": 1715079999000,
      "uptimeMs": 1200
    }
  },
  "osc": {
    "status": "online",
    "updatedAt": 1715080000500,
    "transports": {
      "tcp": {
        "type": "tcp",
        "state": "connected",
        "lastHeartbeatSentAt": 1715080000400,
        "lastHeartbeatAckAt": 1715080000400,
        "consecutiveFailures": 0
      },
      "udp": {
        "type": "udp",
        "state": "connected",
        "lastHeartbeatSentAt": null,
        "lastHeartbeatAckAt": null,
        "consecutiveFailures": 0
      }
    },
    "diagnostics": {
      "config": {
        "localAddress": "0.0.0.0",
        "localPort": 8000,
        "remoteAddress": "127.0.0.1",
        "remotePort": 8001
      },
      "logging": { "incoming": false, "outgoing": false },
      "stats": {
        "incoming": { "count": 12, "bytes": 2048, "lastTimestamp": 1715080000300, "lastMessage": null, "addresses": [] },
        "outgoing": { "count": 18, "bytes": 4096, "lastTimestamp": 1715080000350, "lastMessage": null, "addresses": [] }
      },
      "listeners": { "active": 1 },
      "startedAt": 1715079900000,
      "uptimeMs": 100000
    }
  }
}

通过隧道或反向代理发布网关

L终点 /manifest.json 宣布MCP客户端的绝对URL。嵌入式清单现在提供显式占位符 http://{HOST}:{PORT} :在HTTP响应时,它被检测到的地址替换(Host, X-Forwarded-Host, X-Forwarded-Proto)或通过值 MCP_HTTP_PUBLIC_URL.当您暴露隧道后面的服务器时(ngrok, Cloudflare Tunnel等)或反向代理(nginx、traefik、caddy),您可以通过环境变量强制发布URL MCP_HTTP_PUBLIC_URL :

MCP_TCP_PORT=3032 \
MCP_HTTP_PUBLIC_URL="https://eos-mcp.example.com" \
npm run start:dev
  • 如果代理重写路径(例如:。 https://example.com/mcp),包括在 MCP_HTTP_PUBLIC_URL 以便MCP客户端正确解析端点(/manifest.json, /health, /tools, /ws).
  • 保留标题 X-Forwarded-* 上游终止TLS时:服务器可以自动检测模式 https 并生成一致的清单,即使没有专用变量。
  • 对于动态隧道(更改地址),自动更新 MCP_HTTP_PUBLIC_URL 或者检查工具是否正确传播原始标题。如果未定义变量,占位符 http://{HOST}:{PORT} 每个请求都得到解决。
  • 当应用程序在反向代理或TLS隧道后面发布时,设置 MCP_HTTP_TRUST_PROXY=true 以便HTTP网关尊重头 X-Forwarded-For/X-Forwarded-Proto 对于IP AllowList、速率限制和URL解析。

正确配置的公共URL确保IA助手和MCP协调器可以建立WebSocket和HTTP连接,而无需依赖静态占位符。

乐集团 mcp 现在包括HTTP服务器状态(链接地址、WebSocket客户端、运行时间)和STDIO传输状态(客户端数量和正常运行时间)。 osc.transports 显示TCP/UDP链路的详细信息(最新心跳、连续故障),同时 osc.diagnostics 收集Rx/Tx计数器、应用的网络配置和日志记录状态。

在Claude中记录MCP清单

服务器自动公开claude兼容清单 GET /manifest.json.此文件引用工具列表(/tools),每个工具的JSON模式(/schemas/tools/{toolName}.json)以及目录(/schemas/tools/index.json).

  1. 在本地检查清单的有效性:
   npm run lint:manifest
  1. 确保您的HTTP/WS网关可公开访问(反向代理、隧道等),并注意清单的完整URL(例如: https://mcp.example.com/manifest.json).
  1. 通过官方工具在Claude注册服务:
   npx @anthropic-ai/anthropic-cli mcp register --manifest-url https://mcp.example.com/manifest.json
  1. 您可以通过以下方式在本地模式下测试MCP集成:
   npx @anthropic-ai/anthropic-cli mcp test --manifest-url http://localhost:3032/manifest.json

清单也会自动复制到 dist/manifest.jsonnpm run build,确保其在部署工件中的存在(二进制) pkg、档案等)。

列出可用的工具

curl -X GET "http://localhost:3032/tools"

预期答案:

{
  "tools": [
    {
      "name": "ping",
      "config": {
        "title": "Ping tool",
        "description": "Retourne un message de confirmation."
      },
      "metadata": {
        "hasInputSchema": true,
        "inputSchemaResourceUri": "schema://tools/ping",
        "hasOutputSchema": false,
        "hasMiddlewares": true,
        "middlewareCount": 1
      }
    }
  ]
}

具有ZOD模式的工具在中公开相应的MCP指针 metadata.inputSchemaResourceUri (schema://tools/).

Appel JSON-RPC(传输HTTP MCP)

入口点 /mcp 实现 MCP协议的HTTP流规范.每个会话都以请求开始 initialize 协商协议版本并在报头中返回会话标识符 Mcp-Session-Id.

curl -X POST "http://localhost:3032/mcp" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "id": "init-1",
    "method": "initialize",
    "params": {
      "protocolVersion": "2025-06-18",
      "capabilities": {},
      "clientInfo": { "name": "curl", "version": "0.1" }
    }
  }'

响应包含服务器功能和头 Mcp-Session-Id.要调用工具,请返回此ID 标题 Mcp-Protocol-Version (初始化时协商的值):

curl -X POST "http://localhost:3032/mcp" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Mcp-Session-Id: " \
  -H "Mcp-Protocol-Version: 2025-06-18" \
  -d '{
    "jsonrpc": "2.0",
    "id": "call-1",
    "method": "tools/call",
    "params": {
      "name": "ping",
      "arguments": { "message": "Bonjour" }
    }
  }'

预期答案:

{
  "jsonrpc": "2.0",
  "id": "call-1",
  "result": {
    "content": [
      {
        "type": "text",
        "text": "pong: Bonjour"
      }
    ]
  }
}

要干净地关闭会话,请发送 DELETE /mcp 具有相同的标题 Mcp-Session-IdMcp-Protocol-Version.

保护HTTP MCP传输

功能 createHttpGateway 接受一个对象 security 在HTTP MCP端应用简单的防御策略。

选项描述
apiKeys允许的API密钥数组。在报头中传输 X-API-Key.
mcpTokens用于身份验证的MCP令牌列表(标题 X-MCP-TokenAuthorization: Bearer )的。突变请求也需要这些令牌来限制CSRF攻击。
ipAllowlist允许的IP地址列表("*" 倾吐接受者)。
allowedOriginsCORS允许的HTTP源("*" 倾吐接受者)。
rateLimit内存流量限制器 { windowMs, max } 按IP地址应用。
express使Express中间件过载(authentication, csrf, cors, throttling).

示例:

createHttpGateway(registry, {
  port: 3032,
  security: {
    apiKeys: ['test-key'],
    mcpTokens: ['token-123'],
    ipAllowlist: ['127.0.0.1'],
    allowedOrigins: ['http://localhost'],
    rateLimit: { windowMs: 60000, max: 30 }
  }
});

客户端必须包括标题 X-API-Key, X-MCP-Token, Origin 并且一旦会话打开, Mcp-Session-Id / Mcp-Protocol-Version如果内置中间件不合适,您可以通过以下方式注入自己的Express中间件: security.express (例如,使用 helmet, cors ou un代理外部)。

例子 .env

MCP_TCP_PORT=3032
MCP_HTTP_MCP_TOKENS=change-me
MCP_HTTP_IP_ALLOWLIST=
MCP_HTTP_ALLOWED_ORIGINS=
MCP_HTTP_RATE_LIMIT_WINDOW=60000
MCP_HTTP_RATE_LIMIT_MAX=60

此配置使HTTP/WS网关处于启用状态,但处于锁定状态:只要列表为空,就不允许IP地址或源,并且每个请求都需要MCP令牌。

⚠️ 当 MCP_TCP_PORT 已定义,服务器现在拒绝启动生产,如果 MCP_HTTP_MCP_TOKENS 为空或设置为 change-me.正在开发中(NODE_ENV !== "production"),启动继续,但记录警告以提示更改。
参数严格模式(默认)LAN模式(示例)
MCP_HTTP_IP_ALLOWLIST维德⇒ 否认一切192.168.1.10,192.168.1.15
MCP_HTTP_ALLOWED_ORIGINS维德⇒ 否认一切http://192.168.1.10,http://192.168.1.15
MCP_HTTP_MCP_TOKENSchange-me (待替换)lan-secret-123
MCP_HTTP_API_KEYS空(禁用)lan-key
MCP_HTTP_RATE_LIMIT_WINDOW60000 ms60000 ms
MCP_HTTP_RATE_LIMIT_MAX60 请求120 请求
MCP_HTTP_TRUST_PROXYfalsetrue

在网络上公开网关之前,请记住用稳健的值替换令牌和密钥。

使用MCP CLI进行本地验证

启动服务器后,使用官方客户端调用工具:

npx @modelcontextprotocol/cli call --tool ping --args '{"message":"Bonjour"}'

参考 docs/tools.md 有关工具和预期有效载荷的完整列表。

与IA助手集成

以下三种集成基于MCP协议。每个工具将调用stdio中的服务器;确保它在专用终端中运行。

ChatGPT(GPTS平台)

  1. 打开 https://chat.openai.com/ 并创建自定义GPT。
  2. 在选项卡中 行动,点击 添加操作 然后选择 模型上下文协议.
  3. 通知:

- 名字 : Eos MCP (或类似)。 - 断开连接类型 : Commande locale. - 命令 : npm run start:dev (发展)或 node dist/server/index.js (生产)。 - 工作目录 :文件夹的绝对路径 Eos_MCP.

  1. 保存GPT。第一次启动时,ChatGPT将要求您授权执行命令;接受打开服务器。
  2. 在对话中,请求采取行动(例如,“触发提示5”)。ChatGPT将请求转换为MCP工具调用;监控终端以验证命令是否触发。

克劳德桌面/Claude.ai

  1. 确保您使用的是MCP兼容版本(Claude Desktop≥1.3或具有MCP访问权限的Claude.ai)。
  1. 创建或修改配置文件:

- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - 窗户: %APPDATA%/Claude/claude_desktop_config.json - Linux: ~/.config/Claude/claude_desktop_config.json

  1. 添加以下配置:
   {
     "mcpServers": {
       "eos-mcp": {
         "command": "npm",
         "args": ["run", "start:dev"],
         "workingDirectory": "/chemin/vers/Eos_MCP"
       }
     }
   }

对于生产构建,替换为 "command": "node", "args": ["dist/server/index.js"].

  1. 重新启动Claude桌面并打开聊天。键入与EOS相关的指令;如果相关,Claude将自动选择MCP服务器。
  1. 检查响应是否包括正在使用的MCP工具的跟踪,以及EOS控制台是否接收OSC消息。

Claude用户指南

为了限制驾驶中的歧义并保持决策的清晰记录,请Claude在采取任何EOS行动之前遵循以下流程:

  1. 连接 :呼叫 eos_connect 如果OSC会话尚未建立或需要确认网络目标。
  2. 能力审计 :呼叫 eos_capabilities_get 在提出计划之前,检查可用工具、安全模式和网关状态。明确阅读 structuredContent.context.osc_limitations (或 eos_connect):si can_read_queries=false,Claude必须宣布EOS播放不保证,并且在没有明确播放响应的情况下,不得发明补丁、提示列表、提示或节目状态。
  3. 抽象级别的选择 :当意图符合需求时,优先考虑高级工作流:

- eos_workflow_autopatch_band 快速准备组/带补丁; - eos_workflow_create_look 从频道、调色板或组构建一致的外观; - eos_workflow_create_cue_series 以生成结构化提示序列;对于一个级别,请输入 looks[].intensitylooks[].level (Full, Out, 0-100,安全EOS值),而不是添加 Atchannels.

  1. 重复 :利用者 eos_workflow_rehearsal_go_safe 对于重复的顶部,而不是 GO 低直接级别,以保持提示列表、提示目标和验证的保障措施。
  2. 强制预览 :劳工需求者 dry_run: true 在支持它的工作流或工具上,请阅读 structuredContent.commands_preview 使用用户,然后仅在使用相同的业务参数显式验证后重新启动, dry_run: false (你没有冠军 dry_run)et require_confirmation: true 当工作流更改显示时。
  3. 降级模式 :si eos_connect 返回 handshake_mode=degraded 或者限制“降级模式:可能发送,不保证读取”,Claude可以在确认后提供谨慎的发送,但必须将任何补丁/提示列表读取视为未知,直到读取工具成功响应。

用户确认规则 :Claude必须在对节目进行任何破坏性操作或修改之前获得用户的明确确认,包括补丁、记录、更新、删除、实时火灾、影响场景的调色板/预设提醒或提示触发。当工具暴露时 require_confirmation,实际呼叫必须包括: require_confirmation: true 在确认之后。

小型对话示例:

用户意图建议Claude使用工作流
“准备宇宙2上我的鼓组补丁,但首先告诉我将发送什么。» eos_connecteos_capabilities_geteos_workflow_autopatch_banddry_run: true然后在实际执行之前进行用户确认。
“为场景3的正面和背面创建柔和的蓝色外观。» eos_capabilities_geteos_workflow_create_look 英语 dry_run: true,查看预期渲染,然后在显示更改时确认执行。
“在重复中,如果一切就绪,则发送列表1中的下一个提示。» eos_capabilities_geteos_workflow_rehearsal_go_safe 具有用户确认和防护装置,而不是 eos_cue_go 直接。

N8N(工作流自动化)

您有两个选项:通过stdio(节点)直接调用服务器 执行命令)或通过MCP CLI。

选项A–执行命令

  1. 添加节点 执行命令 在您的工作流程中。
  1. 配置命令:
   npx @modelcontextprotocol/cli call --cwd /chemin/vers/Eos_MCP --tool  --args ''
  1. 启动ping的示例:
   npx @modelcontextprotocol/cli call --cwd /chemin/vers/Eos_MCP --tool ping --args '{"message":"Bonjour"}'
  1. 解析节点的JSON输出以继续执行其他N8n操作。

选项B–持久MCP服务器

  1. 在外部服务(systemd、pm2等)中启动MCP服务器。
  2. 使用节点 HTTP请求网络钩子 要对事件做出反应,请使用节点 执行命令 通过发送预期OSC消息的最小值 oscsend 或连接到的内部Node.js脚本 OSC_REMOTE_ADDRESS.
  3. 结合这两种方法,根据您的触发器(电子邮件、外部API、日历等)自动触发MCP工具。

直接OSC呼叫

每个工具还公开OSC路径。复制示例 ping 通过OSC:

oscsend 127.0.0.1 8001 /eos/ping s:'{"message":"Bonjour"}'

根据工具文档调整路径和有效载荷。

版本社区vs商业许可

La版本 社区 发表于 GNU AGPLv3 (AGPL-3.0-only).

社区版本允许什么

  • 在内部和生产中使用EOS MCP;
  • 修改代码并重新分发衍生版本;
  • 在网络服务中操作软件 条件 遵守AGPLv3义务(包括提供与所涵盖变更相对应的源代码)。

何时切换到商业许可证

商业许可证 当组织希望在不执行AGPLv3义务的情况下运行EOS MCP时(例如,将未发布的专有开发集成到分发或提供给第三方的服务中),就有必要这样做。

许可证选择快速指南可在 docs/licensing/README.md以及常见问题解答和具体示例。详细的政策仍记录在 docs/licensing/strategy.md.

贡献

查看 CONTRIBUTING.md 对于贡献过程和迷你清单 许可证合规性 在任何PR之前进行验证。

许可证

本项目是根据许可证分发的 GNU AGPLv3 (AGPL-3.0-only). 查看中的完整文本 ./LICENSE.

维护者

  • 作者 :弗洛里安·里贝斯
  • 组织 :Nairolf概念
  • 网站网址 : https://nairolfconcept.fr

目录标签

目录标签

TypeScriptClaudeAI代理灯光控制本地部署自动化AI集成OSC协议MCP协议自动化网关

支持客户端

Claude DesktopClaude

接入字段

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

stdio

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

api-key

运行时(runtime,运行环境)

Node.js

来源包(packageName,安装包名)

ts-node

工具数量(toolCount,工具数)

5

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdioapi-key部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP