Skip to main content
Glama

Synapse – Live Plan, Code & Mental Model Mindmap for Any Agent

Synapse is an MCP server + live web viewer that lets any coding agent (Claude Code, Claude Desktop, Cursor, OpenCode, Codex, Windsurf, etc.) maintain a real-time visual mindmap of:

  1. What the plan is (hierarchical tasks with planned, in_progress, completed, and blocked statuses)

  2. How the agent is thinking about the code (HLD / Mental Model) (semantic component, data_flow, decision, hypothesis, and risk cards connected by directed flow links)

  3. Which files and symbols are being touched (line ranges, symbols, diff summaries, and cross-highlighting between plan tasks and architectural components)

📖 Docs: https://vss96.github.io/synapse/

Quick Start

Requires Node ≥ 20.

# Register Synapse with the coding agents installed on this machine
npx synapse-mindmap init

# Watch your agent work (port 4040, or the next free port)
npx synapse-mindmap viewer --open

init detects Claude Code, Claude Desktop, Cursor, OpenCode and Codex (which also covers the ChatGPT desktop app), asks before configuring each one, and backs up any config file it edits. Restart your agent afterwards. Mindmaps are stored in ~/.synapse/data (override with SYNAPSE_DATA_DIR). See the client guide for manual setup, and Updating for getting new releases.


Related MCP server: io.github.WBXWHT/wayfinder

Screenshots

1. Code Mental Model & High-Level Design (HLD) View

Visualize how the agent understands the system architecture, data flows, design decisions, hypotheses, and risks—without reading walls of text:

Code Mental Model (HLD) View

2. Split View (Plan Tree + Code Mental Model)

See the full execution plan and the architectural mental model side-by-side in a single live canvas. The Sessions panel on the left lists every mindmap with its active task, progress, and a live dot; filter it or switch with ⌥↑/⌥↓. Press / to find a card, file or symbol on the map:

Split View – Plan + HLD

3. Plan & Tasks View + Changes Tab

The Changes tab shows what kind of change the agent made in each file (added, modified, fixed, refactored, renamed, removed, tested). Pick a kind to highlight every plan task and HLD component with that kind of change:

Plan & Tasks View with the Changes tab filtered to fixes

4. Live Activity Stream

Track a real-time chronological log of every plan update, HLD mapping, and file edit:

Live Activity Stream

5. Archiving Sessions

Sessions are grouped by repository. Hover over a finished session and click Archive to tuck it into the collapsed Archived group at the bottom; nothing is deleted, and Restore brings it back:


MCP Tools

Tool

Description

create_mindmap

Create a new mindmap with title, workspacePath, and optional initialPlan steps

map_architecture

Batch-record the agent's mental model / HLD (component, data_flow, decision, hypothesis, risk nodes + directed links)

link_nodes

Create a directed conceptual or data/control-flow arrow between two nodes (solid, dashed, or animated)

unlink_nodes

Remove links by linkId, or by from + to + optional label

update_plan_status

Mark a task node planned, in_progress, completed, or blocked, and optionally start nextNodeId

log_file_touch

Attach a touched file (path, action incl. rename + previousPath, lines, summary) and symbol-level changes (add, modify, fix, refactor, rename, remove, test) to the active task or component node

sync_git_status

Inspect git status & git diff in the workspace and auto-attach changed files (including staged renames) to the mindmap

get_plan_summary

Render a Markdown dashboard of task progress (%), HLD concept count, and all touched files

add_node

Add a child task, plan step, HLD concept, file, or note node

update_node

Update a node's label, status, semantic type, notes, or files (files, removeFiles), or move it under another parent (parentId)

remove_node

Remove a node and all its descendants

list_mindmaps

List stored mindmaps sorted by most recently updated, optionally by workspacePath or without archived ones (includeArchived: false)

get_mindmap

Get full mindmap data as JSON

render_mindmap

Render as mermaid (a mindmap, without links), mermaid-flowchart (with links), indented text, or json

delete_mindmap

Delete an entire mindmap

Connect to Any Agent

1. MCP Server Config

npx synapse-mindmap init writes this for you. To add it by hand, most clients use:

{
  "mcpServers": {
    "synapse": {
      "command": "npx",
      "args": ["-y", "synapse-mindmap", "mcp"]
    }
  }
}

2. Automatic Agent Behavior

  • Built-in MCP Instructions & Prompt: Synapse automatically advertises server instructions and the track-coding-plan MCP prompt to connected clients.

  • Skill / Rules:

