MCP 工具

服务器通过 MCP 公开的所有工具,按其功能分组。

搜索和检索

通过关键字、模式或语义查找内容的工具。

searchAxonExamples

在索引的 Axon 代码中进行关键字搜索。支持分类和标签过滤。返回排名靠前的匹配项,包括相关性分数和简短片段。

searchAxonOperatorExamples

专门搜索操作符的使用方式 — 传入 >===+ 等,服务器返回操作符在实际上下文中使用的真实示例。

searchAxonDocs

在 HTML 和 Markdown 文档树中进行 FlexSearch。查询耗时约 50 ms;结果包括标题层次结构和摘录片段。

searchAxonRegex

grep 风格的代码正则搜索。返回匹配行及其周围的 N 行上下文(可配置)。

listAxonCategories / listAxonPatterns / getAxonPattern / getAxonExample

按分类浏览或通过 ID 或名称获取特定函数。

函数分析

推理函数之间相互关系的工具。

findFunctionUsage

给定函数的每个调用位置,包括文件路径和行号。

getFunctionExamples

从索引代码库中提取的真实使用示例 — 当函数自身的文档较少时很有用。

getFunctionCallGraph

以一个函数为根的调用者/被调用者图,深度可配置。

getFunctionUsageStats

整个代码库中的使用计数。未使用的函数、过度使用的函数和耦合指标。

代码生成和验证

编写和检查代码的工具。

generateAxonCode

模板驱动的生成。33 个精选的 YAML 模板涵盖 HVAC 序列、能量计算、故障检测和数据聚合。输出在返回前经过验证。

validateAxonCode

运行三个阶段:语义检查(是否能解析?标识符是否有效?)、性能分析和最佳实践 linting。

parseAxonAst

将 Axon 表达式解析为 AST。用于在服务器之上构建更高级别的工具。

executeAxonCode

针对主 SkySpark 项目评估 Axon 表达式。返回结果为 Haystack 网格 JSON。

commitAxonFunction

将函数提交到主项目。启用 functionVersioning 后,保留前一个版本。

SkySpark 集成

与实时 SkySpark 实例通信的工具。

queryHaystack

执行 Haystack 查询(readreadAllhistory 等)并返回结果网格。

listSkySparkProjects / switchSkySparkProject

枚举配置实例上的项目,并更改后续调用的活动项目上下文。

discoverProjectFunctions / discoverInstanceProjects

遍历实例的配置项目,将其用户定义函数同步到本地索引,使其可搜索。

getProjectSchema

返回项目的 Haystack 模式(标签、标记、已定义类型)。

setPrimaryProject / getPrimaryProject

管理 executeAxonCodecommitAxonFunction 使用的主项目上下文。

图分析和相似性

基于代码图和向量嵌入存储构建的工具。

getCallers / getCallees

调用图中的直接邻接 — 谁调用 X 以及 X 调用什么。

getCodeImpact

爆炸范围分析。给定一个函数,返回会受到对其更改影响的每个下游函数。

findCodePath

两个函数之间最短的调用路径。用于跟踪叶函数如何从入口点到达。

semanticCodeSearch

通过自然语言查询返回代码。"查找在午夜重置每日能量计数器的任何内容"即使代码中没有字面上包含这些词也能工作。

findSimilarCode

提供的代码片段与索引代码库之间的向量相似性。用于去重和重构发现。

getGraphMetrics / getMostCalledFunctions / getMostComplexFunctions

Betweenness 中心性、耦合分数、复杂性排名。

buildProjectGraph / buildProjectEmbeddings / getGraphStats

用于重建和检查索引的维护工具。

detectCycles

在调用图中进行循环依赖检测。

错误处理约定

所有工具在失败时返回结构化错误而不是抛出异常。错误体包括 code(例如 INDEX_NOT_FOUNDSKYSPARK_UNREACHABLEINVALID_ARGUMENT)和易于阅读的 message。客户端应该向最终用户显示 code 并为调试记录 message。n