关于 Exeris AI Bridge
Exeris AI Bridge 是面向 Exeris 应用开发者的只读 MCP 服务,为 AI Agent 提供构建产物、SDK 规则、架构决策记录和运行中内核的上下文。它通过工具、资源和提示词提供内置参考数据,也可读取本地项目与运行时信息。
主要功能
- 01检查构建产物与诊断
- 02查询 SDK 注解和规则
- 03浏览 ADR 与架构文档
- 04检查内核状态与启动图
- 05提供 MCP 资源和提示词
适用场景
- 01解释最近一次构建输出
- 02查找 SDK 编写约定
- 03审阅 Exeris 架构决策
- 04诊断运行中内核
MCP 相关
该项目是 MCP 服务,向客户端提供只读工具、文档资源和提示词,用于获取 Exeris 项目与生态系统上下文。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
npx -y @exeris/ai-bridgeEXERIS_PROJECT_ROOTRoot of your own project, for build-* and caps-*. Defaults to the nearest pom.xml at or above the working directory.EXERIS_DOCS_ROOTAn exeris-docs checkout. Without one, docs-* answers from the registry snapshot bundled in the package.本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
工具
31收录的工具列表 · 更新于 4 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| status | string | 否 | 筛选 status.state 等于此值的条目(比较时不区分大小写,并会先去除首尾空白)。 |
详细介绍
@exeris/ai-bridge
Model Context Protocol 服务,为 AI Agent 提供 Exeris 应用的上下文:构建生成的内容、SDK 的编写约定、ADR 注册表以及正在运行的内核。
所有工具都只读。该桥接程序绝不会写入你的项目、调用模型 API,也不会与 Java 内核在同一进程中运行。它面向在 Exeris 上编写应用的开发者,无需检出整个生态系统即可使用:所需的参考数据已随软件包一同提供。
安装
请在项目中运行该服务,以便它找到你的 pom.xml。
Claude Code
claude mcp add exeris -- npx -y @exeris/ai-bridge
Claude Desktop:从 GitHub Releases 安装 exeris-ai-bridge-<version>.mcpb。Desktop 不会在项目中启动该服务,因此请在扩展的设置中设置 Project root,以使用 build-* 和 caps-* 工具。
任何其他 MCP 客户端(Cursor、VS Code、Copilot):命令为通过 stdio 运行的 npx -y @exeris/ai-bridge。
{
"mcpServers": {
"exeris": { "command": "npx", "args": ["-y", "@exeris/ai-bridge"] }
}
}
该服务也已列入 MCP Registry,名称为 io.github.exeris-systems/ai-bridge。
要求
- Node 20 或更高版本。
- 仅限
kernel-*:JDK 25 或更高版本;本地 Maven 仓库中还需有eu.exeris:exeris-kernel-diagnostics-cli,构建 Exeris 应用时会将其放入该仓库。 - 仅限
build-preview_generation:对于java,需要 JDK 25 或更高版本,以及本地 Maven 仓库中与你的项目固定的工具版本相匹配的eu.exeris:exeris-codegen-cli;对于ts,需要项目自身node_modules中的@exeris/codegen-ts。 - 运行时无需联网。该桥接程序会读取
~/.m2中已有的构件,绝不会下载任何内容。
工具
工具名称采用 family-tool 格式。每个会话都会列出全部 34 个工具;如果某个 family 所需的依赖缺失,则会返回结构化的 family_unavailable 结果,说明原因和解决办法。
| Family | 可回答的问题 | 工具 |
|---|---|---|
build-* | 上次构建生成了什么、哪些文件由代码生成器管理、构建诊断是什么意思、新应用的构建文件、生成器现在会写入什么,以及你的发现简报是否已准备就绪;toolingSkew 会说明你的项目固定使用的工具版本是否与捆绑的生成器目录不同 | build-list_domains、build-get_domain_metadata、build-explain_artefacts、build-get_detach_state、build-explain_diagnostic、build-get_starter、build-preview_generation、build-validate_brief |
caps-* | 构建已验证的能力组合 | caps-list_capabilities、caps-describe_composition |
sdk-* | SDK 的注解、弃用项、作用域规则和 AST 模式;以及你的项目是否固定使用了不同的 SDK | sdk-list_annotations、sdk-describe_annotation、sdk-list_deprecations、sdk-get_scoping_rules、sdk-get_ast_schema |
docs-* | Exeris ADR、高层架构、白皮书和决策模板 | docs-list_adrs、docs-get_adr、docs-search、docs-get_hla、docs-get_whitepaper、docs-get_template、docs-list_repos、docs-list_repo_docs、docs-get_repo_doc |
kernel-* | 正在运行的内核的提供方、引导 DAG、子系统和 JVM 运行参数 | kernel-list_providers、kernel-get_bootstrap_dag、kernel-describe_subsystem、kernel-get_jvm_ergonomics |
lsp-* | Studio 语言服务器中的 @ExerisDomain 类型和操作,以及以差异形式预览源代码编辑 | lsp-list_domains、lsp-describe_domain、lsp-list_actions、lsp-preview_mutation |
bridge-* | 服务本身的信息:版本、捆绑数据,以及某个 family 不可用的原因 | bridge-version、bridge-health |
docs-list_repos、docs-list_repo_docs 和 docs-get_repo_doc 需要 Exeris 仓库的检出副本;其他 docs-* 工具会在有检出副本时从中读取,否则使用软件包中捆绑的注册表快照。
lsp-* 需要本地构建的 exeris-platform-lsp;它目前尚未发布可运行的 jar。
资源
docs-* 的注册表层也可作为 MCP 资源使用,均为 text/markdown,并会在每个会话中列出。读取时采用与工具相同的检出副本或快照解析方式,以及公开范围策略。
| URI | 内容 |
|---|---|
exeris://docs/adr-index | ADR 注册表索引 |
exeris://docs/adr/{NNN} | 按三位数编号获取单条 ADR;如果记录来自未公开提供内容的仓库,则会注明所属仓库和 GitHub URL |
exeris://docs/hla | 高层架构 |
exeris://docs/whitepaper | B2B 技术白皮书 |
exeris://docs/template/{ADR|RFC|RESEARCH} | 决策文档模板 |
exeris://sdk/brief-schema | 发现简报的 JSON Schema(ADR-106),application/schema+json;静态内容,由捆绑数据提供,不需要项目或生态系统根目录,且仅在捆绑包包含该内容时列出 |
可以订阅 exeris://docs/adr-index(resources/subscribe):当使用 exeris-docs 检出副本时,服务端会在文件每次出现一批更改后发送一次 notifications/resources/updated,包括通过重命名替换文件的情况;对于捆绑的快照,内容不会改变,因此订阅请求会被接受,但永远不会触发。其他任何 URI(包括 exeris://sdk/brief-schema)都会因参数无效而被拒绝。
不属于此集合的 URI,或不是三位数的 ADR 编号,都会因参数无效而被拒绝。不在注册表中的 ADR,或没有可提供内容的 ADR,会返回 MCP 资源未找到错误(-32002);文档不可用时会返回内部错误,其数据包含 family_unavailable 的原因和解决办法。
提示词
九个无状态提示词模板,在每个会话的每种传输方式中都会列出。提示词会根据模板和你提供的参数构建消息并返回:桥接服务不会保留状态、运行循环,也不会调用模型或工具。如果某个步骤需要工具,提示词会指示 Agent 调用该工具。上下文会作为资源消息(exeris://docs/* 资源)或捆绑的 SDK 数据嵌入;无法嵌入时,提示词会说明应改为读取哪个资源。参数均为字符串,最多 256 个字符,但 diff(65,536 个字符)、output(64,000 个字符)和 area(64 个小写字母、数字和连字符)除外。
| 提示词 | 参数 | 预加载内容 | 需要本地服务 |
|---|---|---|---|
review-three-tier-violations | diff? | HLA、ADR-006、ADR-024、漂移模式策略、cap-tier Wall 规则 | 否 |
draft-adr | title? | ADR 模板、注册表索引 | 否 |
route-this-task | task | 生态系统的路由规则,仅来自生态系统检出目录 | 否 |
wall-audit | target? | ADR-006 | 否 |
author-domain | entity、area? | SDK 作用域规则、AST 架构 | build-validate_brief、lsp-* 和 build-* 步骤 |
discover-requirements | area、summary? | 无;契约是 exeris://sdk/brief-schema 资源;以 build-validate_brief 结束 | 验证步骤 |
explain-my-build | 无 | 无;调用 build-explain_artefacts、build-get_detach_state | 是 |
diagnose-build-failure | output | SDK 弃用列表 | build-explain_diagnostic 步骤 |
migrate-sdk-version | targetVersion? | SDK 弃用列表 | 否 |
如果没有生态系统检出目录,route-this-task 会回答需要该目录才能进行路由,并指出解决办法。
未知提示词、未知参数、缺少必填参数或参数超出限制时,都会作为无效参数被拒绝。
配置
应用无需设置任何内容。所有变量均为可选项,而且都不会阻止服务启动。
| 变量 | 默认值 | 用途 |
|---|---|---|
EXERIS_PROJECT_ROOT | 工作目录上方最近的 pom.xml | build-*、caps-* 和 sdk-* 要报告的项目 |
EXERIS_MAVEN_REPO | ~/.m2/settings.xml 中的 <localRepository>,然后是 ~/.m2/repository | 查找已发布 JAR 的位置 |
EXERIS_KERNEL_VERSION | 本地仓库中的最新版本 | 要启动的诊断 CLI 版本 |
EXERIS_KERNEL_COMMAND / EXERIS_KERNEL_JAR | 从本地仓库解析 | 显式启动内核诊断 CLI |
EXERIS_LSP_COMMAND / EXERIS_LSP_JAR | 无 | 启动 exeris-platform-lsp |
EXERIS_LSP_WORKSPACE | 工作目录 | 语言服务索引的工作区 |
EXERIS_DOCS_ROOT | 若存在,则使用同级的 exeris-docs 检出目录;否则使用捆绑快照 | 要读取的 exeris-docs 检出目录 |
EXERIS_BRIDGE_MODE | app | 对 Exeris 本身进行开发时使用 contributor:源代码检出目录优先于已发布的 JAR |
各变量的解析方式、Java 子进程的启动顺序以及捆绑的参考数据,详见配置参考。
故障排查
调用 bridge-health。它会报告每个功能系列的状态,并说明每个不可用项的原因和解决办法,且不会启动任何子进程。bridge-version 会报告构建信息,以及其捆绑数据所基于的上游版本。服务还会向 stderr 写入一行摘要(mode=… docs=… lsp=… kernel=… build=… caps=… sdk=…),MCP 客户端会在日志中显示该摘要。
版本管理
该软件包遵循语义化版本规范。在 1.0 之前,小版本发布可能会改变工具的输出结构;发行说明会列出客户端可能注意到的所有更改。到 1.0 时,工具名称和输入架构将冻结。
0.9.0 版本将 exeris-sdk 0.13.3 和 exeris-tooling 0.11.0 打包进软件包;exeris-tooling 0.11.0 的应用 BOM 固定使用 exeris-kernel 0.13.1。这三个组件都已发布到 Maven Central。
Links
License
Apache-2.0
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。