Axon MCP 服务器

一个具有AI可查询性的Axon知识库

为AI助手提供对Axon代码库的专家级访问。

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

在30到60秒内索引4000多个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 能源
0.76

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

仪表 基线 天气
setpointWrite 控制
0.71

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

点 写 设定点
显示1,488场比赛中的5场--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
通过OAuth 2.1的实时Haystack查询和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: 12分钟前
campus-staging
staging.example.com
central-plant
auth: 48分钟前
lab-dev
重新连接
lab.internal
sandbox
auth: 2小时前
执行结果
read(site and campus).hisRead(today)
site equip val
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
同步的函数

对这个项目感兴趣吗?

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