MCP 서버

roadflow

io.roadflow/roadflow

이 MCP로 할 수 있는 일

Creates and shares roadmap graphs, and manages structured model registers containing parameters, observations, formulas, dictionaries, and lineage edges.

artifacts_apply_json
Apply Artifacts JSON
Replace (or merge) the Artifacts graph with normalized JSON. Shared edit mode auto-saves to the cloud.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', '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}
artifacts_create_shared
Create shared Artifacts graph
Persist the current Artifacts workspace to the cloud. Returns editUrl and viewUrl under /artifacts/.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'editId': {'type': 'string', 'description': 'Optional edit id (default: random af-â\x80¦)'}, 'viewId': {'type': 'string', 'description': 'Optional view id (default: random af-â\x80¦)'}}, 'additionalProperties': False}
artifacts_discard
Discard Artifacts workspace
Clear the in-memory Artifacts workspace for this MCP session (does not delete cloud graphs or the Plans workspace).
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
artifacts_export_json
Export Artifacts JSON
Export the current Artifacts workspace as JSON (serializeState).
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
artifacts_get
Get Artifacts graph
Return the current Artifacts workspace as JSON.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
artifacts_get_version
Get Artifacts version snapshot
Load one shared Artifacts version by relative index (-1 newest). Optional load=true replaces the MCP workspace (does not save).
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['rel'], 'properties': {'rel': {'type': 'integer', 'description': 'Relative version index: -1 = newest checkpoint', 'exclusiveMaximum': 0}, 'load': {'type': 'boolean', 'description': 'If true, replace the current MCP Artifacts workspace with this version'}}, 'additionalProperties': False}
artifacts_list_versions
List Artifacts version history
List shared Artifacts version checkpoints (newest first). Requires a shared edit workspace.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
artifacts_new
New Artifacts workspace
Create an ephemeral in-memory Artifacts graph workspace. Optional seed JSON (serializeState shape: nodes + labels). No cloud id until artifacts_create_shared.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'json': {'description': 'Optional seed graph state'}}, 'additionalProperties': False}
artifacts_open_shared
Open shared Artifacts graph
Load a cloud Artifacts graph by edit or view id. View links are read-only.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'editId or viewId from /artifacts/?id=â\x80¦'}}, 'additionalProperties': False}
artifacts_status
Artifacts workspace status
Return mode, ids, /artifacts/?id= URLs, and node/label counts.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
model_delete_edge
Delete edge
Delete a manual edge by edgeId.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['edgeId'], 'properties': {'id': {'type': 'string'}, 'edgeId': {'type': 'string'}}, 'additionalProperties': False}
model_delete_observation
Delete observation
Delete one fact by parameterId + scope/scopeKey + setId.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['parameterId'], 'properties': {'id': {'type': 'string'}, 'scope': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'setId': {'type': 'string'}, 'scopeKey': {'type': 'string'}, 'parameterId': {'type': 'string'}}, 'additionalProperties': False}
model_delete_parameter
Delete parameter
Delete a parameter and its observations (cascade).
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['parameterId'], 'properties': {'id': {'type': 'string'}, 'parameterId': {'type': 'string'}}, 'additionalProperties': False}
model_discard
Discard Model session
Unbind the Model project from this MCP session. Does not delete MySQL rows.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
model_evaluate
Evaluate Model compute
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', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string'}, 'setId': {'type': 'string'}, 'slice': {'type': 'object', 'additionalProperties': {'type': 'string'}}, 'periodId': {'type': 'string'}, 'rangeEnd': {'type': 'string'}, 'rangeStart': {'type': 'string'}, 'includeEmpty': {'type': 'boolean'}, 'parameterIds': {'type': 'array', 'items': {'type': 'string'}}, 'includeInputs': {'type': 'boolean'}}, 'additionalProperties': False}
model_get
Get Model register
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', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string'}, 'include': {'enum': ['summary', 'all', 'dictionaries', 'parameters', 'observations', 'edges'], 'type': 'string', 'description': 'Default summary'}}, 'additionalProperties': False}
model_get_parameter
Get parameter
One catalog row plus its observations (facts).
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['parameterId'], 'properties': {'id': {'type': 'string'}, 'parameterId': {'type': 'string', 'description': 'Stable id, e.g. PRJ.FACILITY_MW'}}, 'additionalProperties': False}
model_list_dictionaries
List dictionaries
Streams, axes (members), phases, parameter sets, chains, and calendar. Period members may be derived from calendar.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string'}}, 'additionalProperties': False}
model_list_edges
List edges
Manual lineage edges only (SOURCE/FLOW/INTERFACE). FORMULA edges are derived from formulas on load — not stored.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string'}, 'toId': {'type': 'string'}, 'fromId': {'type': 'string'}, 'edgeType': {'enum': ['SOURCE', 'FLOW', 'INTERFACE'], 'type': 'string'}}, 'additionalProperties': False}
model_list_observations
List observations
List facts. Filter by parameterId, setId, evidenceStatus. Sets are a column (Base/Downside/Upside), not an axis.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string'}, 'setId': {'type': 'string'}, 'parameterId': {'type': 'string'}, 'evidenceStatus': {'type': 'string'}}, 'additionalProperties': False}
model_list_parameters
List parameters
List parameter catalog rows. Optional filters: streamId, role, layer, primaryOwner.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string'}, 'role': {'type': 'string'}, 'layer': {'type': 'string'}, 'streamId': {'type': 'string'}, 'primaryOwner': {'type': 'string'}}, 'additionalProperties': False}
model_new
New Model register
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', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'axes': {'type': 'array'}, 'edges': {'type': 'array', 'description': 'Manual SOURCE/FLOW/INTERFACE only'}, 'title': {'type': 'string'}, 'chains': {'type': 'array'}, 'phases': {'type': 'array'}, 'viewId': {'type': 'string'}, 'streams': {'type': 'array'}, 'calendar': {'description': '{ granularity, start, end }'}, 'parameters': {'type': 'array', 'description': 'Catalog rows (parameterId, streamId, role, formula, attrs, â\x80¦)'}, 'observations': {'type': 'array', 'description': 'Facts: parameterId, scope, setId, value, evidence, source'}, 'parameterSets': {'type': 'array'}}, 'additionalProperties': False}
model_open
Open Model register
Bind this MCP session to an existing Model project (edit or view id). View ids are read-only.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'Project edit id (mp-â\x80¦) or view id'}}, 'additionalProperties': False}
model_patch_project
Patch Model dictionaries
Update title, calendar, viewId, streams, axes, phases, parameterSets, and/or chains. Send If-Match via rev. Replaces each provided dictionary in full.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string'}, 'rev': {'type': 'integer', 'description': 'Expected project rev (If-Match)'}, 'axes': {'type': 'array'}, 'title': {'type': 'string'}, 'chains': {'type': 'array'}, 'phases': {'type': 'array'}, 'viewId': {'type': ['string', 'null']}, 'streams': {'type': 'array'}, 'calendar': {}, 'parameterSets': {'type': 'array'}}, 'additionalProperties': False}
model_status
Model register status
Counts, rev, and /model/?id= URLs for the bound project (or pass id).
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'id': {'type': 'string'}}, 'additionalProperties': False}
model_upsert_edge
Upsert edge
Create or patch a manual SOURCE, FLOW, or INTERFACE edge. FORMULA is rejected.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['edgeId'], 'properties': {'id': {'type': 'string'}, 'rev': {'type': 'integer'}, 'toId': {'type': 'string'}, 'label': {'type': 'string'}, 'owner': {'type': 'string'}, 'edgeId': {'type': 'string'}, 'fromId': {'type': 'string'}, 'edgeType': {'enum': ['SOURCE', 'FLOW', 'INTERFACE'], 'type': 'string'}, 'condition': {'enum': ['DIRECT', 'CONDITIONAL'], 'type': 'string'}}, 'additionalProperties': False}
model_upsert_observation
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.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['parameterId'], 'properties': {'id': {'type': 'string'}, 'rev': {'type': 'integer'}, 'scope': {'type': 'object', 'description': 'axisId â\x86\x92 memberId, e.g. { "Phase_ID": "P2" }', 'additionalProperties': {'type': 'string'}}, 'setId': {'type': 'string', 'description': 'Base (default), Downside, Upside, or custom'}, 'value': {}, 'source': {'description': '{ sourceId, locator, date, owner, allowedUse }'}, 'scopeKey': {'type': 'string'}, 'parameterId': {'type': 'string'}, 'valueLocked': {'type': 'boolean'}, 'valueOverride': {'type': 'boolean'}, 'evidenceStatus': {'type': 'string'}}, 'additionalProperties': False}
model_upsert_observations
Bulk 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.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['observations'], 'properties': {'id': {'type': 'string'}, 'observations': {'type': 'array', 'description': 'Facts (parameterId, scope, setId, value, â\x80¦)'}, 'continueOnError': {'type': 'boolean'}}, 'additionalProperties': False}
model_upsert_parameter
Upsert parameter catalog
Create or patch one parameter definition (not observations). Pass rev for If-Match on update.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['parameterId'], 'properties': {'id': {'type': 'string'}, 'rev': {'type': 'integer'}, 'name': {'type': 'string'}, 'role': {'type': 'string'}, 'unit': {'type': 'string'}, 'attrs': {'description': 'name, definition, unit, scopeAxes, SBC fields, comments, â\x80¦'}, 'layer': {'type': 'string'}, 'comment': {'type': 'string'}, 'formula': {'type': 'string'}, 'domainId': {'type': 'string'}, 'priority': {'type': 'string'}, 'streamId': {'type': 'string'}, 'scopeAxes': {'type': 'array', 'items': {'type': 'string'}}, 'valueType': {'type': 'string'}, 'assignedWs': {'type': 'string'}, 'definition': {'type': 'string'}, 'canonicalId': {'type': 'string'}, 'parameterId': {'type': 'string'}, 'primaryOwner': {'type': 'string'}, 'economicClass': {'type': 'string'}, 'adjustmentKind': {'type': 'string'}, 'qtyParameterId': {'type': 'string'}, 'rateComponents': {'type': 'array'}, 'rateParameterId': {'type': 'string'}}, 'additionalProperties': False}
model_upsert_parameters
Bulk 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.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['parameters'], 'properties': {'id': {'type': 'string'}, 'parameters': {'type': 'array', 'description': 'Catalog rows (parameterId + same fields as model_upsert_parameter)'}, 'continueOnError': {'type': 'boolean'}}, 'additionalProperties': False}
roadflow_apply_json
Apply JSON state
Replace workspace state with normalized JSON (serializeState shape). In shared edit mode, saves to the cloud automatically.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', '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}
roadflow_apply_markup
Apply markup
Replace roads via friendly markup (same as the editor panel). Shared edit mode auto-saves.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['markup'], 'properties': {'markup': {'type': 'string', 'description': 'Friendly roadflow markup text'}}, 'additionalProperties': False}
roadflow_create_shared
Create shared roadflow
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', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'editId': {'type': 'string', 'description': 'Optional edit id (default: random rm-â\x80¦)'}, 'viewId': {'type': 'string', 'description': 'Optional view id (default: random rm-â\x80¦)'}}, 'additionalProperties': False}
roadflow_discard
Discard workspace
Clear the in-memory workspace for this MCP session (does not delete cloud maps).
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
roadflow_export_csv
Export CSV
Export steps as CSV (road, goal, lane, step, notes, type, status, position, date).
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
roadflow_export_json
Export JSON
Export the current workspace as JSON (serializeState).
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
roadflow_export_markup
Export markup
Export the current workspace as friendly markup.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
roadflow_get
Get workspace snapshot
Return the current workspace as JSON and/or markup.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'format': {'enum': ['json', 'markup', 'both'], 'type': 'string', 'description': 'Default both'}}, 'additionalProperties': False}
roadflow_get_version
Get version snapshot
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', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['rel'], 'properties': {'rel': {'type': 'integer', 'description': 'Relative version index: -1 = newest checkpoint, -2 = older, â\x80¦', 'exclusiveMaximum': 0}, 'load': {'type': 'boolean', 'description': 'If true, also replace the current MCP workspace with this version (does not save to cloud).'}}, 'additionalProperties': False}
roadflow_list_versions
List version history
List shared-map version checkpoints (newest first). Relative indexes: -1 = newest. Requires a shared edit workspace (not view-only).
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
roadflow_new
New roadflow workspace
Create an ephemeral in-memory roadflow workspace (default). Optional seed JSON and/or markup. No cloud id until create_shared.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {'json': {'description': 'Optional seed state (same shape as serializeState)'}, 'markup': {'type': 'string', 'description': 'Optional friendly markup to apply after seed/empty'}}, 'additionalProperties': False}
roadflow_open_shared
Open shared roadflow
Load a cloud map by edit or view id into this session. View links are read-only.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'required': ['id'], 'properties': {'id': {'type': 'string', 'description': 'editId or viewId from a share URL (?id=â\x80¦)'}}, 'additionalProperties': False}
roadflow_status
Workspace status
Return mode, ids, URLs, and road/step counts for the current MCP session workspace.
입력 스키마
{'type': 'object', '$schema': 'http://json-schema.org/draft-07/schema#', 'properties': {}}
추가됨
model_list_dictionaries
2026년 9월 17일 12:53 PM
추가됨
model_evaluate
2026년 9월 17일 12:53 PM
추가됨
model_delete_edge
2026년 9월 17일 12:53 PM
추가됨
model_upsert_edge
2026년 9월 17일 12:53 PM
추가됨
model_list_edges
2026년 9월 17일 12:53 PM
추가됨
model_delete_observation
2026년 9월 17일 12:53 PM
추가됨
model_upsert_observations
2026년 9월 17일 12:53 PM
추가됨
model_upsert_observation
2026년 9월 17일 12:53 PM
추가됨
model_list_observations
2026년 9월 17일 12:53 PM
추가됨
model_delete_parameter
2026년 9월 17일 12:53 PM
추가됨
model_upsert_parameters
2026년 9월 17일 12:53 PM
추가됨
model_upsert_parameter
2026년 9월 17일 12:53 PM
추가됨
model_get_parameter
2026년 9월 17일 12:53 PM
추가됨
model_list_parameters
2026년 9월 17일 12:53 PM
추가됨
model_patch_project
2026년 9월 17일 12:53 PM
추가됨
model_discard
2026년 9월 17일 12:53 PM
추가됨
model_get
2026년 9월 17일 12:53 PM
추가됨
model_status
2026년 9월 17일 12:53 PM
추가됨
model_open
2026년 9월 17일 12:53 PM
추가됨
model_new
2026년 9월 17일 12:53 PM
추가됨
artifacts_discard
2026년 9월 17일 12:53 PM
추가됨
artifacts_get_version
2026년 9월 17일 12:53 PM
추가됨
artifacts_list_versions
2026년 9월 17일 12:53 PM
추가됨
artifacts_export_json
2026년 9월 17일 12:53 PM
추가됨
artifacts_create_shared
2026년 9월 17일 12:53 PM
추가됨
artifacts_open_shared
2026년 9월 17일 12:53 PM
추가됨
artifacts_apply_json
2026년 9월 17일 12:53 PM
추가됨
artifacts_get
2026년 9월 17일 12:53 PM
추가됨
artifacts_status
2026년 9월 17일 12:53 PM
추가됨
artifacts_new
2026년 9월 17일 12:53 PM