Skip to main content

MCP Tool Reference

The MCP server registers JSON-returning tools. Local stdio writes honor IDEAGRAM_MCP_READ_ONLY=true. Remote HTTP writes honor the authenticated token scope and user permissions. Tool calls emit structured audit logs without secrets or full diagram payloads.

The server does not inherit the diagram currently open in a browser tab. Discover resources and pass the IDs requested by each tool. Use the schemas returned by your MCP client's tool discovery for required fields and accepted values.

Workspace, Organization & Project Tools​

Discovery tools return organization, workspace, and project IDs for subsequent calls. These are how a client with nothing but a token discovers one — or creates a brand new workspace, project, or diagram instead of only operating on ones that already exist.

ToolAccessPurpose
list_organizationsreadList organizations the authenticated user belongs to, with their role.
list_workspacesreadList workspaces in an organization.
list_projectsreadList projects in a workspace.
create_workspacewriteCreate a workspace in an organization.
create_projectwriteCreate a project in a workspace.
create_diagramwriteCreate a new, empty diagram in a project.

Diagram Tools​

ToolAccessPurpose
list_diagramsreadList diagrams visible to the configured context.
get_diagramreadReturn a diagram with components and connections.
add_componentwriteAdd a component to a diagram.
update_componentwritePatch component fields such as position, dimensions, and properties.
add_connectionwriteAdd a connection between two existing components.
update_connectionwritePatch connection label, style, type, handles, or control points.
create_versionwriteCreate a version snapshot after MCP-driven edits.
validate_diagramreadRun Ideagram rule-based validation for a diagram.
export_mermaidreadExport the diagram as Mermaid text where supported.
export_plantumlreadExport the diagram as PlantUML (sequence, class, state, ER, flowchart, C4; the flowchart is a one-way approximation). Other families return plantuml: null, a reason, and the Mermaid text.
apply_mermaidwriteApply Mermaid text to the diagram. mode: "replace" (default) swaps the content; mode: "merge" edits it — components the text still names keep their id, position and Model link, new ones are placed beside them, dropped ones are removed (same kind of diagram only). The previous content is saved as a version first (snapshot: false to skip); dryRun: true previews what would change without writing.
apply_plantumlwriteReplace the diagram's content with PlantUML (sequence, class, state, ER, C4). Same options as apply_mermaid.
reclassify_diagramsread / writeReport (default) or apply (dryRun: false) moving legacy uml/freeform diagrams to flowchart, class, sequence, state or ER when all their content belongs to that family. Mixed drafts and C4 stay, with the reason.

Model Tools​

ToolAccessPurpose
list_model_entitiesreadList project model entities, optionally filtered by type or name.
get_model_entityreadFetch one model entity, optionally including linked diagram instances.
upsert_model_entitywriteCreate or update a project model entity.
link_component_to_model_entitywriteLink a diagram component instance to a model entity.
unlink_component_model_entitywriteClear a component's model entity link.
list_model_relationshipsreadList project model relationships.
get_model_relationshipreadFetch one model relationship, optionally including linked diagram connections.
upsert_model_relationshipwriteCreate or update a project model relationship.
link_connection_to_model_relationshipwriteLink a diagram connection instance to a model relationship.
unlink_connection_model_relationshipwriteClear a connection's model relationship link.
backfill_diagram_model_linkswriteCreate/link model records from an existing diagram.

Documents, Notes & Folders (Pages)​

MCP provides the document and folder operations below, including structured ADR/spec upserts. A folder or document may have organization, workspace, or project scope. Cross-links, questions, and pending proposals are project-scoped. The table does not imply parity with every UI action, such as trash recovery.

ToolAccessPurpose
list_foldersreadList document folders for an organization, optionally scoped to a workspace or project. Returns a flat list and a nested tree.
list_documentsreadList project documents and notes (summaries), optionally filtered by folder or kind.
get_documentreadReturn one document or note with its full content.
get_project_contextreadAggregate a project into one payload: folder tree, documents, diagrams (Mermaid when includeBodies), the semantic model, and cross-links. The entry point for an IDE agent pointed at an Ideagram project.
create_folderwriteCreate a document folder.
create_documentwriteCreate a document or note (kind: document | note).
update_documentwritePatch a document: title, content, status, kind, and/or folder.
move_documentwriteMove a document to a folder (or back to the scope root).
upsert_decisionwriteCreate or update a decision record (ADR): status + context / decision / consequences.
upsert_specwriteCreate or update a spec document: status + problem / goal / non-goals.
list_linksreadList cross-links in a project, optionally filtered to one entity.
linkwriteCreate a cross-link between two project entities (document/diagram/model entity). Idempotent.
unlinkwriteDelete a cross-link by id.

Pending Changes & Questions​

With a propose token, upsert_decision and upsert_spec queue changes for review. Other permitted writes apply directly; this scope is not universal approval gating. A write token is required to resolve a proposal. Agents can also ask a clarifying question and poll for its answer.

ToolAccessPurpose
list_pending_changesreadList queued decision/spec proposals for a project, optionally filtered by status.
resolve_pending_changewriteApprove (apply) or reject a queued proposal.
ask_questionwriteRaise a clarifying question against a project (optionally targeting a document/diagram/spec/decision).
list_questionsreadList the project questions, optionally filtered by status (open | answered | dismissed). An agent polls status=answered to resume.
answer_questionwriteAnswer an open question.
dismiss_questionwriteDismiss an open question without answering.

Skills​

ToolAccessPurpose
list_skillsreadList the available skills (packaged prompt + tool subset). macro skills run server-side; assisted skills return a prompt + context for the calling agent.
run_skillvariesRun a skill by id with args (skill-specific). Gated by the calling token scope when the skill writes.

Example Prompt​

Use the Ideagram MCP server to list my diagrams, open the API architecture diagram, validate it, then explain any warnings.

Write Example Prompt​

Use the Ideagram MCP server to list my projects and diagrams. Ask me to select the project and diagram, then create a model entity named AuthService and link the matching component in that selected diagram to it.

Full-Loop Example Prompt​

Use the Ideagram MCP server to: list my organizations, create a new project called
"Payments Service" in my workspace, create a C4 container diagram for it with a web
app, an API, and a database, connect them, then create an ADR page in that project
documenting the decision to use Postgres.

This is the same discover → create → document loop the in-app editor uses, driven end to end from a CLI, Cursor, Claude Code, or any other MCP client — see Remote HTTP MCP for the hosted endpoint.