The engine's MCP server speaks streamable HTTP only — no stdio — and binds to 127.0.0.1 on the port set by mcpPort in config.json (default 3002), at the path /mcp. Any MCP-capable agent connects the same way.
1. Create an agent token
The agent authenticates with an agent token, not with your browser session. On the Agent Tokens page of the web interface (http://127.0.0.1:3001), create a token for the agent or job that will hold it. The secret is shown once; name the token for what will use it.
Tokens are long-lived and revocable one at a time. Revoking a token stops that agent or job from starting workflows and affects nothing else — no user is logged out, no other token is touched. A token acts under a personal profile, so the engine's seat accounting and that profile's library apply to everything it runs.
What a token can reach depends on the tier. On every tier it gives the agent the MCP tools on port 3002. From Team and up it also opens the REST API on port 3001, so the agent can author and publish workflows itself — see authoring over the API. On Starter and Pro the API answers an agent token with 403.
2. Add one MCP entry
In the project where the agent should use workflows, add the server to .mcp.json (Claude Code, Codex and most clients read this shape):
{
"mcpServers": {
"workflow": {
"type": "http",
"url": "http://127.0.0.1:3002/mcp",
"headers": {
"Authorization": "Bearer wsk_...your agent token..."
}
}
}
}The same configuration works from a laptop, a CI runner or a scheduled job. Nothing about a run depends on a person being signed in.
3. Check the tools are there
Ask the agent what MCP tools it has. It should list the ten ccw_* tools — ccw_list and ccw_start are the two it will use first. The server's own instructions tell the agent how to behave: discover workflows with ccw_list, start one with ccw_start, report each step with ccw_continue, and not to inspect workflow definitions — just follow the instructions each step returns.
How a run goes
Starting one is a line in the agent's chat, in the project folder where the engine is configured:
ccw_start Code Quality
The agent makes the tool call, asking for any input the workflow requires. Then:
- The agent calls
ccw_startwith the workflow name and input. The engine runs through its own steps until it reaches one that needs the agent, and returns that step's instruction. - The agent does the work and calls
ccw_continuewith a result: a status, a summary, structured output, and for decision steps the branch it chose. - The engine records the result, picks the next transition, runs any engine-executed steps, and returns the next instruction. This repeats until the workflow ends.
When a run reaches an approval gate, the engine returns the gate's message with status: "waiting" instead of an instruction. The agent puts the question to you in your session and sends your answer back with ccw_continue. There is no separate approval screen.
Next
The ccw_* tools, one page each — or how workflows are authored.