Development

Development uses Bun; the published package is plain Node.js.

./setup.sh            # bun install, build, write claude.json for this checkout
bun test              # tests
bun run build         # tsc → dist/ (MCP server, CLI, viewer server) + bundled viewer app
bun run dev           # MCP server from source, restarting on changes
bun run viewer        # build, then serve the viewer against ./data
bun run docs:dev      # docs site

License

MIT. The logo is a public-domain NIAID illustration; see docs/public/LOGO-CREDITS.md.

Available Tools

14 tools
add_nodeC

Add a child node under a parent node. Supports both plan/task nodes ('plan', 'task', 'code', 'file', 'note') and semantic code-thinking nodes ('component', 'data_flow', 'hypothesis', 'decision', 'risk').

NameRequiredDescriptionDefault
typeNoSemantic type of node (default: 'task')task
filesNo
labelYesNode label text
notesNoNotes, rationale, hypothesis details, or trade-offs
statusNoInitial status; tasks only (default: planned)
parentIdYesParent node ID (use 'root' for top-level steps)
mindmapIdYesMindmap ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and does not say whether the parent must already exist, whether top-level creation uses parentId='root', whether a new node ID is returned for chaining children, or whether the call is reversible. The only behavioral hint is the type taxonomy, which duplicates the schema enum rather than adding new information.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight sentences with the core action front-loaded. The second sentence is largely an enumeration of enum values already in the schema, which slightly reduces its value but does not hurt readability.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and no output schema, the description leaves key gaps: the return value (presumably the new node ID, needed for adding children), validation behavior when parentId does not exist, and any constraints tying parameters to node types. An agent can guess the happy path but not the edge cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 86%, so the schema already documents mindmapId, parentId, label, status, notes, and files thoroughly. The description restates the type enum values but adds no new semantics such as which types accept 'files' or whether status applies only to task nodes.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Add a child node under a parent node') and enumerates the supported node kinds, so an agent knows exactly what it creates. It never names a sibling like update_node or remove_node, so differentiation is only implied by the verb 'Add'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus update_node, link_nodes, or log_file_touch, and no prerequisites such as the parent existing or which node types are appropriate for which workflow. Usage has to be inferred entirely from the tool name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_mindmapA

Create a new mindmap to track a coding plan, touched files, and the agent's mental model / HLD of the code.

NameRequiredDescriptionDefault
titleYesTitle of the mindmap / task
rootLabelNoLabel for the root node (defaults to title)
initialPlanNoInitial plan steps to create under the root node
workspacePathNoAbsolute path to the project workspace/repo for git and file watching

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It says this creates a new mindmap but does not disclose persistence, return value, required permissions, how workspacePath affects git/file watching, or how initialPlan creates nested nodes.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single front-loaded sentence with no filler. Every phrase contributes to identifying what the tool creates and why.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The schema is rich and fully documents parameters, but there is no output schema and no annotations. The description therefore leaves out creation side effects, return shape, and how this tool relates to downstream calls like add_node or update_plan_status.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents title, rootLabel, initialPlan, and workspacePath. The description adds no parameter-specific meaning beyond the schema, which is the expected baseline when schema coverage is high.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'Create a new mindmap.' It also clarifies the intended content (coding plan, touched files, mental model/HLD), which clearly distinguishes it from siblings like add_node or update_node that operate on an existing mindmap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: use this when starting a mindmap to track a coding plan, touched files, and architecture understanding. It does not explicitly compare against alternatives such as list_mindmaps or add_node, nor does it state exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_mindmapB

Delete an entire mindmap and all its nodes.

NameRequiredDescriptionDefault
mindmapIdYesMindmap ID

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does disclose the important cascade behavior ('and all its nodes'), which is genuine context beyond the name, but it omits whether the deletion is permanent, whether confirmation or elevated permissions are needed, and what happens to linked or referenced data.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tight sentence with the destructive scope front-loaded; nothing is wasted. It is efficient but so short that it forgoes the explanatory content a destructive operation arguably deserves.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter tool with no output schema, the description is adequate on the mechanical level. However, for a destructive cascade operation with zero annotations, the absence of any note on permanence or confirmation leaves a meaningful gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and only one parameter (mindmapId) exists, so the schema already carries the semantics. The description adds nothing about the ID format or where to obtain it, leaving the baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (delete) and resource (mindmap) with the crucial scope qualifier 'entire ... and all its nodes', which implicitly separates it from the node-level remove_node sibling. It stops short of naming any sibling explicitly, so it lands just below the top score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says nothing about when to use this versus remove_node or when not to. There is no warning about irreversibility, no prerequisite or permission context, and no routing advice for an agent choosing between deleting a whole map and pruning nodes.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_mindmapC

