Skip to content
roadflow logo

roadflow MCP server

Which servers in the official MCP registry are roadflow's own, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.

read 2026-10-26

← Back to roadflow

Whose server it is
  • Registry nameio.roadflow/roadflowverified in the MCP registry

The registry name sits under roadflow.io. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.

When we asked itchecked 2026-10-26
  • Stateanswerschecked 2026-10-26
  • Tools43
  • Server calls itselfroadflow
  • Server version1.0.0
  • Protocol version2025-06-18

On 2026-10-26 the server answered initialize and tools/list without a sign-in. First answer in 180 ms.

Should an agent connect itNot proven either way yet
  • Its tools do plan roadmap steps across parallel lanes and goals; share view-only roadmap links with stakeholders, but not sync roadmap items from a Slack list.
  • Checked on 1 of the 7 days it takes to judge reliability.

Once connected

  • For "plan roadmap steps across parallel lanes and goals", the likely first call is roadflow_new.
  • For "share view-only roadmap links with stakeholders", the likely first call is roadflow_create_shared.
  • Keep approval on for model_delete_parameter, model_delete_observation, model_delete_edge: they delete, send or pay without saying so.
  • roadflow_create_shared, artifacts_create_shared, model_delete_parameter, model_delete_observation, model_delete_edge change data without a sign-in: anyone with the address can call them.
  • Parameters are untyped or undescribed in 18 of 43 tools: check arguments before calling.

Said by rules from the measurements above. The likely first call is a model's pick from the tool list; read its description before relying on it.

Measured dailydaily checks: 1, the first on 2026-10-26
  • INITE MCP scoreafter a weeka score needs 7 daily checks: 1 so far
  • What an agent can do with it2 of 3 use cases
  • Answeredmeasuring1 of the 7 daily checks it takes to print a share
  • Median first answer761 ms
  • Space in an agent's context≈ 4,533 tokensthe definitions of all its tools (43), which an agent carries on every turn
  • Tool definitionsC · 73 of 100
  • Typed results0 of 43 toolsdeclared outputSchema: results come typed, read once
  • Parameters without a type: in 8 of 43
  • Parameters without a description: in 18 of 43
  • Not saying whether it only reads or can destroy: 43 of 43

What an agent can do with it

  • can do · plan roadmap steps across parallel lanes and goals
  • cannot · sync roadmap items from a Slack list
  • can do · share view-only roadmap links with stakeholders

Each of the product's use cases, put to Jev against this server's tool list: can an agent do it with these tools?

Worth a look

  • Tools that delete, send or pay without telling the client so: model_delete_parameter, model_delete_observation, model_delete_edge
  • Tools that change data, on a server that answers without a sign-in: roadflow_create_shared, artifacts_create_shared, model_delete_parameter, model_delete_observation, model_delete_edge

A program checks the server once a day: initialize and tools/list, no model. Tokens are the definitions' length at about four characters a token. The grade averages six checks of every tool's name, description, schema and annotations; it says how well the tools are described, not whether they work. The score weighs what was measured and nothing else: answering (30%), doing the product's job (25%), definitions (20%), context (10%) and use (15%). A part that was not measured is left out, and a hidden instruction caps the score at 40. The state of vendors' MCP servers: method and numbers →

