Model Context Protocol

UnifiedFlows MCP server

Design, publish and operate UnifiedFlows agents by asking your AI assistant. It can draft an agent’s state graph, validate and publish it, add triggers, and follow runs step by step.

Quick start

Add this URL to your AI client as a custom connector or remote MCP server:

https://unifiedflows-api.onrender.com/agents/mcp
  1. Add the URL to your client. Pick your client in Connect your client.
  2. Your client opens a browser window. Sign in to UnifiedFlows (or sign up free), choose a workspace and approve the permissions it asks for.
  3. Ask for what you need. The assistant acts with your role in that workspace and nothing more.
Server URLhttps://unifiedflows-api.onrender.com/agents/mcp
TransportStreamable HTTP (remote). Nothing to install.
AuthenticationOAuth 2.1 sign-in with your UnifiedFlows account, or a workspace API key.
MCP versions2026-07-28, plus earlier revisions back to 2025-03-26
Tools43 tools

What you can do

  • Build agents: create agents from templates or from scratch, edit their state graphs as drafts, validate, publish and roll back versions.
  • Trigger them: add schedules, app webhooks and manual triggers, and run published actions.
  • Operate runs: start, cancel, retry and replay runs, and read each step’s tool calls and outputs.
  • Stay in the loop: answer approval steps waiting for a person, and resolve incidents.

Connect your client

These steps add the UnifiedFlows management server. Menus move between releases, so check your client’s own MCP documentation if a step does not match.

Claude (claude.ai and Claude Desktop)

  1. Open Settings → Connectors and choose Add custom connector.
  2. Name it UnifiedFlows and paste the server URL.
  3. Click Connect, sign in to UnifiedFlows, choose a workspace and approve access.
  4. In a chat, enable UnifiedFlows from the tools menu.

On Team and Enterprise plans, an owner may need to add the connector for the organization first.

Claude Code

claude mcp add --transport http unifiedflows https://unifiedflows-api.onrender.com/agents/mcp

Then run /mcp inside Claude Code, select unifiedflows and choose Authenticate. Add --scope project to share it with your team through .mcp.json, or --scope user to use it in every project.

ChatGPT

  1. Turn on Developer mode under Settings → Apps & Connectors → Advanced settings.
  2. Back in Apps & Connectors, choose Create.
  3. Name it UnifiedFlows, paste the server URL and choose OAuth authentication.
  4. Sign in to UnifiedFlows and approve access, then enable it from the tools menu in a chat.

OpenAI Codex (CLI and IDE extension)

codex mcp add unifiedflows --url https://unifiedflows-api.onrender.com/agents/mcp
codex mcp login unifiedflows

Or add it to ~/.codex/config.toml and then run codex mcp login unifiedflows:

[mcp_servers.unifiedflows]
url = "https://unifiedflows-api.onrender.com/agents/mcp"

Cursor

Add this to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project), then open Settings → MCP and click Connect next to unifiedflows:

{
  "mcpServers": {
    "unifiedflows": {
      "url": "https://unifiedflows-api.onrender.com/agents/mcp"
    }
  }
}

VS Code (GitHub Copilot)

code --add-mcp '{"name":"unifiedflows","type":"http","url":"https://unifiedflows-api.onrender.com/agents/mcp"}'

Or add it to .vscode/mcp.json (or run MCP: Add Server from the Command Palette). Start the server when prompted and sign in, then use it from Copilot Chat in Agent mode.

{
  "servers": {
    "unifiedflows": {
      "type": "http",
      "url": "https://unifiedflows-api.onrender.com/agents/mcp"
    }
  }
}

Windsurf

Open Windsurf Settings → Cascade → MCP Servers → View raw config (~/.codeium/windsurf/mcp_config.json), add the server and refresh:

{
  "mcpServers": {
    "unifiedflows": {
      "serverUrl": "https://unifiedflows-api.onrender.com/agents/mcp"
    }
  }
}

Gemini CLI

gemini mcp add --transport http unifiedflows https://unifiedflows-api.onrender.com/agents/mcp

Or add it to ~/.gemini/settings.json. Then run /mcp auth unifiedflows inside Gemini CLI to sign in:

{
  "mcpServers": {
    "unifiedflows": {
      "httpUrl": "https://unifiedflows-api.onrender.com/agents/mcp"
    }
  }
}

Zed

Add a context server to your Zed settings.json. This uses the mcp-remote bridge, which handles the browser sign-in:

{
  "context_servers": {
    "unifiedflows": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://unifiedflows-api.onrender.com/agents/mcp"
      ]
    }
  }
}

Cline

Open the MCP Servers panel, choose Configure to edit cline_mcp_settings.json, and add:

{
  "mcpServers": {
    "unifiedflows": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://unifiedflows-api.onrender.com/agents/mcp"
      ]
    }
  }
}