Get a mindmap's full data as JSON.

NameRequiredDescriptionDefault
mindmapIdYesMindmap ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. 'Get' implies a read, but it says nothing about permissions, behavior for an unknown ID, size/pagination of the returned tree, or whether nodes and links are both included in 'full data'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero filler. It is efficient, though the phrase 'full data' remains slightly ambiguous rather than being trimmed to a precise claim.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With one required parameter, no output schema and no annotations, the definition is minimally adequate for selecting the tool. It leaves open what 'full data' contains and how failures are reported, which matters given there is no output schema to fall back on.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the single mindmapId parameter is documented with a pattern in the schema. The description adds no meaning beyond that, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get a mindmap') and the return shape ('full data as JSON'), which implicitly separates it from list_mindmaps. It stops short of naming or contrasting with siblings like list_mindmaps or render_mindmap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no when-to-use guidance and no mention of alternatives, despite siblings list_mindmaps (enumerate) and render_mindmap (visual output) sitting adjacent. The agent must infer from the name alone that this is the per-ID retrieval path.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_plan_summaryA

Get a concise status report of the mindmap plan: completion percentage, active tasks, blocked items, HLD concept count, and all touched files with their changes.

NameRequiredDescriptionDefault
mindmapIdYesMindmap ID

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does disclose the returned content in useful detail and the word 'Get' signals a read-only operation, but it says nothing about permissions, cost, or whether the read has any side effects. Adequate but not rich for a tool with zero annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One tightly written sentence, front-loaded with the verb and resource, followed by a compact enumeration of report contents. No filler, no redundancy, and every clause contributes information the agent needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description must describe return values, and it does so by listing the report's components. It stops short of saying how those are formatted or structured (e.g., nested vs. flat, units of completion percentage), a small remaining gap for a one-parameter read tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single required parameter (mindmapId) at 100% schema description coverage with a documented pattern, so the schema already does the work. The description adds no further meaning about the ID's format or scope beyond calling it a 'mindmap plan', which matches the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description pairs a specific verb ('Get a concise status report') with a precise resource ('the mindmap plan') and enumerates exactly what is reported: completion percentage, active tasks, blocked items, HLD concept count, and touched files. It is clearly distinguishable in practice from siblings like get_mindmap or render_mindmap, though it never names an alternative explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The intent ('status report') implies a progress-check use case, but the description gives no explicit when-to-use, when-not-to-use, or prerequisite context, and none of the thirteen siblings are referenced. The agent must infer that this is the summary view versus get_mindmap's full detail.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_mindmapsA

List all stored mindmaps with their IDs, titles, and last updated timestamps.

NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the behavioral disclosure burden. It usefully states that all stored mindmaps are returned with IDs, titles, and last updated timestamps, implying a read-only bulk operation, but it does not mention pagination, ordering, permissions, or response size concerns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The definition is a single efficient sentence with the core action and return fields front-loaded. Every phrase contributes useful information and there is no redundant or filler text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple no-parameter list operation with no output schema and no annotations, the description adequately explains what is returned. The only minor gap is that it does not address pagination or volume limits, but the core information needed to invoke the tool correctly is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the schema provides no parameter semantics to explain. The description does not need to compensate for undocumented parameters, and the baseline for a no-parameter tool is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description has a specific verb ('List') and resource ('stored mindmaps') and states the returned fields (IDs, titles, last updated timestamps). It clearly implies a bulk-listing operation, though it does not explicitly distinguish itself from the sibling tool get_mindmap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description says to use this tool for listing all stored mindmaps, but it gives no guidance on when to choose it over alternatives such as get_mindmap or render_mindmap. It lacks explicit when-to-use, when-not-to-use, or prerequisite context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

log_file_touchA

Record that a file was read, created, modified, renamed, or deleted, plus symbol-level changes (add, modify, fix, refactor, rename, remove, test) so the user can follow exactly what is changing. If nodeId is omitted, attaches to the currently in_progress task node; a planned task given as nodeId is started (in_progress).

