Skip to main content

Connect an AI coding assistant to Catalyst

diagrid mcp serve runs a local Model Context Protocol server that gives an AI coding assistant a curated set of Catalyst tools. The assistant can then answer questions like "which workflow runs failed in my staging project?" and act on the answer, without you pasting CLI output into the chat.

The server runs on your machine, over stdio, as a subprocess of the assistant. It uses the credentials from your existing diagrid login — there is nothing to deploy, no public endpoint, and no separate authorization step.

This is not the same thing as an MCP server hosted in your project. That feature puts Catalyst in front of an upstream MCP server so your agents can call its tools. This page is the reverse: it exposes Catalyst itself as tools, to an assistant running on your laptop.

Prerequisites

  • The Diagrid CLI, installed and on your PATH.
  • A completed diagrid login. The server re-reads your credentials on every call, so a long assistant session outlives the token it started with.
  • One of the supported assistants: Claude Code, Claude Desktop, Codex, or GitHub Copilot.

Register the server

diagrid mcp install writes the configuration your assistant needs, so you do not assemble it by hand:

diagrid mcp install --client claude-code

Pass one of claude-code, claude-desktop, codex, or copilot. Claude Code is configured by running its own claude mcp add; the other three have their configuration file written directly.

FlagWhat it does
--clientRequired. The assistant to configure.
--nameName to register the server under. Defaults to catalyst.
--data-sharingPins the response-filtering level in the written config. See Choose how much the assistant sees.
--dry-runReports what would be written, and writes nothing.
--forceReplaces an existing server of this name, backing up the configuration file first.

An existing server of the same name is never overwritten silently. If the entry is already identical, nothing happens; if it differs, the command stops and tells you, and --force replaces it after copying the file aside.

warning

--force rewrites Codex's config.toml rather than appending to it, which drops the comments in that file. The backup the command leaves behind is how you get them back.

Restart the assistant after installing, then ask it something that needs Catalyst — "list my Catalyst projects" is enough to confirm the connection.

What the assistant can do

The server exposes 22 tools, all named catalyst_*. Sixteen only read:

AreaTools
Accountcatalyst_whoami
Projectscatalyst_list_projects, catalyst_get_project
App IDscatalyst_list_appids, catalyst_get_appid
Componentscatalyst_list_components, catalyst_get_component
Workflowscatalyst_list_workflows, catalyst_get_workflow, catalyst_list_workflow_runs, catalyst_get_workflow_run
Agentscatalyst_list_agents, catalyst_get_agent
MCP serverscatalyst_list_mcp_servers, catalyst_get_mcp_server
Metricscatalyst_get_metrics

Six change state, and are annotated as writes so your assistant can prompt you before calling them: catalyst_start_workflow, catalyst_pause_workflow_run, catalyst_resume_workflow_run, catalyst_raise_workflow_event, catalyst_rerun_workflow_run, and catalyst_terminate_workflow_run. Of those, catalyst_terminate_workflow_run is annotated destructive — it ends a run that cannot be resumed.

The assistant acts as you. It can reach exactly the projects your own login can reach, and nothing more.

Choose how much the assistant sees

--data-sharing controls how much of a response the server is allowed to return:

  • full — the default. Full responses, payloads included.
  • metadata — names, IDs, and status only. Workflow input, output, and customStatus are withheld.

The default is full, because the payloads are what make a failed run diagnosable — and they go to your assistant's model provider along with everything else in the transcript. metadata keeps application data out of that context, at the cost of the payloads that explain why a run behaved the way it did.

Set the level per invocation on diagrid mcp serve:

diagrid mcp serve --data-sharing metadata

Or pin it once in the written config at install time:

diagrid mcp install --client claude-code --data-sharing metadata

install writes the flag into the config only when you pass it; without it, serve applies its own default.

Pick the level from what your assistant does with the transcript, not from the sensitivity of the CLI: the same data is on your screen either way.

Register the server by hand

If your assistant is not one of the four install supports, register diagrid mcp serve as a stdio subprocess yourself. For Claude Code that is:

claude mcp add catalyst -- diagrid mcp serve

diagrid mcp serve is not meant to be run interactively — its output is JSON-RPC on stdout. If you are logged in to a non-production Catalyst environment, pass --management-base-url with that environment's Management API base URL; the flag defaults to production, and the host is not published per environment.

What's next

  • Diagrid CLI — every command the assistant's tools wrap.
  • Dapr Skills plugin — scaffold and review Dapr Workflow applications in Claude Code.
  • MCP on Catalyst — the other direction: put Catalyst in front of an upstream MCP server for your agents to call.