JetBrains IDEs (AI Assistant)

Go to Settings → Tools → AI Assistant → Model Context Protocol (MCP), click Add, choose As JSON and paste:

{
  "mcpServers": {
    "unifiedflows": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://unifiedflows-api.onrender.com/agents/mcp"
      ]
    }
  }
}

Other clients

Any client that supports remote Streamable HTTP servers with OAuth can use the server URL directly. For a client that only runs local (stdio) servers, or cannot do OAuth, bridge it with mcp-remote (needs Node.js 18+). It opens the browser sign-in on first use and stores the token locally:

{
  "mcpServers": {
    "unifiedflows": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://unifiedflows-api.onrender.com/agents/mcp"
      ]
    }
  }
}

Sign-in and permissions

OAuth (recommended)

  • Your client signs you in to UnifiedFlows in the browser. On the consent screen you choose the workspace the client may use and approve the scopes it asks for. Its access is tied to that workspace.
  • Every tool runs with your own role in the workspace (viewer, member, admin or owner), checked on every call. If you leave the workspace, the client loses access at once.
  • A client approved for UnifiedFlows cannot use another product’s management server; each has its own URL and sign-in.

Workspace API key

Clients that can’t do OAuth can send a workspace API key as a bearer token. The workspace owner creates it in the app under Settings → API Access. It acts as the owner with every permission, so prefer OAuth where you can and keep the key secret.

Authorization: Bearer ud_…

# Claude Code
claude mcp add --transport http unifiedflows https://unifiedflows-api.onrender.com/agents/mcp --header "Authorization: Bearer ud_…"

Scopes

ScopeAllows
connections:readSee your connected apps and the objects and fields they expose.
connections:writeCreate links to connect new apps, and remove connections.
agents:readRead your agents, their graphs, triggers, runs and incidents.
agents:writeCreate, change and delete agents, their graphs and triggers.
agents:runStart, cancel, retry, resume and replay agent runs.

A tool also needs the right workspace role. The tables below list the minimum role; your role is checked as well as the scope.

Tools

43 tools. Tools marked Changes data are flagged as destructive, so most clients ask before running them; ones marked Confirm also need confirm: true.

Connected apps

ToolWhat it doesScopeRoleChanges data
list_integrationsApps you can connect, optionally filtered by category (crm, hris, ats, ticketing, accounting, …).connections:readviewerNo
list_connectionsApps connected to the workspace, filtered by category or status.connections:readviewerNo
get_connectionOne connection: its app, categories, permissions and status.connections:readviewerNo
list_connection_objectsThe object types a connection supports, and which can send webhooks.connections:readviewerNo
get_object_fieldsThe fields of one object type, and whether each can be read or written.connections:readviewerNo
list_recordsRead a few live records (up to 25) from a connected app. Never writes.connections:readviewerNo
create_connection_linkA link a person opens to connect a new app.connections:writememberYes
delete_connectionDisconnect an app. Refused while an active flow reads from it.connections:writeadminYes · Confirm

Agents

ToolWhat it doesScopeRoleChanges data
list_agentsYour agents, with status and run counts.agents:readviewerNo
get_agentOne agent with its published graph.agents:readviewerNo
get_agent_templatesReady-made graphs, such as PR review, lead enrichment and daily digest.agents:readviewerNo
list_genai_modelsThe models available on an AI provider connection.agents:readviewerNo
create_agentCreate an agent from a graph. It runs only once triggered.agents:writememberYes
update_agentChange name, description, status, default model or guardrails.agents:writememberYes
delete_agentDelete an agent with its versions and triggers. Run history is kept.agents:writeadminYes · Confirm

Graphs

ToolWhat it doesScopeRoleChanges data
get_agent_draftThe editable draft graph and its validation result.agents:writememberNo
update_agent_draftSave a draft graph.agents:writememberYes
validate_agent_graphCheck a graph. Errors block publishing; warnings do not.agents:readviewerNo
publish_agent_graphPublish the draft as the agent’s new active version.agents:writememberYes
list_agent_graph_versionsPublished versions of an agent’s graph.agents:readviewerNo
rollback_agent_graphMake an earlier version active again.agents:writememberYes

Triggers and actions

ToolWhat it doesScopeRoleChanges data
list_agent_triggersAn agent’s schedule, webhook and manual triggers.agents:readviewerNo
create_agent_triggerAdd a schedule (cron), an app webhook (created, updated, deleted) or a manual trigger.agents:writememberYes
update_agent_triggerEnable, disable or reconfigure a trigger.agents:writememberYes
delete_agent_triggerRemove a trigger.agents:writememberYes
list_agent_event_hooksEvent hooks that feed outside events (such as CI results) to runs.agents:readviewerNo
create_agent_event_hookAdd an event hook (GitHub CI or generic).agents:writememberYes
list_agent_actionsPublished actions you may run, with their inputs.agents:readviewerNo
run_agent_actionRun a published action. Each action can require its own minimum role.agents:runviewerYes