Tools it offers43 tools · read 2026-10-26
  • roadflow_new

    Create an ephemeral in-memory roadflow workspace (default). Optional seed JSON and/or markup. No cloud id until create_shared.

  • roadflow_status

    Return mode, ids, URLs, and road/step counts for the current MCP session workspace.

  • roadflow_get

    Return the current workspace as JSON and/or markup.

  • roadflow_apply_json

    Replace workspace state with normalized JSON (serializeState shape). In shared edit mode, saves to the cloud automatically.

  • roadflow_apply_markup

    Replace roads via friendly markup (same as the editor panel). Shared edit mode auto-saves.

  • roadflow_open_shared

    Load a cloud map by edit or view id into this session. View links are read-only.

  • roadflow_create_shared

    Persist the current workspace to the cloud (permanent share). Returns editUrl (play/edit/share further) and viewUrl (visual canvas, read-only). Prefer viewUrl when the user only needs to see the map.

  • roadflow_export_json

    Export the current workspace as JSON (serializeState).

  • roadflow_export_markup

    Export the current workspace as friendly markup.

  • roadflow_export_csv

    Export steps as CSV (road, goal, lane, step, notes, type, status, position, date).

  • roadflow_list_versions

    List shared-map version checkpoints (newest first). Relative indexes: -1 = newest. Requires a shared edit workspace (not view-only).

  • roadflow_get_version

    Load one shared-map version by relative index (e.g. -1 newest, -2 previous). Returns JSON state. Does not change the live map or workspace unless load=true.

  • roadflow_discard

    Clear the in-memory workspace for this MCP session (does not delete cloud maps).

  • artifacts_new

    Create an ephemeral in-memory Artifacts graph workspace. Optional seed JSON (serializeState shape: nodes + labels). No cloud id until artifacts_create_shared.

  • artifacts_status

    Return mode, ids, /artifacts/?id= URLs, and node/label counts.

  • artifacts_get

    Return the current Artifacts workspace as JSON.

  • artifacts_apply_json

    Replace (or merge) the Artifacts graph with normalized JSON. Shared edit mode auto-saves to the cloud.

  • artifacts_open_shared

    Load a cloud Artifacts graph by edit or view id. View links are read-only.

  • artifacts_create_shared

    Persist the current Artifacts workspace to the cloud. Returns editUrl and viewUrl under /artifacts/.

  • artifacts_export_json

    Export the current Artifacts workspace as JSON (serializeState).

  • artifacts_list_versions

    List shared Artifacts version checkpoints (newest first). Requires a shared edit workspace.

  • artifacts_get_version

    Load one shared Artifacts version by relative index (-1 newest). Optional load=true replaces the MCP workspace (does not save).

  • artifacts_discard

    Clear the in-memory Artifacts workspace for this MCP session (does not delete cloud graphs or the Plans workspace).

  • model_new

    Create a Model project in MySQL (parameter register). Allocates a view id (mv-…) when omitted and returns viewUrl. Optional seed: title, calendar, streams, axes, phases, parameterSets, chains, parameters, observations, edges. Does not…

  • model_open

    Bind this MCP session to an existing Model project (edit or view id). View ids are read-only.

  • model_status

    Counts, rev, and /model/?id= URLs for the bound project (or pass id).

  • model_get

    Hydrate records from MySQL. include=summary (default counts), dictionaries, parameters, observations, edges, or all. Prefer model_upsert_observation to change one fact — do not treat this as a blob to rewrite.

  • model_discard

    Unbind the Model project from this MCP session. Does not delete MySQL rows.

  • model_patch_project

    Update title, calendar, viewId, streams, axes, phases, parameterSets, and/or chains. Send If-Match via rev. Replaces each provided dictionary in full.

  • model_list_parameters

    List parameter catalog rows. Optional filters: streamId, role, layer, primaryOwner.

  • model_get_parameter

    One catalog row plus its observations (facts).

  • model_upsert_parameter

    Create or patch one parameter definition (not observations). Pass rev for If-Match on update.

  • model_upsert_parameters

    Create or patch many catalog rows (cap 400). Same body shape as model_upsert_parameter. continueOnError returns per-row errors; otherwise one transaction.

  • model_delete_parameter

    Delete a parameter and its observations (cascade).

  • model_list_observations

    List facts. Filter by parameterId, setId, evidenceStatus. Sets are a column (Base/Downside/Upside), not an axis.

  • model_upsert_observation

    Create or replace one fact (parameterId + scope + setId). Example: Base P2 facility MW. Do not write CALC-computed values; only IN facts or CALC overrides (valueOverride). Pass rev for If-Match.

  • model_upsert_observations

    Create or replace many facts (cap 400). Same body shape as model_upsert_observation. Rejects CALC outputs unless valueOverride. continueOnError returns per-row errors; otherwise one transaction.

  • model_delete_observation

    Delete one fact by parameterId + scope/scopeKey + setId.

  • model_list_edges

    Manual lineage edges only (SOURCE/FLOW/INTERFACE). FORMULA edges are derived from formulas on load — not stored.

  • model_upsert_edge

    Create or patch a manual SOURCE, FLOW, or INTERFACE edge. FORMULA is rejected.

  • model_delete_edge

    Delete a manual edge by edgeId.

  • model_evaluate

    Read-only computeModel. Does not write MySQL. View ids allowed. Default period is calendar start (not today). periodId and range* are mutually exclusive. Cell cap 2000.

  • model_list_dictionaries

    Streams, axes (members), phases, parameter sets, chains, and calendar. Period members may be derived from calendar.

How to connect

Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:

{
  "mcpServers": {
    "roadflow": {
      "type": "http",
      "url": "https://roadflow.io/mcp"
    }
  }
}

Add it

Claude Code, in a terminal

claude mcp add --transport http roadflow https://roadflow.io/mcp

Add to CursorAdd to VS Code

claude.ai, ChatGPT and other clients: add https://roadflow.io/mcp as a custom connector in the settings.

Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.