roadflow
Create and edit roadmaps with JSON or markup; share edit and view links from AI agents.
使うべきか
品質と安全性
検出事項(3)
- LOWroadflow_get 内
- LOWartifacts_get 内
- LOWartifacts_create_shared 内
ツール定義とプロトコルへの準拠に関する自動分析に基づいています。
コンテキストコスト
これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。
インストール
ワンクリックインストール
これを `claude_desktop_config.json` ファイルに追加してください:
{
"mcpServers": {
"roadflow": {
"url": "https://roadflow.io/mcp"
}
}
}リモートエンドポイント
https://roadflow.io/mcpstreamable-httpできること
ツール一覧
ツール(43)
🟡roadflow_new(json, markup)
Create an ephemeral in-memory roadflow workspace (default). Optional seed JSON and/or markup. No cloud id until create_shared.
入力スキーマ
{
"type": "object",
"properties": {
"json": {
"description": "Optional seed state (same shape as serializeState)"
},
"markup": {
"type": "string",
"description": "Optional friendly markup to apply after seed/empty"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪roadflow_status
Return mode, ids, URLs, and road/step counts for the current MCP session workspace.
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢roadflow_get(format)
Return the current workspace as JSON and/or markup.
入力スキーマ
{
"type": "object",
"properties": {
"format": {
"type": "string",
"enum": [
"json",
"markup",
"both"
],
"description": "Default both"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡roadflow_apply_json(json, merge)
Replace workspace state with normalized JSON (serializeState shape). In shared edit mode, saves to the cloud automatically.
入力スキーマ
{
"type": "object",
"properties": {
"json": {
"description": "Full or partial map state object, or JSON string"
},
"merge": {
"type": "boolean",
"description": "If true, deep-ish merge timeline/display and replace roads from payload"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡roadflow_apply_markup(markup)
Replace roads via friendly markup (same as the editor panel). Shared edit mode auto-saves.
入力スキーマ
{
"type": "object",
"properties": {
"markup": {
"type": "string",
"description": "Friendly roadflow markup text"
}
},
"required": [
"markup"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡roadflow_open_shared(id)
Load a cloud map by edit or view id into this session. View links are read-only.
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "editId or viewId from a share URL (?id=…)"
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡roadflow_create_shared(editId, viewId)
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.
入力スキーマ
{
"type": "object",
"properties": {
"editId": {
"type": "string",
"description": "Optional edit id (default: random rm-…)"
},
"viewId": {
"type": "string",
"description": "Optional view id (default: random rm-…)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪roadflow_export_json
Export the current workspace as JSON (serializeState).
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪roadflow_export_markup
Export the current workspace as friendly markup.
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪roadflow_export_csv
Export steps as CSV (road, goal, lane, step, notes, type, status, position, date).
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡roadflow_list_versions
List shared-map version checkpoints (newest first). Relative indexes: -1 = newest. Requires a shared edit workspace (not view-only).
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡roadflow_get_version(rel, load)
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.
入力スキーマ
{
"type": "object",
"properties": {
"rel": {
"type": "integer",
"exclusiveMaximum": 0,
"description": "Relative version index: -1 = newest checkpoint, -2 = older, …"
},
"load": {
"type": "boolean",
"description": "If true, also replace the current MCP workspace with this version (does not save to cloud)."
}
},
"required": [
"rel"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴roadflow_discard
Clear the in-memory workspace for this MCP session (does not delete cloud maps).
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡artifacts_new(json)
Create an ephemeral in-memory Artifacts graph workspace. Optional seed JSON (serializeState shape: nodes + labels). No cloud id until artifacts_create_shared.
入力スキーマ
{
"type": "object",
"properties": {
"json": {
"description": "Optional seed graph state"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪artifacts_status
Return mode, ids, /artifacts/?id= URLs, and node/label counts.
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢artifacts_get
Return the current Artifacts workspace as JSON.
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡artifacts_apply_json(json, merge)
Replace (or merge) the Artifacts graph with normalized JSON. Shared edit mode auto-saves to the cloud.
入力スキーマ
{
"type": "object",
"properties": {
"json": {
"description": "Full or partial graph state, or JSON string"
},
"merge": {
"type": "boolean",
"description": "If true, merge nodes/labels arrays from payload onto current state"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡artifacts_open_shared(id)
Load a cloud Artifacts graph by edit or view id. View links are read-only.
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "editId or viewId from /artifacts/?id=…"
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡artifacts_create_shared(editId, viewId)
Persist the current Artifacts workspace to the cloud. Returns editUrl and viewUrl under /artifacts/.
入力スキーマ
{
"type": "object",
"properties": {
"editId": {
"type": "string",
"description": "Optional edit id (default: random af-…)"
},
"viewId": {
"type": "string",
"description": "Optional view id (default: random af-…)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪artifacts_export_json
Export the current Artifacts workspace as JSON (serializeState).
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡artifacts_list_versions
List shared Artifacts version checkpoints (newest first). Requires a shared edit workspace.
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢artifacts_get_version(rel, load)
Load one shared Artifacts version by relative index (-1 newest). Optional load=true replaces the MCP workspace (does not save).
入力スキーマ
{
"type": "object",
"properties": {
"rel": {
"type": "integer",
"exclusiveMaximum": 0,
"description": "Relative version index: -1 = newest checkpoint"
},
"load": {
"type": "boolean",
"description": "If true, replace the current MCP Artifacts workspace with this version"
}
},
"required": [
"rel"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴artifacts_discard
Clear the in-memory Artifacts workspace for this MCP session (does not delete cloud graphs or the Plans workspace).
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡model_new(title, viewId, calendar, streams, axes, ...)
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 persist CALC outputs or FORMULA edges. Binds this MCP session. UI: /model/?id=…
入力スキーマ
{
"type": "object",
"properties": {
"title": {
"type": "string"
},
"viewId": {
"type": "string"
},
"calendar": {
"description": "{ granularity, start, end }"
},
"streams": {
"type": "array"
},
"axes": {
"type": "array"
},
"phases": {
"type": "array"
},
"parameterSets": {
"type": "array"
},
"chains": {
"type": "array"
},
"parameters": {
"type": "array",
"description": "Catalog rows (parameterId, streamId, role, formula, attrs, …)"
},
"observations": {
"type": "array",
"description": "Facts: parameterId, scope, setId, value, evidence, source"
},
"edges": {
"type": "array",
"description": "Manual SOURCE/FLOW/INTERFACE only"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢model_open(id)
Bind this MCP session to an existing Model project (edit or view id). View ids are read-only.
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Project edit id (mp-…) or view id"
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}⚪model_status(id)
Counts, rev, and /model/?id= URLs for the bound project (or pass id).
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡model_get(id, include)
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.
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"include": {
"type": "string",
"enum": [
"summary",
"all",
"dictionaries",
"parameters",
"observations",
"edges"
],
"description": "Default summary"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴model_discard
Unbind the Model project from this MCP session. Does not delete MySQL rows.
入力スキーマ
{
"type": "object",
"properties": {},
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡model_patch_project(id, title, calendar, viewId, streams, ...)
Update title, calendar, viewId, streams, axes, phases, parameterSets, and/or chains. Send If-Match via rev. Replaces each provided dictionary in full.
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"calendar": {},
"viewId": {
"type": [
"string",
"null"
]
},
"streams": {
"type": "array"
},
"axes": {
"type": "array"
},
"phases": {
"type": "array"
},
"parameterSets": {
"type": "array"
},
"chains": {
"type": "array"
},
"rev": {
"type": "integer",
"description": "Expected project rev (If-Match)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢model_list_parameters(id, streamId, role, layer, primaryOwner)
List parameter catalog rows. Optional filters: streamId, role, layer, primaryOwner.
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"streamId": {
"type": "string"
},
"role": {
"type": "string"
},
"layer": {
"type": "string"
},
"primaryOwner": {
"type": "string"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢model_get_parameter(id, parameterId)
One catalog row plus its observations (facts).
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"parameterId": {
"type": "string",
"description": "Stable id, e.g. PRJ.FACILITY_MW"
}
},
"required": [
"parameterId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡model_upsert_parameter(id, parameterId, streamId, role, layer, ...)
Create or patch one parameter definition (not observations). Pass rev for If-Match on update.
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"parameterId": {
"type": "string"
},
"streamId": {
"type": "string"
},
"role": {
"type": "string"
},
"layer": {
"type": "string"
},
"primaryOwner": {
"type": "string"
},
"formula": {
"type": "string"
},
"attrs": {
"description": "name, definition, unit, scopeAxes, SBC fields, comments, …"
},
"name": {
"type": "string"
},
"definition": {
"type": "string"
},
"unit": {
"type": "string"
},
"valueType": {
"type": "string"
},
"scopeAxes": {
"type": "array",
"items": {
"type": "string"
}
},
"priority": {
"type": "string"
},
"canonicalId": {
"type": "string"
},
"domainId": {
"type": "string"
},
"comment": {
"type": "string"
},
"assignedWs": {
"type": "string"
},
"economicClass": {
"type": "string"
},
"qtyParameterId": {
"type": "string"
},
"rateParameterId": {
"type": "string"
},
"rateComponents": {
"type": "array"
},
"adjustmentKind": {
"type": "string"
},
"rev": {
"type": "integer"
}
},
"required": [
"parameterId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡model_upsert_parameters(id, parameters, continueOnError)
Create or patch many catalog rows (cap 400). Same body shape as model_upsert_parameter. continueOnError returns per-row errors; otherwise one transaction.
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"parameters": {
"type": "array",
"description": "Catalog rows (parameterId + same fields as model_upsert_parameter)"
},
"continueOnError": {
"type": "boolean"
}
},
"required": [
"parameters"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴model_delete_parameter(id, parameterId)
Delete a parameter and its observations (cascade).
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"parameterId": {
"type": "string"
}
},
"required": [
"parameterId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢model_list_observations(id, parameterId, setId, evidenceStatus)
List facts. Filter by parameterId, setId, evidenceStatus. Sets are a column (Base/Downside/Upside), not an axis.
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"parameterId": {
"type": "string"
},
"setId": {
"type": "string"
},
"evidenceStatus": {
"type": "string"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡model_upsert_observation(id, parameterId, scope, scopeKey, setId, ...)
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.
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"parameterId": {
"type": "string"
},
"scope": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "axisId → memberId, e.g. { \"Phase_ID\": \"P2\" }"
},
"scopeKey": {
"type": "string"
},
"setId": {
"type": "string",
"description": "Base (default), Downside, Upside, or custom"
},
"value": {},
"evidenceStatus": {
"type": "string"
},
"valueLocked": {
"type": "boolean"
},
"valueOverride": {
"type": "boolean"
},
"source": {
"description": "{ sourceId, locator, date, owner, allowedUse }"
},
"rev": {
"type": "integer"
}
},
"required": [
"parameterId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡model_upsert_observations(id, observations, continueOnError)
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.
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"observations": {
"type": "array",
"description": "Facts (parameterId, scope, setId, value, …)"
},
"continueOnError": {
"type": "boolean"
}
},
"required": [
"observations"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴model_delete_observation(id, parameterId, scope, scopeKey, setId)
Delete one fact by parameterId + scope/scopeKey + setId.
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"parameterId": {
"type": "string"
},
"scope": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"scopeKey": {
"type": "string"
},
"setId": {
"type": "string"
}
},
"required": [
"parameterId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢model_list_edges(id, fromId, toId, edgeType)
Manual lineage edges only (SOURCE/FLOW/INTERFACE). FORMULA edges are derived from formulas on load — not stored.
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"fromId": {
"type": "string"
},
"toId": {
"type": "string"
},
"edgeType": {
"type": "string",
"enum": [
"SOURCE",
"FLOW",
"INTERFACE"
]
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡model_upsert_edge(id, edgeId, fromId, toId, edgeType, ...)
Create or patch a manual SOURCE, FLOW, or INTERFACE edge. FORMULA is rejected.
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"edgeId": {
"type": "string"
},
"fromId": {
"type": "string"
},
"toId": {
"type": "string"
},
"edgeType": {
"type": "string",
"enum": [
"SOURCE",
"FLOW",
"INTERFACE"
]
},
"condition": {
"type": "string",
"enum": [
"DIRECT",
"CONDITIONAL"
]
},
"label": {
"type": "string"
},
"owner": {
"type": "string"
},
"rev": {
"type": "integer"
}
},
"required": [
"edgeId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🔴model_delete_edge(id, edgeId)
Delete a manual edge by edgeId.
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"edgeId": {
"type": "string"
}
},
"required": [
"edgeId"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟡model_evaluate(id, setId, periodId, rangeStart, rangeEnd, ...)
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.
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"setId": {
"type": "string"
},
"periodId": {
"type": "string"
},
"rangeStart": {
"type": "string"
},
"rangeEnd": {
"type": "string"
},
"slice": {
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"parameterIds": {
"type": "array",
"items": {
"type": "string"
}
},
"includeInputs": {
"type": "boolean"
},
"includeEmpty": {
"type": "boolean"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢model_list_dictionaries(id)
Streams, axes (members), phases, parameter sets, chains, and calendar. Period members may be derived from calendar.
入力スキーマ
{
"type": "object",
"properties": {
"id": {
"type": "string"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}推奨プロンプト
roadflow_getroadflow_getroadflow_list_versionsroadflow_list_versionsroadflow_list_versionsroadflow_getコミュニティ
エビデンス