Axon MCP 服务器

一个 AI 可查询的 Axon 知识库

给 AI 助手提供专家级别的 Axon 代码库访问权限。

Axon MCP Server 将数千个 Axon 函数、运算符用法和 SkySpark 文档页面索引到可搜索库中,然后通过模型上下文协议公开它。任何兼容 MCP 的助手——Claude Desktop、Cursor、自定义工具——都可以像资深工程师一样查询你的 Axon 知识:按运算符搜索、拉取使用示例、追踪调用图、生成类型化代码、执行前验证。

在 30 到 60 秒内索引 4,000+ 个 HTML 文档。在 50 毫秒内查询它们。保留缓存 24 小时,以便后续启动立即可用。

为什么它存在

Axon 是一种领域特定语言——小型、奇特、美妙的一种——大多数 LLM 都从未见过它。没有上下文,助手要么拒绝帮助,要么自信地生成一个不存在的函数。Axon MCP Server 用一个有根据的知识层弥补了这一差距:每个建议都来自真实的索引代码、每个生成的函数都经过了预验证、每个调用图都是双向的。

适合谁

  • SkySpark 开发者编写 HVAC、能源和 spark 逻辑,希望有真正的 AI 配对编程器
  • 建筑自动化集成商整合数十个 Axon 项目的知识
  • 顾问入职新客户的 Axon 代码库并需要快速导航

搜索库

每个 Axon 示例,一个查询

4,187 个文档。低于 50ms 的搜索。索引类别、运算符和模式,都可通过一个 MCP 接口查询。

Axon MCP 搜索
localhost:3000/search
搜索 axon 示例... 区域温度汇总
category:hvac kit:control since:30d 搜索
类别
HVAC 412
能源 287
电表 198
报告 156
管理 104
Spark 分析 89
传感器 76
控制 64
数据分析 58
公用事业 44
occSchedule hvac
0.94

根据工作日和设定点模式返回区域的占用时间表。常用作运行时和汇总管道中的门控。

时间表 占用 区域
hvacRuntime hvac
0.88

计算一段时间范围内设备的逐小时运行时间。尊重占用门控和手动覆盖点。

运行时 设备 汇总
zoneTempRollup hvac
0.82

将区域温度历史汇总为日平均值,根据网站标签约定输入 °F 或 °C。

hisRead 汇总 每日
energyBaseline energy
0.76

从历史电表数据和度日输入计算网站的天气归一化能源基线。

电表 基线 天气
setpointWrite control
0.71

用优先级处理和审计跟踪历史标记将新设定点写入点记录。

写入 设定点
显示 5 个/1,488 个匹配项 -- 30 秒前索引 FlexSearch · 47ms

MCP 工具接口

紧凑的接口,20 个专门工具

助手需要的每个工具都是一个 JSON 调用。服务器暴露四个组:搜索、函数分析、代码生成和实时 SkySpark 访问。每个都是一流的 MCP 工具,可通过 tools/list 发现。

工具优雅降级。如果 SkySpark 连接断开,搜索和分析工具继续离线对本地索引工作。

MCP 工具(~20) tools/list
搜索
FlexSearch 跨文档、运算符和模式查询。
searchAxonExamples searchAxonDocs searchAxonOperatorExamples searchAxonRegex listAxonCategories getAxonExample getAxonPattern listAxonPatterns
函数
使用查找和双向调用图分析。
findFunctionUsage getFunctionExamples getFunctionCallGraph getFunctionUsageStats
生成
通过 AST 遍历和预验证的类型化代码合成。
generateAxonCode validateAxonCode parseAxonAst listAxonTemplates
SkySpark
实时 Haystack 查询和通过 OAuth 2.1 的 Axon 执行。
queryHaystack executeAxonCode listSkySparkProjects switchSkySparkProject
函数调用图 occSchedule() -- 深度 2
调用者
hvacRuntime
被调用 12 次
energyReport
被调用 3 次
sparkOccAnomaly
被调用 7 次
occSchedule()
函数
被调用者
dayOfWeek
调用 4 次
now
调用 1 次
3
总调用者
2
总被调用者
4
最大深度

函数分析

双向设计

findFunctionUsage 找到每个调用站点。getFunctionCallGraph 构建依赖树——谁调用此函数,它调用什么——一次通过。getFunctionUsageStats 聚合整个代码库。

索引增量运行。保存文件,图更新。Axon 代码库中的每个函数都变成可查询的,保留其完整的上下文。

  • 跨工具包的调用者解析
  • 深度限制的被调用者解析
  • 未使用函数检测
  • 最常调用函数统计

代码生成

生成、解析、验证——每一次

generateAxonCode 从自然语言意图合成类型化 Axon。parseAxonAst 遍历结果。validateAxonCode 根据索引的标准库检查语义、运算符和类型。只有验证的输出到达助手。

循环在一个工具调用中运行。如果验证失败,服务器暴露具体的规则违反,以便助手可以修复和重试。

代码生成运行 已验证
请求
{
  "pattern": "每日能源汇总",
  "projectContext": "building-a"
}
生成的
// 按网站的每日汇总
(siteRef, startDate, endDate) =>
site: read(^siteRef),
meter: readAll(siteRef==site->id and elec and meter),
hist: meter.hisRead(startDate..endDate),
daily: hist.hisRollup(avg, 1day),
out: daily.addColumns({
site: site->dis,
unit: "kWh"
})
验证
✓ AST 已解析 ✓ 类型已检查 ✓ 4 个运算符已解析 ✓ 基于 3 个示例
SkySpark 实例 已验证 3 个
hq-prod
skyspark.example.com
campus-main
auth: 12m ago
campus-staging
staging.example.com
central-plant
auth: 48m ago
lab-dev
重新连接
lab.internal
sandbox
auth: 2h ago
执行结果
read(site and campus).hisRead(today)
网站 设备
campus-main ahu-1 72.3°F
campus-main ahu-2 74.1°F
campus-main zone-core 71.8°F

多实例身份验证

从知识到行动

每个 SkySpark 实例的 OAuth 2.1 令牌。listSkySparkProjects 发现它们。switchSkySparkProject 绑定活跃的。executeAxonCode 针对它运行。

令牌通过 Prisma 存在 SQLite 中。刷新自动进行。备份和恢复内置,所以在笔记本电脑之间移动不意味着重新授权十座建筑物。

3
实例
14
项目
2,841
函数已同步

对这个项目感兴趣吗?

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