NameRequiredDescriptionDefault
pathYesFile path (e.g. 'src/tools.ts')
linesNoLine range touched (e.g. '45-120')
actionNoAction performed on the file (default: 'modify')modify
nodeIdNoTask or component node ID. If omitted, attaches to the active in_progress task.
changesNoSymbol-level changes in this file, so the user can follow what is being added, fixed, refactored, renamed, removed, or tested. Renames need previousSymbol.
summaryNoShort summary of what changed in this file
symbolsNoFunction/class/type symbols touched
mindmapIdYesMindmap ID
previousPathNoOld file path; required when action is 'rename'
createChildNodeNoIf true, also creates a visible child file node under the task node in the tree

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description bears the full burden, and it does disclose the two most consequential side effects: implicit attachment to the current in_progress node and the implicit state transition that starts a planned task. Still missing are what happens when no in_progress task exists (error vs. no-op), whether entries are appended or overwritten, and any permission/auth expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tightly packed sentences, with the core action and the fallback/auto-start rule front-loaded and no filler. Minor cost: enumerating the action and change-kind enums verbatim duplicates what the schema already enumerates, which buys little.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Ten parameters and a nested `changes` union make this a nontrivial call, but the schema documents every field at 100% and the description covers the two behaviors the schema cannot express (implicit node attachment and planned-task start). No output schema means return shape is the only omission, which is minor relative to the semantic coverage provided.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description genuinely adds meaning beyond the schema: the schema says omitted nodeId attaches to the active in_progress task, while the description adds that supplying a planned task nodeId starts it, a state change not visible in the schema. It also frames `changes` as user-facing traceability rather than raw data.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb-and-resource pair ('Record that a file was read/created/modified/renamed/deleted') and scopes it to file-touch logging plus symbol-level changes, which is unmistakably different from every sibling (node/mindmap CRUD, plan status, rendering). It never explicitly contrasts itself with a sibling, so it lands at 4 rather than 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The second sentence gives real operational context: omit nodeId to attach to the in_progress task, or pass a planned task and it will be started. That's the how, not the when-to-use-this-vs-alternative. There is no guidance on when to prefer log_file_touch over update_node/update_plan_status, nor any exclusion (e.g. don't use for non-file work).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

map_architectureC

Batch-map the agent's high-level understanding and mental model of the codebase (HLD): components, data flows, decisions, hypotheses, and risks, plus directed links between them. Nodes are created under a 'Code Mental Model (HLD)' branch unless parentId or parentKey is given.

NameRequiredDescriptionDefault
linksNoDirected flow or dependency links between node keys (or existing node IDs)
nodesYesHLD / mental-model nodes to create or update
parentIdNoParent node ID. If omitted, creates/uses a top-level 'Code Mental Model (HLD)' branch.
mindmapIdYesMindmap ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only describes the default parent branch, which is already stated in the schema, and omits mutation semantics such as whether existing nodes are updated, conflict handling, permission requirements, and side effects for a batch write operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core purpose, followed by the default parent placement rule. There is no filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a complex batch mutation tool with nested nodes, links, files, and change records, no annotations, and no output schema. The description is quite thin for that complexity, leaving key behavioral questions unanswered, such as update-vs-create semantics and conflict handling, even though it does cover the default branch behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description references parentId and parentKey default behavior, but that information is already present in the schema's parameter descriptions, so the description adds no meaningful semantic depth beyond structured fields.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb ('Batch-map') and resource ('high-level understanding and mental model of the codebase (HLD)'), and enumerates what is included: components, data flows, decisions, hypotheses, risks, and directed links. It implicitly distinguishes itself from single-node siblings like add_node and link_nodes through 'batch', but does not explicitly name alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explains default parent placement when parentId or parentKey is omitted, but that is behavioral detail rather than usage guidance. It never states when to use this tool instead of add_node, link_nodes, or create_mindmap, nor does it give any preconditions or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

remove_nodeA

Remove a node and all its descendants from a mindmap. Cannot remove the root.

