For an overview of how AI integration works, see Claude AI & MCP. This page lists every tool and resource with their full parameter definitions.
Architecture tools
Core tools for reading and modifying the architecture graph.
Get the architecture graph at a specific path. Returns components, connections, and subgraph information at the current level. Inside subgraphs, external nodes (marked external: true) are auto-generated from parent-level connections — do not create them manually.
| Parameter | Type | Description | |
|---|---|---|---|
path |
string |
optional | Path to navigate to (e.g. /Gateway or /Frontend/SPA). Omit or use / for root level. |
List all components in the architecture diagram, including their names, types, layers, and positions.
No parameters.
List all available component types from the Component Library. Returns types formatted as Category/Item (e.g. Database/Redis). Must be called before add_component or update_component to get valid types.
No parameters.
Add a new component to the diagram. The type must be an exact match from list_types output.
| Parameter | Type | Description | |
|---|---|---|---|
name |
string |
required | Display name (e.g. "User Service", "PostgreSQL"). |
type |
string |
required | Component type as Category/Item from the library. |
layer |
string |
required | Layer name (e.g. "frontend", "api", "services", "data"). |
tech |
string |
required | Technologies, comma-separated (e.g. "Node.js, Express"). |
description |
string |
required | Brief description of the component's purpose. |
position_x |
number |
optional | X position on the grid. Auto-placed if omitted. |
position_z |
number |
optional | Z position on the grid. Auto-placed if omitted. |
parent_path |
string |
optional | Path to parent component to add as child (e.g. /React SPA). Creates a subgraph if needed. Omit for root level. |
Modify an existing component. Use get_graph to find component IDs or names first.
| Parameter | Type | Description | |
|---|---|---|---|
id |
string |
required | Component ID or name to update. |
name |
string |
optional | New display name. |
type |
string |
optional | New component type (must match list_types). |
layer |
string |
optional | New layer. |
tech |
string |
optional | New technologies, comma-separated. |
description |
string |
optional | New description. |
position_x |
number |
optional | New X position on grid. |
position_z |
number |
optional | New Z position on grid. |
parent_path |
string |
optional | Path to parent if updating in a subgraph. |
Remove a component and all its connections from the diagram.
| Parameter | Type | Description | |
|---|---|---|---|
id |
string |
required | Component ID or name to remove. |
parent_path |
string |
optional | Path to parent if removing from a subgraph. |
Create a connection between two components.
| Parameter | Type | Description | |
|---|---|---|---|
from |
string |
required | Source component ID or name. |
to |
string |
required | Target component ID or name. |
protocol |
string |
required | Protocol or relationship type (e.g. "HTTPS", "gRPC", "SQL", "WebSocket"). |
description |
string |
required | Brief description of what flows through this connection. |
curvature |
number |
optional | Bend amount from −1 (left) to 1 (right). 0 is straight. Auto-assigned if omitted. |
bidirectional |
boolean |
optional | If true, renders arrows on both ends. |
parent_connection_id |
string |
optional | Only needed when connecting to a virtual (external) node and multiple parent connections exist. The error message will list valid IDs. When omitted and exactly one parent connection exists, it is auto-detected. |
parent_path |
string |
optional | Path to parent if connecting components in a subgraph. |
Modify an existing connection's properties.
| Parameter | Type | Description | |
|---|---|---|---|
id |
string |
required | Connection ID to update (use get_graph to find IDs). |
protocol |
string |
optional | New protocol label. |
description |
string |
optional | New description. |
curvature |
number |
optional | Bend amount from −1 (left) to 1 (right). 0 is straight. |
bidirectional |
boolean |
optional | If true, renders arrows on both ends. |
parent_path |
string |
optional | Path to parent if updating a connection in a subgraph. |
Remove a connection from the diagram.
| Parameter | Type | Description | |
|---|---|---|---|
id |
string |
required | Connection ID to remove (use get_graph to find IDs). |
parent_path |
string |
optional | Path to parent if removing from a subgraph. |
Add a note or annotation to a component (constraints, TODOs, considerations).
| Parameter | Type | Description | |
|---|---|---|---|
target_id |
string |
required | Component ID to annotate. |
message |
string |
required | Annotation text. |
Update the project title and/or description. These are displayed in the breadcrumb bar, used as suggested filenames when saving, and included in Mermaid export metadata.
| Parameter | Type | Description | |
|---|---|---|---|
title |
string |
optional | Project title (e.g. "E-Commerce Platform"). Pass empty string to clear. |
description |
string |
optional | Project description. Pass empty string to clear. |
Navigation tools
Tools for navigating the architecture and understanding the user's current view.
Select a component or enter its subgraph to bring it to the user's attention.
| Parameter | Type | Description | |
|---|---|---|---|
path |
string |
required | Path to the component (e.g. /License API or /Frontend/Dashboard). Use / for root. |
action |
"select" | "enter" |
optional | select (default): highlight the component. enter: drill into its subgraph. |
Get the current user context: which path they are viewing and what is selected. Useful before making changes.
No parameters. Returns current path, selected component (id, name, type), and selected connection (id, from, to, protocol).
Flow tools
Tools for highlighting data paths and managing persistent flows. See Data Flows for the user-facing documentation.
highlight_path and clear_highlights are available to all users. The persistent flow tools (save_flow, list_flows, show_flow, update_flow, delete_flow) require a Pro subscription.Temporarily highlight a data flow path through the architecture. Components are matched by name in order — connections between successive pairs are highlighted.
| Parameter | Type | Description | |
|---|---|---|---|
path |
array |
required | Ordered list of component names. Each entry can be a string or an object {component, via?} to filter by protocol. |
parent_path |
string |
optional | Path to parent for highlighting inside subgraphs. |
label |
string |
optional | Label describing this flow (e.g. "User login flow"). |
color |
string |
optional | CSS color for the highlight. Auto-assigned if omitted. |
Remove temporary path highlights. Call with no arguments to clear all, or pass a specific ID.
| Parameter | Type | Description | |
|---|---|---|---|
id |
string |
optional | Specific highlight ID to remove. Omit to clear all. |
Save the current active highlights as a named, persistent flow. Use highlight_path first to create highlights, then save_flow to persist them.
| Parameter | Type | Description | |
|---|---|---|---|
label |
string |
required | Label for the flow (e.g. "User login flow"). |
List all saved flows. Returns IDs, labels, and path counts.
No parameters.
Re-display a saved flow by highlighting its paths on the canvas. Clears existing highlights first.
| Parameter | Type | Description | |
|---|---|---|---|
id |
string |
required | Flow ID to display (from list_flows). |
Modify an existing flow: rename, add or remove paths, or append segments. At least one optional parameter must be provided. All segments within a single path must be at the same graph level (same parentPath). Use separate paths for different levels.
| Parameter | Type | Description | |
|---|---|---|---|
id |
string |
required | Flow ID to update. |
label |
string |
optional | New label for the flow. |
add_path |
object |
optional | Add a new path. Requires segments (array of {from, to, via, parentPath?}), optional color, and optional label. |
add_segment |
object |
optional | Append a segment to an existing path. Requires path_index, from, to, via, and optional parentPath. |
remove_path_index |
number |
optional | Index of the path to remove. |
Permanently remove a saved flow. Does not affect current highlights.
| Parameter | Type | Description | |
|---|---|---|---|
id |
string |
required | Flow ID to delete. |
Export & capture tools
Tools for exporting the architecture to other formats or capturing visual snapshots.
Take a screenshot of the current architecture view. Returns a PNG image. Supports two capture modes and optional file export.
| Parameter | Type | Description | |
|---|---|---|---|
mode |
"graph" | "ui" |
optional | graph (default): captures a clean top-down bird's eye view of just the graph with all UI panels hidden. ui: captures the full application window as-is. |
zoom_to_fit |
boolean |
optional | Zoom the camera to frame all components before capturing. Defaults to false. |
save_to_file |
string |
optional | Absolute file path to save the PNG to (e.g. /tmp/arch.png). Parent directories are created automatically. The image is still returned inline regardless. |
Export the architecture as a Mermaid flowchart diagram. Returns plain text with layer subgraphs, component nodes, and protocol-labeled edges. Handles nested subgraphs recursively. The output includes metadata comments (@layer, @component, @connection) that preserve component types, technologies, positions, and descriptions for lossless roundtrip with import_mermaid.
No parameters.
Import a Mermaid flowchart and replace the current architecture with it. Supports enriched Mermaid with @component, @connection, and @layer metadata comments for full roundtrip fidelity. Plain Mermaid without metadata is also supported with sensible defaults.
| Parameter | Type | Description | |
|---|---|---|---|
mermaid |
string |
required | Mermaid flowchart text to import. |
Layout tools
Tools for automatically positioning components on the grid. The recommended workflow is: pin_all to freeze existing positions, add new components, auto_layout to place them, then unpin_components to restore.
Run the force-directed layout algorithm on the architecture. Pinned components stay fixed while unpinned ones are repositioned to minimize overlaps and edge crossings.
| Parameter | Type | Description | |
|---|---|---|---|
path |
string |
optional | Subgraph path to layout (e.g. /React SPA). Omit for root level. |
Pin every unpinned component so Auto Layout won't move them. Returns the list of newly pinned component IDs (use them with unpin_components to restore later).
| Parameter | Type | Description | |
|---|---|---|---|
path |
string |
optional | Subgraph path (e.g. /React SPA). Omit for root level. |
Unpin specific components so Auto Layout can move them again. Use the IDs returned by pin_all to restore components to their original unpinned state.
| Parameter | Type | Description | |
|---|---|---|---|
ids |
array |
required | Component IDs or names to unpin. |
path |
string |
optional | Subgraph path (e.g. /React SPA). Omit for root level. |
Layer tools
Tools for managing architecture layers — the vertical organization that groups components (e.g. frontend at top, data at bottom).
add_layer, update_layer, and remove_layer accept arrays for batch operations, minimizing tool calls.List all layers in the architecture with their names and colors. Layers define the vertical organization (frontend at top, data at bottom).
No parameters.
Add one or more layers to the architecture. Accepts an array for batch creation.
| Parameter | Type | Description | |
|---|---|---|---|
layers |
array |
required | Array of layers to add. Each entry has name (display name, e.g. "infrastructure") and color (CSS hex, e.g. "#FF9800"). |
Update one or more layers' name or color. When a name is changed, all components on that layer are automatically reassigned to the new name.
| Parameter | Type | Description | |
|---|---|---|---|
layers |
array |
required | Array of layers to update. Each entry has id (current layer name), optional name (new name), and optional color (new CSS hex color). |
Remove one or more layers. Components on removed layers are reassigned to the first remaining layer. Cannot remove the last layer.
| Parameter | Type | Description | |
|---|---|---|---|
ids |
array |
required | Layer name(s) to remove. |
Reorder layers in the architecture. Provide all layer names in the desired order, from top to bottom.
| Parameter | Type | Description | |
|---|---|---|---|
names |
array |
required | All layer names in the desired order, from top (first) to bottom (last). |
File transfer tools
Tools for downloading and uploading architecture files programmatically. Useful when Claude Code needs to save or load a project.
Generate a temporary URL and token for downloading the current architecture as JSON. Call confirm_download after a successful download to mark the graph as saved.
No parameters.
Confirm that a download was successful, marking the graph as saved.
| Parameter | Type | Description | |
|---|---|---|---|
token |
string |
required | The token returned by prepare_download. |
Generate a temporary URL and token for uploading a new architecture JSON file. Fails if there are unsaved changes unless force is set.
| Parameter | Type | Description | |
|---|---|---|---|
force |
boolean |
optional | Skip the unsaved-changes check and allow upload anyway. |
Resources
Read-only data that Claude can query for context. Resources return JSON.
High-level summary of the architecture: total component count, connection count, layers, and component-type breakdown.
Full details of a single component: name, type, layer, technologies, description, position, and annotations.
All connections in the diagram with resolved component names, protocols, and descriptions.
All components belonging to a specific layer (e.g. frontend, api, services, data).
Full catalog of available 3D component types from the library, grouped by collection and category. Each entry includes the type key used by add_component.
Components in a specific library collection (e.g. infrastructure, generic). Returns categories with their components and type keys.