Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
Read-only Exeris context for AI agents: ADRs, SDK contract, build output, kernel diagnostics.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
EXERIS_PROJECT_ROOT, EXERIS_DOCS_ROOTNecesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"ai-bridge": {
"command": "npx",
"args": [
"-y",
"@exeris/ai-bridge"
],
"env": {
"EXERIS_PROJECT_ROOT": "your-value",
"EXERIS_DOCS_ROOT": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add ai-bridge --env EXERIS_PROJECT_ROOT=your-value --env EXERIS_DOCS_ROOT=your-value -- npx -y @exeris/ai-bridgeCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"ai-bridge": {
"command": "npx",
"args": [
"-y",
"@exeris/ai-bridge"
],
"env": {
"EXERIS_PROJECT_ROOT": "your-value",
"EXERIS_DOCS_ROOT": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"ai-bridge": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@exeris/ai-bridge"
],
"env": {
"EXERIS_PROJECT_ROOT": "your-value",
"EXERIS_DOCS_ROOT": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
EXERIS_PROJECT_ROOT envEXERIS_DOCS_ROOT envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub exeris-systems, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.8.0) llegó al registro hace 17 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, OpenTakeoff
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Construction takeoff for AI agents: load plans, set scale, measure, count, export with provenance.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
Model Context Protocol server that gives AI agents the context of an Exeris application: what
your build emitted, the SDK's authoring contract, the ADR registry, and a running kernel.
Every tool is a read. The bridge never writes to your project, never calls a model API, and runs as a separate process from the Java kernel. It is built for developers writing an application on Exeris, and works without a checkout of the ecosystem: the reference data it needs ships inside the package.
Run the server inside your project, so it finds your pom.xml.
Claude Code
claude mcp add exeris -- npx -y @exeris/ai-bridge
Claude Desktop: install exeris-ai-bridge- .mcpb from the GitHub Releases. Desktop does not start the server inside a project, so set Project root in the extension's settings to use the build-* and caps-* tools.
Any other MCP client (Cursor, VS Code, Copilot): the command is npx -y @exeris/ai-bridge over stdio.
{
"mcpServers": { "exeris": { "command": "npx", "args": ["-y", "@exeris/ai-bridge"] } } }
The server is also listed in the MCP Registry as io.github.exeris-systems/ai-bridge.
kernel-* only: JDK 25 or newer, and eu.exeris:exeris-kernel-diagnostics-cli in your local Maven repository, which a build of an Exeris application puts there.build-preview_generation only: for java, JDK 25 or newer and eu.exeris:exeris-codegen-cli, at the tooling version your project pins, in your local Maven repository; for ts, @exeris/codegen-ts in your project's own node_modules.~/.m2 and never downloads.Tool names are family-tool. All 34 are listed in every session; a family whose dependency is missing answers with a structured family_unavailable result naming the reason and the remedy.
| Family | Answers | Tools |
|---|---|---|
build-* | What your last build emitted, which files codegen owns, what a build diagnostic means, the build files for a new application, what the generator would write now, and whether your discovery briefs are ready; toolingSkew says whether your project pins a different tooling release than the bundled generator catalogue | 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-* | The capability composition your build validated | caps-list_capabilities, caps-describe_composition |
sdk-* | The SDK's annotations, deprecations, scoping rules and AST schema; whether your project pins a different SDK | sdk-list_annotations, sdk-describe_annotation, sdk-list_deprecations, sdk-get_scoping_rules, sdk-get_ast_schema |
docs-* | The Exeris ADRs, the high-level architecture, the whitepaper and the decision templates | 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-* | A running kernel's providers, bootstrap DAG, subsystems and JVM ergonomics | kernel-list_providers, kernel-get_bootstrap_dag, kernel-describe_subsystem, kernel-get_jvm_ergonomics |
lsp-* | @ExerisDomain types and actions from the Studio language server, and a preview of a source edit as a diff | lsp-list_domains, lsp-describe_domain, lsp-list_actions, lsp-preview_mutation |
bridge-* | The server itself: version, bundled data, and why a family is unavailable | bridge-version, bridge-health |
docs-list_repos, docs-list_repo_docs and docs-get_repo_doc need a checkout of the Exeris repositories; the other docs-* tools answer from a checkout when there is one, and otherwise from a registry snapshot bundled in the package. lsp-* needs a locally built exeris-platform-lsp, which publishes no runnable jar yet.
The registry tier of docs-* is also available as MCP resources, all text/markdown, listed in every session. A read goes through the same checkout-or-snapshot resolution and public-scope policy as the tools.
| URI | Content | ||
|---|---|---|---|
exeris://docs/adr-index | The ADR registry index | ||
exeris://docs/adr/{NNN} | One ADR by its three-digit number; a record from a repository that is not served publicly names its owning repository and GitHub URL | ||
exeris://docs/hla | The high-level architecture | ||
exeris://docs/whitepaper | The B2B technical whitepaper | ||
| `exeris://docs/template/{ADR\ | RFC\ | RESEARCH}` | A decision-doc template |
exeris://sdk/brief-schema | The JSON Schema of a discovery brief (ADR-106), application/schema+json; static, served from the bundled data with no project or ecosystem root, and listed only when the bundle carries it |
exeris://docs/adr-index can be subscribed to (resources/subscribe): from an exeris-docs checkout the server sends notifications/resources/updated once per burst of changes to the file, including a replacement by rename; from the bundled snapshot the content cannot change, so the subscription is accepted and never fires. Any other URI, exeris://sdk/brief-schema included, is rejected as invalid params.
A URI outside this set, or an ADR number that is not three digits, is rejected as invalid params. An ADR that is not in the registry or has no servable content answers with the MCP resource-not-found error (-32002); docs being unavailable answers with an internal error whose data is the family_unavailable reason and remedy.
Nine stateless prompt templates, listed in every session on every transport. A prompt returns messages built from its template and the arguments you give it: the bridge keeps no state, runs no loop and calls no model or tool. Where a step needs a tool, the prompt tells the agent to call it. Context is embedded as resource messages (the exeris://docs/* resources) or as bundled SDK data; where it cannot be embedded, the prompt says which resource to read instead. Arguments are strings, at most 256 characters, except diff (65,536 characters), output (64,000) and area (64, lowercase letters, digits and hyphens).
| Prompt | Arguments | Pre-loads | Needs a local server |
|---|---|---|---|
review-three-tier-violations | diff? | HLA, ADR-006, ADR-024, the drift-patterns policy, the cap-tier Wall rule | no |
draft-adr | title? | ADR template, registry index | no |
route-this-task | task | the ecosystem's routing rules, from an ecosystem checkout only | no |
wall-audit | target? | ADR-006 | no |
author-domain | entity, area? | SDK scoping rules, AST schema | build-validate_brief, lsp-* and build-* steps |
discover-requirements | area, summary? | nothing; the contract is the exeris://sdk/brief-schema resource; ends in build-validate_brief | the validation step |
explain-my-build | none | nothing; calls build-explain_artefacts, build-get_detach_state | yes |
diagnose-build-failure | output | SDK deprecation list | the build-explain_diagnostic step |
migrate-sdk-version | targetVersion? | SDK deprecation list | no |
route-this-task without an ecosystem checkout answers that routing needs one and names a remedy. An unknown prompt, an unknown argument, a missing required argument or one over its bound is rejected as invalid params.
Nothing needs setting for an application. Every variable is optional, and none can stop the server from booting.
| Variable | Default | Purpose |
|---|---|---|
EXERIS_PROJECT_ROOT | nearest pom.xml above the working directory | The project build-*, caps-* and sdk-* report on |
EXERIS_MAVEN_REPO | in ~/.m2/settings.xml, then ~/.m2/repository | Where published jars are looked up |
EXERIS_KERNEL_VERSION | newest release in the local repository | The diagnostics CLI version to launch |
EXERIS_KERNEL_COMMAND / EXERIS_KERNEL_JAR | resolved from the local repository | Launch the kernel diagnostics CLI explicitly |
EXERIS_LSP_COMMAND / EXERIS_LSP_JAR | none | Launch exeris-platform-lsp |
EXERIS_LSP_WORKSPACE | the working directory | The workspace the language server indexes |
EXERIS_DOCS_ROOT | a sibling exeris-docs checkout if present, else the bundled snapshot | The exeris-docs checkout to read |
EXERIS_BRIDGE_MODE | app | contributor for work on Exeris itself: source checkouts win over published jars |
How each variable resolves, the launch ladder for the Java children, and the bundled reference data are described in the configuration reference.
Call bridge-health. It reports every family's state, with the reason and the remedy for each one that is unavailable, without starting any child process. bridge-version reports the build and the upstream releases its bundled data came from. The server also writes a one-line summary (mode=… docs=… lsp=… kernel=… build=… caps=… sdk=…) to stderr, which MCP clients show in their logs.
The package follows semver. Until 1.0, a minor release may change a tool's output shape; the release notes list every change a client may notice. At 1.0 the tool names and input schemas are frozen.
The next release targets exeris-kernel 0.12.0, exeris-sdk 0.13.2 and exeris-tooling 0.10.0, all on Maven Central.
Apache-2.0