Skip to content

MCP server

The MCP (Model Context Protocol) server publishes Aseptic engine operations as tools for AI clients (Claude Code, Claude Desktop, Cursor…). It’s the same surface the app’s copilot uses. The tools are generated from the operations registry, so MCP and CLI don’t diverge.

Today it publishes 92 tools, 2 resources and 6 flow prompts.

It’s not a dump of the registry (115 operations): the AI operates the lab —launch, test, mock, debug— and edits the catalog (micros, scenarios, mocks, libraries and database connections). What stays out are the machine settings —workspace, credentials, personal startup layer—, which belong to the person, and moving catalog files between machines. Nothing is lost: what’s hidden is still in aseptic ops, the CLI and the control server.

The client launches aseptic mcp as a child process. It requires the compiled engine (npm run build:electron) and it’s advisable to use absolute paths and an explicit -p (the project folder with .aseptic/).

Claude Code:

Ventana de terminal
claude mcp add aseptic -- node C:\tools\aseptic\bin\aseptic.js mcp -p C:\projects\my-project

Claude Desktop / Cursor (claude_desktop_config.json or .cursor/mcp.json):

{
"mcpServers": {
"aseptic": {
"command": "node",
"args": ["C:\\tools\\aseptic\\bin\\aseptic.js", "mcp", "-p", "C:\\projects\\my-project"]
}
}
}

With the global executable (npm link), "command": "aseptic", "args": ["mcp", "-p", "..."] is enough.

With a live engine (the app open or the daemon), the same server is available over Streamable HTTP at the /mcp route of the control server, for clients that don’t launch processes. The URL and the token come from control.json; every request carries Authorization: Bearer <token>.

  • Tools — 90, grouped by domain (scenario lifecycle, debugging, Docker, catalog, git, libraries, mocks…). Each carries readOnlyHint or destructiveHint annotations where it applies, so the client decides what to run without confirmation.
  • Resourcesaseptic://guide (operation guide for AIs, in markdown) and aseptic://status (JSON snapshot: version, paths, live engine, active scenario and its micros’ status).
  • Prompts — six flow recipes, one per phase: preparar-entorno, levantar-y-probar, arreglar-y-reintentar, adoptar-escenario, mockear-dependencia and depurar-micro.

Same as the CLI: if there is a live engine, the tool runs against it (same state as the UI); if not, the stateless tools run in-proc. scenario_up_and_wait launches the daemon if it’s missing; the micros survive the MCP session (closing the AI client doesn’t stop them; to stop them, scenario_stop).

In projects with login, the MCP requires the mcp capability (independent of cli). Without it, stdio exits with 5 and HTTP responds 403. See Capabilities.