Agent API — query and watch the fleet from any agent
How to point an agent at this instance over MCP, the tools it can call, and what a session looks like in practice.
Quickstart
the endpoint this app is reading right now1
Point any MCP client at your instance
Claude Code, Cursor, ChatGPT — or your own agent. n8n serves MCP over streamable HTTP at /mcp-server/http; the block below is the same URL and auth header Fleet uses in lib/fleet/mcp-source.ts, not an illustration.
// mcp.json — the endpoint this app reads
{
"mcpServers": {
"n8n": {
"type": "http",
"url": "https://stevysmith.app.n8n.cloud/mcp-server/http",
"headers": { "Authorization": "Bearer ${N8N_MCP_TOKEN}" }
}
}
}
{
"mcpServers": {
"n8n": {
"type": "http",
"url": "https://stevysmith.app.n8n.cloud/mcp-server/http",
"headers": { "Authorization": "Bearer ${N8N_MCP_TOKEN}" }
}
}
}
2
Mint a token, and flip the per-workflow toggle
The token comes from Settings → n8n MCP Server → API key and is sent as a bearer header. Two limits shape everything above: each workflow has its own Available in MCP toggle, and a workflow without it is omitted from search_executions silently rather than erroring — so a fleet-wide figure computed over a partly-visible estate is quietly wrong unless you subtract those rows. Right now 23 of 23 automations carry the toggle Live. The server also rate-limits to 100 requests per IP per 5 minutes, which is why Fleet syncs on a call budget instead of one request per workflow.
3
Ask
Click a prompt to copy it into your client. These name real workflows on stevysmith.app.n8n.cloud, so they resolve against tools the instance actually serves:
Tools this instance serves
4called by Fleet · hover for what each can’t answerLivesearch_workflowsread
get_workflow_detailsread
search_executionsread
list_credentialsread
n8n’s MCP server exposes more than these — project, folder and workflow-authoring tools among them. The four above are the ones Fleet’s read layer calls. Credentials are the notable gap: list_credentialsreturns an inventory with no join key to workflows, so “which automations share a credential” is not answerable over MCP and is not approximated anywhere in this app.
Proposed fleet.* namespace
13 tools · hover for descriptionsSeededfleet.statusread
fleet.needs_attentionread
fleet.whats_failingread
fleet.blast_radiusread
fleet.irreversible_actionsread
fleet.orphanedread
fleet.who_ownsread
fleet.explainread
fleet.pending_approvalsread
fleet.valueread
fleet.autonomyread
fleet.set_autonomywrite
fleet.request_changewrite
Nothing serves these today — they are the design, not a running surface. They would register on n8n’s existing MCP server behind one new fleet:read scope, so an agent gets governance answers from the same endpoint and the same OAuth attribution as the tools above, with no new infrastructure. Every one of them answers a question the four live tools can only answer after Fleet has joined, classified and stored the result.
In practice
one exchange against stevysmith.app.n8n.cloudClaude Code · connected to stevysmith.app.n8n.cloud
which workflows take an action that cannot be undone, and is there an approval step?
search_workflows({ limit: 200 })
→ 23 workflows · 23 available in MCP
get_workflow_details({ workflowId: "access_prov" })
get_workflow_details({ workflowId: "churn_scorer" })
get_workflow_details({ workflowId: "content_agent" })
get_workflow_details({ workflowId: "contract_agent" })
· Content Repurpose Agent — 2 irreversible actions · no approval step found · owner Lena Brandt
· Fraud Watch Agent — 1 irreversible action · approval step present · owner Dana Okafor
· Offboarding / Deprovision — 1 irreversible action · approval step present · owner Raj Menon
· Refund Agent — 1 irreversible action · no approval step found · owner Mark Reuben
· SEO/AEO Growth Loop (Slack -> Claude Code routine relay) — 4 irreversible actions · no approval step found · owner unassigned
5 of the 23 workflows I could read take an action I classify as irreversible. For 1 of them I found no approval step in the graph — n8n records no gate flag, so that is unverified, not proven absent. 1 has nobody accountable, which n8n cannot tell you at all — that lives in Fleet. Whether they run ungated is a policy call. Set it in Autonomy.
◷ fleet-watchdog · scheduled agent — the shape of a daily 08:00 run
search_workflows({ limit: 200 })
→ 23 workflows · 0 not MCP-enabled · 1 unassigned
search_executions({ startedAfter: "2026-06-28", limit: 200 })
→ 25,754 executions · 782 failed · across 23 connected workflows
The tool calls and the figures above are this instance, read the same way the rest of Fleet reads it. The scheduled agent that would post this as a morning digest is not deployed, and Fleet has recorded no approvals or decisions on this instance — so there is nothing to escalate and no digest has been sent.
Both transcripts are rendered from the estate at request time Derived — the workflow names, ids, counts and gate states above are the ones Fleet holds, not sample output. The scheduled-run framing is the only invented part Seeded: no agent is subscribed to this instance on a schedule.