Runs

ToolWhat it doesScopeRoleChanges data
trigger_agentStart a run now. Counts toward your plan’s agent runs.agents:runmemberYes
list_agent_runsRun history.agents:readviewerNo
get_agent_runOne run step by step: tool calls, outputs and tokens used.agents:readviewerNo
cancel_agent_runStop a run.agents:runmemberYes
retry_agent_runRetry a failed run.agents:runmemberYes
replay_agent_runStart a new run from an earlier one, from its beginning or from one of its steps.agents:runmemberYes
send_agent_eventDeliver an event to runs that are waiting for one.agents:runmemberYes

Approvals and incidents

ToolWhat it doesScopeRoleChanges data
list_agent_tasksSteps waiting for a person to approve or answer.agents:readviewerNo
resume_agent_runApprove, reject or answer a waiting step.agents:runmemberYes
list_agent_incidentsProblems that need attention.agents:readviewerNo
resolve_agent_incidentDismiss an incident, or retry the run behind it.agents:runmemberYes

Insights

ToolWhat it doesScopeRoleChanges data
get_agent_metricsOutcome and ROI metrics for an agent.agents:readviewerNo
get_agent_state_statsStatistics for each state of an agent’s graph.agents:readviewerNo
list_agent_activityRecent steps across all your agents.agents:readviewerNo

Example prompts

  • “Build an agent that reviews every new GitHub pull request and posts a summary to Slack.”
  • “What is waiting for my approval? Approve the refund for order 1042.”
  • “Why did the lead-enrichment agent fail this morning? Retry it.”
  • “Run the lead-enrichment agent every weekday at 8am Pacific.”

Good to know

  • Tool results are capped at 100,000 characters so they don’t flood your assistant’s context. List tools page through results (page, and limit up to 100).
  • Agents start as drafts and run only when triggered. Runs started from your AI client count toward your plan’s agent runs, like any other run.
  • The API allows up to 100 requests a minute from one IP address, MCP included.
  • Plan limits and your workspace role apply exactly as in the app. See Pricing.

Security and revoking access

  • Access tokens last one hour and only work with the server they were issued for. Refresh tokens last 30 days and are replaced every time they are used; reusing an old one revokes every token descended from it.
  • Every sign-in uses PKCE (S256), so a stolen authorization code cannot be redeemed.
  • To stop a client using your account, disconnect or remove UnifiedFlows in that client. Removing someone from the workspace cuts off their clients immediately.
  • Workspace owners can rotate the API key in the app at any time.

See our Privacy Policy for how your data is handled.

Troubleshooting

ProblemFix
The browser sign-in never opensMake sure the client is set up for a remote HTTP server with OAuth, not a local command. If it cannot do OAuth, use the mcp-remote bridge or a workspace API key.
405 Method Not AllowedThe client tried the older HTTP+SSE transport. Choose Streamable HTTP in its settings, or use the mcp-remote bridge.
401 Unauthorized, or tools stop working after a whileYour sign-in expired or was revoked, or you were removed from the workspace. Re-authenticate in the client (for example /mcp in Claude Code, or disconnect and reconnect the connector).
“This token is missing the required scope”The client was approved without that permission. Disconnect, reconnect and approve the scopes you want it to use.
A tool says you don’t have permissionYour workspace role is too low for that tool. See the Role column in the tool tables, or ask a workspace admin.
The client is working in the wrong workspaceThe workspace is chosen when you approve the client. Disconnect, reconnect and pick the other workspace.

For client developers

  • Management server: Streamable HTTP, POST only (other methods get 405), stateless. Serves protocol revision 2026-07-28 (no initialize handshake) and earlier revisions back to 2025-03-26. Tools only; no resources or prompts.
  • Protected resource metadata (RFC 9728): https://unifiedflows-api.onrender.com/.well-known/oauth-protected-resource/agents/mcp
  • Authorization server metadata (RFC 8414): https://unifiedflows-api.onrender.com/.well-known/oauth-authorization-server
  • Clients identify themselves with a Client ID Metadata Document (preferred) or Dynamic Client Registration at https://unifiedflows-api.onrender.com/oauth/register. Redirect URIs must be HTTPS, or HTTP on a loopback address.
  • Authorization code with PKCE S256 (plain is refused) and refresh tokens. The resource parameter (RFC 8707) is required and must be the server URL. Public clients and client secrets are both supported; authorization responses include iss (RFC 9207). Revoke refresh tokens at https://unifiedflows-api.onrender.com/oauth/revoke.
  • A 401 carries a WWW-Authenticate challenge naming the resource metadata and the product’s scopes. A client may request only the product’s own scopes; asking for none grants them all.

Need help?

If you have trouble connecting, contact us or read the FAQ.