Roadflow is a remote MCP server that gives an AI agent 43 tools, among them artifacts_apply_json, artifacts_create_shared, artifacts_discard. It answers at https://roadflow.io/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 6 of 6 times since 11 September 2026; the last check, on 24 October 2026, succeeded.
Create and edit roadmaps with JSON or markup; share edit and view links from AI agents.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
artifacts_apply_json | Replace (or merge) the Artifacts graph with normalized JSON. Shared edit mode auto-saves to the cloud. Inputs: json, merge |
artifacts_create_shared | Persist the current Artifacts workspace to the cloud. Returns editUrl and viewUrl under /artifacts/. Inputs: editId, viewId |
artifacts_discard | Clear the in-memory Artifacts workspace for this MCP session (does not delete cloud graphs or the Plans workspace). |
artifacts_export_json | Export the current Artifacts workspace as JSON (serializeState). |
artifacts_get | Return the current Artifacts workspace as JSON. |
artifacts_get_version | Load one shared Artifacts version by relative index (-1 newest). Optional load=true replaces the MCP workspace (does not save). Inputs: rel, load |
artifacts_list_versions | List shared Artifacts version checkpoints (newest first). Requires a shared edit workspace. |
artifacts_new | Create an ephemeral in-memory Artifacts graph workspace. Optional seed JSON (serializeState shape: nodes + labels). No cloud id until artifacts_create_shared. Inputs: json |
artifacts_open_shared | Load a cloud Artifacts graph by edit or view id. View links are read-only. Inputs: id |
artifacts_status | Return mode, ids, /artifacts/?id= URLs, and node/label counts. |
model_delete_edge | Delete a manual edge by edgeId. Inputs: id, edgeId |
model_delete_observation | Delete one fact by parameterId + scope/scopeKey + setId. Inputs: id, parameterId, scope, scopeKey, setId |
model_delete_parameter | Delete a parameter and its observations (cascade). Inputs: id, parameterId |
model_discard | Unbind the Model project from this MCP session. Does not delete MySQL rows. |
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. Inputs: id, setId, periodId, rangeStart, rangeEnd, slice |
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. Inputs: id, include |
model_get_parameter | One catalog row plus its observations (facts). Inputs: id, parameterId |
model_list_dictionaries | Streams, axes (members), phases, parameter sets, chains, and calendar. Period members may be derived from calendar. Inputs: id |
model_list_edges | Manual lineage edges only (SOURCE/FLOW/INTERFACE). FORMULA edges are derived from formulas on load — not stored. Inputs: id, fromId, toId, edgeType |
model_list_observations | List facts. Filter by parameterId, setId, evidenceStatus. Sets are a column (Base/Downside/Upside), not an axis. Inputs: id, parameterId, setId, evidenceStatus |
model_list_parameters | List parameter catalog rows. Optional filters: streamId, role, layer, primaryOwner. Inputs: id, streamId, role, layer, primaryOwner |
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 persi Inputs: title, viewId, calendar, streams, axes, phases |
model_open | Bind this MCP session to an existing Model project (edit or view id). View ids are read-only. Inputs: id |
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. Inputs: id, title, calendar, viewId, streams, axes |
model_status | Counts, rev, and /model/?id= URLs for the bound project (or pass id). Inputs: id |
model_upsert_edge | Create or patch a manual SOURCE, FLOW, or INTERFACE edge. FORMULA is rejected. Inputs: id, edgeId, fromId, toId, edgeType, condition |
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. Inputs: id, parameterId, scope, scopeKey, setId, value |
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. Inputs: id, observations, continueOnError |
model_upsert_parameter | Create or patch one parameter definition (not observations). Pass rev for If-Match on update. Inputs: id, parameterId, streamId, role, layer, primaryOwner |
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. Inputs: id, parameters, continueOnError |
roadflow_apply_json | Replace workspace state with normalized JSON (serializeState shape). In shared edit mode, saves to the cloud automatically. Inputs: json, merge |
roadflow_apply_markup | Replace roads via friendly markup (same as the editor panel). Shared edit mode auto-saves. Inputs: markup |
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. Inputs: editId, viewId |
roadflow_discard | Clear the in-memory workspace for this MCP session (does not delete cloud maps). |
roadflow_export_csv | Export steps as CSV (road, goal, lane, step, notes, type, status, position, date). |
roadflow_export_json | Export the current workspace as JSON (serializeState). |
roadflow_export_markup | Export the current workspace as friendly markup. |
roadflow_get | Return the current workspace as JSON and/or markup. Inputs: format |
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. Inputs: rel, load |
roadflow_list_versions | List shared-map version checkpoints (newest first). Relative indexes: -1 = newest. Requires a shared edit workspace (not view-only). |
roadflow_new, roadflow_open_shared, roadflow_status
Every block below points at https://roadflow.io/mcp. Pick your client and copy.
claude mcp add --transport http roadflow https://roadflow.io/mcp
{
"mcpServers": {
"roadflow": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://roadflow.io/mcp"]
}
}
}{
"mcpServers": {
"roadflow": {
"url": "https://roadflow.io/mcp"
}
}
}{
"servers": {
"roadflow": {
"type": "http",
"url": "https://roadflow.io/mcp"
}
}
}{
"context_servers": {
"roadflow": {
"url": "https://roadflow.io/mcp"
}
}
}{
"mcpServers": {
"roadflow": {
"serverUrl": "https://roadflow.io/mcp"
}
}
}{
"mcpServers": {
"roadflow": {
"url": "https://roadflow.io/mcp"
}
}
}name: Roadflow
version: 0.0.1
schema: v1
mcpServers:
- name: Roadflow
type: streamable-http
url: https://roadflow.io/mcp{
"mcpServers": {
"roadflow": {
"httpUrl": "https://roadflow.io/mcp"
}
}
}{
"mcpServers": {
"roadflow": {
"type": "http",
"url": "https://roadflow.io/mcp"
}
}
}{
"mcpServers": {
"roadflow": {
"url": "https://roadflow.io/mcp"
}
}
}goose://extension?url=https%3A%2F%2Froadflow.io%2Fmcp&type=streamable_http&id=roadflow&name=Roadflow
It answered our last check on 24 October 2026 in 157 ms. Over 6 checks since 11 September 2026 it answered 6. Status here comes from Neuronto's own probes, not from the publisher.
Yes. It is published by roadflow.io and served from roadflow.io, the vendor's own domain: https://roadflow.io/mcp.
43, as returned by the server's own tools/list on 22 September 2026: artifacts_apply_json, artifacts_create_shared, artifacts_discard, artifacts_export_json, artifacts_get, artifacts_get_version, artifacts_list_versions, artifacts_new, and 35 more.
It answered our last check on 24 October 2026 in 157 ms. Over 6 checks since 11 September 2026 it answered 6.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://roadflow.io/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: io.roadflow. Endpoint host: roadflow.io. ARD identifier: urn:air:io.roadflow:mcp:roadflow.
First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.