NameRequiredDescriptionDefault
nodeIdYesNode ID to remove
mindmapIdYesMindmap ID

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations at all, the description carries the full burden, and it does disclose the critical cascade behavior (descendants are destroyed) and the root guard. It does not say whether removal is reversible, whether confirmation or special permissions are required, or what the tool returns, leaving meaningful gaps for a destructive mutation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, zero padding, and the destructive cascade is front-loaded before the root restriction. Every clause earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter destructive tool with no annotations and no output schema, the description covers the essential semantics (cascade + root guard) but omits reversibility, failure modes, and behavior when nodeId is invalid or already missing. Adequate, not complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% with only two well-named required parameters, so the baseline is 3. The description adds no extra meaning about nodeId scoping (e.g., that it must be a non-root node in the given mindmap) beyond what the schema already conveys.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Remove a node') plus the important scope of the operation ('and all its descendants'), which distinguishes it from add_node and update_node. It is clearly not delete_mindmap, but the description never names a sibling explicitly, so differentiation is inferential rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The only guidance is the precondition 'Cannot remove the root', which is useful but is a constraint rather than a when-to-use rule. There is no mention of when to prefer update_node over removal, or what to do if the target is the root (e.g., delete_mindmap instead).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

render_mindmapB

Render a mindmap in a digestible format: mermaid (flow chart syntax), text (indented outline), or json.

NameRequiredDescriptionDefault
formatYesOutput format
mindmapIdYesMindmap ID

TDQS

B3.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry behavioral context. 'Render' implies a read-only, non-destructive operation and the format syntaxes are disclosed, but permissions, error behavior, and confirmation of no side effects are not stated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence with no filler, front-loading the action and resource before listing the formats. Every phrase earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter tool with no output schema, the description adequately explains the output formats. However, it lacks usage guidance against sibling tools and does not state read-only behavior explicitly, leaving minor gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description adds useful meaning to the format enum by explaining mermaid as flow chart syntax and text as an indented outline, though mindmapId remains only schema-described.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (render) and resource (mindmap), and names the three output formats. It does not explicitly distinguish this from siblings like get_mindmap, so it stops short of 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'digestible format' hints at presentation use, but there is no explicit when-to-use guidance or comparison to get_mindmap/list_mindmaps. An agent gets no help deciding between render_mindmap and get_mindmap.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

sync_git_statusB

Inspect git status and diff in the workspace and automatically attach all modified/created/deleted files to the mindmap.

