Sedona MCP 服务器

多协议统一访问 Sedona、Sandstar 和 SkySpark

一个 MCP 服务器,四种楼宇自动化协议,零胶水代码。

Sedona MCP 服务器通过 1876 端口的二进制 TCP 支持 Sedona Sox,通过 8085 端口的 HTTP 支持 Sedona Weblet,支持 Sandstar 的 Project Haystack 桥接,以及通过 HTTPS 支持 SkySpark——所有这些都在统一的 MCP 工具表面后面。要求它搜索 Sedona 类,生成组件代码,或对运行中的 SkySpark 项目执行实时 Axon,协议路由层就会确定要拨通哪个传输。

离线时,它使用 FlexSearch 索引 27+ 个 Sedona 示例、套件、类、模式和模板工具。在线时,它可以访问真实建筑。

存在的原因

现代控制堆栈不是一个协议——它是四个,有时五个。工程师为每个协议使用不同的工具,每次切换时都会失去上下文。Sedona MCP 服务器将其压缩成一个对话:助手调用 executeAxonCode,服务器处理 HTTPS 和 SCRAM 握手到 SkySpark;它调用 searchSedonaClasses,服务器访问本地索引;它调用 getActiveConnection,服务器报告当前绑定的是哪个设备。

适用对象

  • 控制工程师在同一项目中跨 Sedona 设备和 SkySpark 项目工作
  • Sandstar 开发人员将 Haystack 标签桥接到 Sedona 硬件
  • AI 辅助集成商希望使用一个 MCP 服务器,而不是四个

协议交换机

四种协议,一个 MCP 工具调用

一个配置文件定义你的 Sox 设备、Weblet 服务器、Sandstar 桥接和 SkySpark 实例。任何工具调用都会路由到正确的传输——二进制 TCP、HTTP、HTTPS——无需单行胶水代码。

协议路由
connections.json: 4 已定义
MCP 工具调用
executeAxonCode({...})
searchSedonaClasses queryHaystack executeAxonCode getActiveConnection
Sedona Sox 二进制
tcp:1876
TCP 上的原始 Sox 协议
Sedona Weblet HTTP
http:8085
Weblet HTTP 端点
Sandstar Haystack
http:8085
Project Haystack 桥接
SkySpark HTTPS + SCRAM
https:443
已认证的 Axon 执行
4 个协议 -- 27+ 个工具 -- 1 个配置文件 v2.0.0

工具表面

六个领域,一个接口

搜索、生成、验证、分析、执行、连接。二十七个以上工具,按你要执行的操作组织——而不是你要访问的协议。

助手无需知道线路格式。它为任务选择工具。路由器拨号到正确的目的地。

MCP 工具 (27+) tools/list
Sedona 搜索
5 个工具
searchSedonaExamples searchSedonaClasses listSedonaKits searchSedonaRegex listSedonaCategories
代码生成
3 个工具
generateSedonaCode validateSedonaCode listSedonaTemplates
函数分析
3 个工具
findFunctionUsage getFunctionCallGraph getFunctionUsageStats
SkySpark / Axon
4 个工具
executeAxonCode listSkySparkProjects switchSkySparkProject discoverProjectFunctions
设备 / 连接
3 个工具
getActiveConnection discoverInstanceProjects clearProjectCache
Haystack
1 个工具
queryHaystack
活跃连接 4 已接线
Sox 192.168.1.100:1876
4ms getActiveConnection 3 秒前 3 秒前
Weblet 192.168.1.100:8085
12ms searchSedonaClasses 12 秒前 12 秒前
Sandstar sandstar.internal:8085
重试中 -- queryHaystack 2 分钟前 2 分钟前
SkySpark skyspark.internal:443
127ms executeAxonCode 38 秒前 38 秒前
config/connections.json
{ "sox": { "host": "192.168.1.100", "port": 1876 }, "weblet": { "host": "192.168.1.100", "port": 8085 }, "sandstar": { "host": "sandstar.internal" }, "skyspark": { "host": "skyspark.internal", "auth": "scram" } }

实时连接

四条路线,一个仪表板

每个连接都单独跟踪。getActiveConnection 报告最后使用的协议。discoverInstanceProjects 遍历任何可达的内容。clearProjectCache 在某些事物偏移时重置。

配置文件是唯一的信息来源。添加新的 SkySpark 实例,添加新的 Sedona 设备,更改端口——路由器在下一个工具调用时重新读取。

SkySpark 执行

从目录到建筑

executeAxonCode 对当前绑定的 SkySpark 项目运行任意 Axon。listSkySparkProjectsswitchSkySparkProject 让你在实例中漫游。discoverProjectFunctions 进行自省;getProjectSchema 返回数据模型。

项目状态持续存在。切换一次,接下来的 50 个工具调用都会转到同一个建筑。切换回去,缓存就已经准备好了。

SkySpark 桥接 实时
executeAxonCode({ code: "read(point and zone and temp).hisRead(today)" })
结果(5 行,4 列)
dis zone val ts
Zone 101core-172.3°F10:12
Zone 102core-174.1°F10:12
Zone 103core-171.8°F10:12
Zone 201core-273.4°F10:12
Zone 202core-272.9°F10:12
活跃项目
campus-main 42 个点 · 最后同步 3 分钟前
lab 12 个点 · 最后同步 18 分钟前
qa 8 个点 · 最后同步 1 小时前
switchSkySparkProject
Sedona 设备 Sox 二进制
活跃设备
主机192.168.1.100:1876
协议sox(二进制)
固件1.2.28
加载的套件12
47
状态正常
已加载套件 (12)
sys42 个类
control23 个类
logic18 个类
timing11 个类
sensor9 个类
datetimeStd7 个类
inet6 个类
types5 个类
basicSchedule4 个类
sox3 个类

Sedona 设备

二进制轨道上的一流自省

listSedonaKits 遍历设备清单。getActiveConnection 报告绑定的主机。discoverInstanceProjects 自动将发现的设备与其项目上下文配对。Sox 被视为 HTTP 的同级,而不是遗留传输。

二进制并不意味着不透明。每个类、每个套件、每个固件版本都对助手可见——并且可搜索。

对这个项目感兴趣吗?

探索源代码、贡献代码或联系我们。