Sedona MCP 服务器

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

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

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

离线时,它用 FlexSearch 索引 27 多个 Sedona 示例、工具包、类、模式和模板。在线时,它可以访问真实的楼宇。

存在的原因

现代控制栈不是一个协议 -- 它是四个,有时五个。工程师需要为每个协议使用不同的工具,每次切换时都会失去上下文。Sedona MCP 服务器将这一切合并为一个对话:助手请求 executeAxonCode,服务器处理到 SkySpark 的 HTTPS 和 SCRAM 握手;它请求 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
原始 Sox 协议通过 TCP
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。listSkySparkProjects 和 switchSkySparkProject 让您漫游跨实例。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 的对等体,而不是遗留传输。

二进制并不意味着不透明。每个类、每个工具包、每个固件版本对助手都是可见的 -- 并且可搜索。

对这个项目感兴趣吗?

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