NameRequiredDescriptionDefault
mindmapIdYesMindmap ID
targetNodeIdNoNode ID to attach git changes to (defaults to the active in_progress node)
workspacePathNoPath to the git repository (defaults to the mindmap's workspacePath)

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does disclose the key mutation—files are 'automatically' attached to the mindmap—which is more than the schema reveals, but it omits whether existing attachments are duplicated, what happens to the diff content, and behavior when the path is not a git repo.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence pairing the read action with its automatic side effect, with no redundant or filler phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, and the description does not indicate what is returned (e.g., counts of attached files or the diff) or how partial failures are handled. Adequate to attempt a call, but not complete for a mutating tool with no annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and each parameter is already documented in the schema, including the default-to-active-node behavior for targetNodeId and workspacePath fallback. The description adds only the loose notion of 'workspace' and 'mindmap' context, so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names specific verbs and resources: inspecting git status/diff and attaching changed files to the mindmap. The purpose is unmistakable and no sibling tool overlaps with git inspection, though the description does not explicitly differentiate itself from log_file_touch, which also records file activity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No statement of when to use this versus alternatives (e.g., log_file_touch for single files vs. bulk git sync) and no prerequisites such as requiring a git repository or a valid workspace path. Usage must be inferred entirely from the purpose sentence.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_nodeC

Update a node's label, status, semantic type, notes, or attached files.

NameRequiredDescriptionDefault
typeNoNew semantic type
filesNoFile touches to record on this node
labelNoNew label text
notesNoUpdated notes or context
nodeIdYesNode ID to update
statusNoNew status; tasks only
mindmapIdYesMindmap ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure and doesn't meet it. It doesn't say whether this is a partial merge or a replace of unmentioned fields, whether changes are reversible, what permissions are needed, or what happens when an optional field is omitted — all critical for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tight sentence with the resource and affected fields front-loaded, zero filler. It is efficient, though the compactness is partly the cause of the usage and behavioral gaps elsewhere.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The rich schema covers parameters well and there is no output schema to explain, so the definition is minimally viable. But for an annotation-free mutation tool with a 7-parameter surface, it should at least cover merge-vs-replace behavior and the file-touch overlap with log_file_touch.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter is already documented in the schema, including the task-only constraint on status and the nested file/change structure. The description merely recites the field names and adds no format or semantics beyond the structured fields, which is the baseline case.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Update') and resource ('a node') plus the exact fields it can change (label, status, semantic type, notes, files). It implicitly distinguishes from add_node/remove_node by being an update, but never names siblings, so the differentiation is inferred rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this versus alternatives, and the sibling list contains log_file_touch, which clearly overlaps with the 'files' parameter here — the definition gives no rule for choosing between them. Prerequisites (node must already exist) and exclusions (status only applies to task nodes) are not stated in prose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_plan_statusA

Update the status of a plan task ('planned', 'in_progress', 'completed', 'blocked'), with an optional note. Can automatically start the next task by setting nextNodeId.

NameRequiredDescriptionDefault
notesNoStatus note or completion summary
nodeIdYesTask node ID to update
statusYesNew status for the task
mindmapIdYesMindmap ID
nextNodeIdNoID of the next task node to automatically transition to 'in_progress'

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden. It does disclose a genuine side effect — nextNodeId can automatically transition the next task to 'in_progress' — but omits permission requirements, whether invalid transitions are rejected, and what the call returns or affects beyond the two nodes named.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences, front-loaded with the primary action and enum values, then the optional behaviors. No filler or restated boilerplate.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and no output schema, the description covers the core action and one side effect but leaves the agent guessing about failure modes, transition rules, and the result of the call. Reasonable, but not fully sufficient given the absence of structured hints.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all five parameters are already documented in structured data, setting the baseline at 3. The description adds modest value by framing notes as optional and explaining nextNodeId's auto-transition, but does not clarify how or when the automatic transition triggers.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb+resource ('Update the status of a plan task') with the enum values enumerated inline, so the agent knows exactly what the operation does. It does not contrast itself with the sibling update_node, so an agent must infer which one applies to task status changes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by 'plan task' and the status vocabulary, but there is no explicit when-to-use guidance and no mention of when to prefer update_plan_status over update_node or how it relates to get_plan_summary. The agent is left to infer the routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 14 tool updatesv1.3.0
    • First observedadd_node
    • First observedcreate_mindmap
    • First observeddelete_mindmap
    • First observedget_mindmap
    • First observedget_plan_summary
    • First observedlink_nodes
    • First observedlist_mindmaps
    • First observedlog_file_touch
    • First observedmap_architecture
    • First observedremove_node
    • First observedrender_mindmap
    • First observedsync_git_status
    • First observedupdate_node
    • First observedupdate_plan_status

TDQS

B3.4/5.0

Scored across 14 tools

Disambiguation3/5

Several tool pairs have blurry boundaries: update_node also mutates node status while update_plan_status exists for status changes, add_node+link_nodes overlaps with the batch map_architecture, and log_file_touch overlaps with sync_git_status for attaching files. Descriptions do clarify the single-item vs batch/automation split, but an agent must read carefully to pick correctly.

Naming Consistency4/5

Nearly everything follows a snake_case verb_noun pattern (create_mindmap, list_mindmaps, add_node, link_nodes, render_mindmap, log_file_touch). Minor deviations: create/delete for mindmaps vs add/remove for nodes, and get_plan_summary uses 'plan' where the resource is a mindmap.

Tool Count5/5

14 tools is well within the comfortable range and each maps to a distinct part of the plan/mindmap workflow (CRUD, linking, batch HLD mapping, status propagation, file tracking, rendering). No tool looks like filler.

Completeness4/5

Mindmap lifecycle (create/list/get/render/delete), node CRUD, links, plan status with auto-advance, and git/file tracking are all covered, giving a full working loop. Gaps are minor: no way to unlink nodes, rename/update a mindmap's title, or move a node between parents.

Maintenance

ActivityMaintained
ResponsivenessLimited data

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Provides coding agents with a mental map of codebases via progressive disclosure, enabling efficient exploration of project structure and entity relationships.
    3
    6 npm
    GPL 3.0
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI coding assistants to capture and inspect local session history—prompts, file changes, decisions, branches, and lessons—as an interactive map within MCP-capable clients, while supporting viewing, panning, zooming, and node previews.
    169 npm
    91
    MIT
  • A
    license
    Not graded
    quality
    A
    maintenance
    Enables an AI coding agent to publish a live, layered dependency map of a system under construction: it ghosts the intended structure first, then lights nodes up as they are built and verified. A terminal pane beside the conversation keeps that map visible, showing what is being worked on now and flagging when later changes crack a foundation beneath it.
    200 npm
    MIT