Skip to main content
Glama
PerssonaOps

@perssona/orchestrator

Official
by PerssonaOps

@perssona/orchestrator

MCP server that lets AI agents control Perssona — create terminals, manage canvas nodes, send prompts, and run multi-agent workflows.

npm version License: MIT


Requirements

  • Perssona must be running — the MCP communicates with the local bridge on 127.0.0.1:17381

  • Node.js 18+

  • Claude Code or Codex CLI


Related MCP server: can-see

Installation

Claude Code

claude mcp add --scope user perssona-orchestrator -- npx -y @perssona/orchestrator

Codex

Add to ~/.codex/config.toml:

[mcp_servers.perssona-orchestrator]
command = "npx"
args = ["-y", "@perssona/orchestrator"]
startup_timeout_sec = 60

Available Tools

Tool

Description

create_connected_terminal

Create a terminal node connected to a source node

create_codex_terminal_from_agent

Create a Codex terminal from an agent preset

create_claude_terminal_from_agent

Create a Claude terminal from an agent preset

create_agent_pair

Create two connected LLM terminals for parallel roles

run_workflow_from_annotation

Run a multi-agent workflow from an annotation or prompt

send_text_to_terminal

Send text directly to a specific terminal node

send_text_to_connected_terminals

Broadcast text to all terminals connected to a node

send_annotation_to_connected_terminals

Send annotation content to connected terminals

create_annotation_node

Create an annotation node on the canvas

update_annotation_node

Update an existing annotation node

connect_nodes

Connect two canvas nodes with an edge

disconnect_nodes

Remove the edge between two nodes

remove_node

Remove a node and its edges

focus_node

Select and center the viewport on a node

add_node_to_grid

Add a node to the grid view

open_nodes_in_grid

Open one or more nodes in the grid view

get_selected_node

Return the currently selected canvas node

get_connected_nodes

Return nodes connected to a given node

list_canvas_nodes

List all nodes and edges in the active canvas

list_orchestrator_presets

List workspace presets (models, agents, workflows)


Debug

Set PERSSONA_MCP_DEBUG=1 to write a log to your system temp directory:

PERSSONA_MCP_DEBUG=1 node server.mjs

Contributing

Contributions are welcome via Pull Requests.

  • The main branch is protected — direct pushes are not allowed

  • Open an issue first for bugs or feature proposals

  • Keep PRs focused and well-described

Open an issue · Submit a PR


License

MIT © Perssona

Available Tools

20 tools
add_node_to_gridAdd Node To GridC

Add an existing canvas node to the grid view.

ParametersJSON Schema
NameRequiredDescriptionDefault
nodeIdYes

TDQS

C2.4/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. It only states the action without explaining side effects, return values, or requirements (e.g., node must already exist on the canvas).

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

Conciseness2/5

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

The description is extremely short (one sentence), but this conciseness sacrifices necessary detail. It is under-specified rather than optimally distilled.

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?

Given the tool's simplicity (1 param, no output schema), the description should at least explain the parameter and the concept of 'grid view'. It fails to provide this context, making it incomplete.

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

Parameters1/5

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

Schema description coverage is 0%. The description does not explain what 'nodeId' is or how to obtain it, leaving the parameter's meaning entirely to the agent's inference.

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 and resource ('Add an existing canvas node to the grid view'), clearly indicating the action. However, it does not distinguish itself from the sibling tool 'open_nodes_in_grid', which may have overlapping functionality.

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 is provided on when to use this tool versus alternatives such as 'open_nodes_in_grid' or 'focus_node'. The description gives no context about prerequisites or use cases.

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

connect_nodesConnect NodesC

Create a connection edge between two canvas nodes.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNodeIdYes
targetNodeIdYes

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states what the tool does, not side effects, idempotency, or required permissions.

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?

The description is extremely concise with a single sentence that directly states the action. However, it lacks important detail that could fit within the same length.

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?

Given the absence of annotations, output schema, and parameter explanations, the description is incomplete. It does not address how to obtain valid node IDs or handle errors.

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

Parameters1/5

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

The input schema has 0% description coverage for parameters, and the description does not explain the meaning of sourceNodeId and targetNodeId or provide context for their values.

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 clearly states the tool's purpose: 'Create a connection edge between two canvas nodes.' It uses a specific verb ('Create') and resource ('connection edge'), and it distinguishes from sibling tools like disconnect_nodes.

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 does not provide any guidance on when to use this tool versus alternatives, such as when nodes already have connections or prerequisites like node existence.

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

create_agent_pairCreate Agent PairC

Create two connected LLM terminals for parallel roles like design and corrections.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNodeIdNo
workflowPresetIdNo
primaryAgentPresetIdNo
secondaryAgentPresetIdNo
primaryLlmNocodex
secondaryLlmNoclaude
primaryLabelNo
secondaryLabelNo
primaryModelIdNo
primaryModelLabelNo
secondaryModelIdNo
secondaryModelLabelNo
sharedPromptNo
primaryPromptNo
secondaryPromptNo
submitNo
cwdNo
addToGridNo
openInGridNo

TDQS

C2.8/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 full burden for behavioral disclosure. It mentions 'connected' but does not disclose side effects, requirements, or outcomes. With 19 parameters and no output schema, the description is insufficient for understanding behavior.

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

Conciseness3/5

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

The description is a single short sentence, which is concise but under-specified for a tool with 19 parameters. It is not excessively verbose, but the brevity sacrifices clarity and completeness.

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

Completeness1/5

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

Given the high complexity (19 parameters, no output schema, no annotations), the description is severely incomplete. It fails to explain return values, parameter relationships, or necessary prerequisites, making it inadequate for correct tool invocation.

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

Parameters1/5

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

Schema description coverage is 0%, but the description adds no parameter explanations. With 19 parameters, the agent must rely solely on parameter names, which may be ambiguous (e.g., sourceNodeId, workflowPresetId). The description fails to compensate for the lack of schema descriptions.

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 clearly states the verb 'create' and the resource 'two connected LLM terminals', with an example usage 'parallel roles like design and corrections'. It distinguishes from siblings that create single terminals (e.g., create_claude_terminal_from_agent) or connect nodes.

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 description implies usage for parallel roles but provides no explicit guidance on when to use this tool versus alternatives like create_connected_terminal or connect_nodes. No when-not use cases or alternatives are mentioned.

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

create_annotation_nodeCreate Annotation NodeB

Create an annotation node. If sourceNodeId is omitted, use the selected node or create it near the current viewport.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNodeIdNo
titleNo
contentNo
roleNonote

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses the creation behavior and the conditional behavior for sourceNodeId, but does not discuss potential side effects, permissions, or destructive nature. It partially covers behavior but lacks depth.

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?

The description is very concise with only two sentences, no unnecessary words, and front-loads the main purpose. However, it could be slightly more structured to improve 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?

Given the tool's complexity (4 parameters, no required ones, no output schema) and the absence of annotations, the description is insufficiently complete. It does not explain the role of most parameters or the return behavior, leaving agents with significant unknowns.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must add meaning for all 4 parameters. It only addresses sourceNodeId implicitly. Title, content, and role are not mentioned, and the role enum is left unexplained. The description does not compensate for the schema's lack of descriptions.

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 clearly states the action ('Create') and resource ('annotation node'), and implicitly distinguishes from sibling tools like 'add_node_to_grid' or 'update_annotation_node' by focusing on creation. It is specific and unambiguous.

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 description provides guidance on when to omit sourceNodeId, but does not explicitly state when to use this tool versus alternatives like 'add_node_to_grid' or 'update_annotation_node'. Usage context is implied rather than clearly delineated.

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

create_claude_terminal_from_agentCreate Claude Terminal From AgentC

Create a connected Claude terminal using an agent preset. If sourceNodeId is omitted, use the selected canvas node.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNodeIdNo
agentPresetIdYes
cwdNo
addToGridNo

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only mentions the default for sourceNodeId. It omits behavioral traits like destructiveness, side effects, error handling, or state changes, leaving significant gaps.

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 concise with two sentences, front-loading the core purpose and then a conditional. No redundant or irrelevant information.

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

Completeness1/5

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

Given 4 parameters, no output schema, and no annotations, the description is insufficient. It fails to clarify return values, parameter roles, or distinctions from similar tools, making it inadequate for correct invocation.

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

Parameters2/5

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

Schema coverage is 0%, but the description only explains the conditional default for sourceNodeId. No meaning is added for agentPresetId, cwd, or addToGrid, which are undocumented in both schema and description.

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 clearly states the tool creates a connected Claude terminal using an agent preset and notes the default behavior for sourceNodeId. However, it does not explicitly differentiate from sibling tools like create_codex_terminal_from_agent or create_connected_terminal.

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 is provided on when to use this tool versus alternatives. The description lacks context about prerequisites, conditions, or scenarios where this tool is preferred over siblings.

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

create_codex_terminal_from_agentCreate Codex Terminal From AgentA

Create a connected Codex terminal using an agent preset. If sourceNodeId is omitted, use the selected canvas node.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNodeIdNo
agentPresetIdYes
cwdNo
addToGridNo

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 burden. It discloses the fallback behavior for sourceNodeId but does not mention side effects, required permissions, or what 'connected' means. It adds some value beyond the schema but lacks rich behavioral context.

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 that front-load the primary purpose. Every word earns its place; no redundancy or filler.

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?

Given 4 parameters, no output schema, and no annotations, the description provides too little context. It does not explain what a Codex terminal is, how agentPresetId works, or the effects of cwd and addToGrid. Sibling tools exist but no guidance on selection.

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

Parameters2/5

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

Schema description coverage is 0%, so parameters are fully undocumented. The description only explains sourceNodeId's default behavior. No information is given about agentPresetId, cwd, or addToGrid, leaving the agent to infer their meanings from names alone.

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 clearly states the verb ('Create'), resource ('Codex terminal'), and method ('using an agent preset'). It also mentions the default behavior for sourceNodeId, helping distinguish from siblings like 'create_claude_terminal_from_agent' and 'create_connected_terminal'.

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 description implies usage context (creating a connected Codex terminal with an agent preset) but provides no explicit guidance on when to use this tool versus siblings, nor when not to use it. No alternatives are mentioned.

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

create_connected_terminalCreate Connected TerminalB

Create a Perssona terminal node near a source node and connect it visually. If sourceNodeId is omitted, use the selected canvas node.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNodeIdNo
agentPresetIdNo
llmNoshell
cwdNo
addToGridNo

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits. It mentions visual connection and flexible sourceNodeId, but omits side effects (e.g., impact on existing nodes, error handling, required permissions). The description is too terse to fully inform an agent of consequences.

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 sentence that efficiently conveys the core purpose and a key behavioral condition. No redundant words; the structure is front-loaded and clear.

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?

Given 5 parameters and no output schema, the description is insufficient. It explains only one parameter's behavior, leaving the agent without context for the other four parameters, which likely affect tool execution (e.g., llm choice, cwd path, grid placement).

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It only addresses sourceNodeId behavior; agentPresetId, llm, cwd, and addToGrid are undocumented. The schema provides defaults and enums for llm, but the description adds no meaning beyond the schema for these parameters.

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 clearly states the action ('Create'), the resource ('Perssona terminal node'), and the context ('near a source node and connect it visually'). It also specifies behavior when sourceNodeId is omitted, distinguishing it from sibling tools that create terminals from agents or other types of nodes.

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 explicit guidance on when to use this tool versus alternatives (e.g., create_claude_terminal_from_agent). The description provides a rule for sourceNodeId omission but does not discuss prerequisites, limitations, or comparison to similar tools.

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

disconnect_nodesDisconnect NodesC

Remove one or more connection edges between two canvas nodes.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNodeIdYes
targetNodeIdYes

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 disclosing behavioral traits. It reveals that the tool is destructive (removing edges) but lacks details on error handling, idempotency, or side effects. It does not mention what happens if nodes don't exist or if no edges are present.

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 extremely concise, consisting of a single sentence that directly conveys the purpose. It is front-loaded with the action and resource, with no wasted words. Every part earns its place.

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?

Given the tool's simplicity (2 required params, no output schema), the description is insufficiently complete. It fails to mention return behavior, error cases, or any considerations for the user. The description provides the bare minimum for understanding the action but not for confident invocation.

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

Parameters1/5

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

The description adds no meaning beyond the parameter names in the schema. There is a 0% schema description coverage, and the description does not explain the role of 'sourceNodeId' and 'targetNodeId' or how they relate to the action. The agent must rely solely on the parameter names for understanding.

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 clearly states the action ('Remove one or more connection edges') and the resource ('between two canvas nodes'). It uses a specific verb and resource combination that distinguishes it from sibling tools like 'connect_nodes' and 'remove_node'.

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 usage guidelines are provided. There is no indication of when to use this tool versus alternatives, nor any conditions or prerequisites mentioned. The description simply states what the tool does without any contextual guidance.

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

focus_nodeFocus NodeB

Select a canvas node and center the viewport on it. If nodeId is omitted, use the selected node.

ParametersJSON Schema
NameRequiredDescriptionDefault
nodeIdNo
openInGridNo

TDQS

B3.3/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 full burden. It mentions centering viewport but is ambiguous about whether it changes the selection state (the verb 'select' could be misinterpreted). Missing details on behavior when nodeId is invalid or when no node is selected.

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 that conveys the core functionality without unnecessary words. Every part earns its place.

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?

Given no output schema and only two parameters, the description is incomplete. It omits critical details: what happens if no node is selected and nodeId is omitted, any side effects on canvas state, and the purpose of openInGrid. A user would need to infer or test missing behavior.

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

Parameters2/5

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

Schema description coverage is 0%. The description explains that nodeId is optional and defaults to the selected node, adding some meaning. However, it does not explain the openInGrid parameter at all, leaving a significant gap.

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 clearly states the action ('Select a canvas node and center the viewport') and the resource. It distinguishes from siblings like 'get_selected_node' (only retrieval) and 'open_nodes_in_grid' (opens in grid), making the purpose specific.

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 description provides one usage guideline: if nodeId is omitted, use the selected node. However, it does not explicitly state when to use this tool versus alternatives like 'get_selected_node' or 'open_nodes_in_grid'. The guidance is implied but lacks exclusions.

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

get_connected_nodesGet Connected NodesA

Return nodes and edges connected to a node. If nodeId is omitted, use the selected node.

ParametersJSON Schema
NameRequiredDescriptionDefault
nodeIdNo

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It discloses return type and fallback behavior but omits details like error handling, what 'selected node' means, or any side effects. Adequate but not thorough.

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, front-loaded with purpose. No superfluous information. Highly efficient.

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 tool with one optional param and no output schema, the description covers core behavior. Could mention return format or prerequisites (e.g., having a selected node) but is mostly sufficient.

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 has 0% description coverage. Description adds meaning by explaining that nodeId is optional and defaults to selected node. Does not specify format or constraints, but provides essential context beyond schema.

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?

Description clearly states verb 'Return' and resource 'nodes and edges connected to a node'. It distinguishes from siblings like 'connect_nodes' and 'disconnect_nodes' by specifying it is a read operation.

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?

Describes when to use (to see connections) and a key behavior (if nodeId omitted, use selected node). Does not explicitly mention when not to use or list alternatives, but context is clear.

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

get_selected_nodeGet Selected NodeA

Return the currently selected canvas node, if any.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.6/5.0
Behavior2/5

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

Without annotations, the description carries the full burden. It mentions 'if any', hinting at conditional behavior, but does not clarify what happens when no node is selected (e.g., returns null, empty, or error). No disclosure of side effects or read-only nature beyond implicit understanding.

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 extremely concise at one sentence (8 words), with no wasted information. It front-loads the purpose and is efficiently structured.

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?

Given the absence of an output schema, the description should explain the return format or handling of no selection. It only says 'if any', which is insufficient for an agent to know what to expect as output.

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?

There are no parameters, so the description is not required to add parameter details. The meaning of 'currently selected canvas node' is clear and sufficient.

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 clearly states the tool's purpose: return the currently selected canvas node. It uses a specific verb ('Return') and resource ('currently selected canvas node'), distinguishing it from sibling tools that modify or connect nodes.

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 description implies usage for retrieving the current selection, but provides no explicit guidance on when to use this tool versus alternatives like 'focus_node' or 'get_connected_nodes'. No exclusions or context for when not to use it.

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

list_canvas_nodesList Canvas NodesA

Return the nodes and edges currently present in the active canvas.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations exist, so the description carries full burden. It does not disclose if the result is a snapshot, whether hidden nodes are included, or any side effects.

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?

Single sentence of 12 words, front-loaded with key information. No wasted content.

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 list operation with no parameters and no output schema, the description is minimally adequate but could mention whether edges are directional or if there are ordering guarantees.

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?

There are zero parameters, so baseline 4 applies. The description does not need to add parameter info beyond the empty schema.

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 clearly states the verb 'return' and the resource 'nodes and edges', specifying the scope 'currently present in the active canvas'. It distinguishes from siblings like 'get_connected_nodes' or 'get_selected_node' which return subsets.

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 tool versus alternatives like 'get_connected_nodes'. No context about prerequisites or exclusions.

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

list_orchestrator_presetsList Orchestrator PresetsA

List the workspace presets for models, agents, and workflows configured in Perssona.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so the description carries the burden. 'List' implies read-only behavior, but no details on authentication, rate limits, or side effects. Adequate for a simple list, but could be more explicit.

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 concise sentence with no waste. Front-loaded with the action and resource.

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?

Tool is simple with no output schema or params. Description covers the basic functionality. Could mention what a preset is or return format, but overall sufficient.

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?

Input schema has no parameters, so baseline is 4. Description does not need to add parameter info. No credit lost.

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?

Description uses specific verb 'list' and resource 'workspace presets for models, agents, and workflows', clearly stating what it does. It distinguishes itself from sibling tools that all focus on canvas/grid operations.

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?

No explicit guidance on when or when not to use. However, since the tool has no parameters and is a simple list, usage is straightforward. Lacks any mention of alternatives or prerequisites.

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

open_nodes_in_gridOpen Nodes In GridA

Open one or more nodes in the grid view. If nodeIds is omitted, use the selected nodes.

ParametersJSON Schema
NameRequiredDescriptionDefault
nodeIdsNo

TDQS

A4.2/5.0
Behavior3/5

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

Discloses the fallback behavior for omitted nodeIds, but no annotations exist. Does not clarify whether opening nodes replaces the grid or appends, or any side effects. Some transparency but incomplete.

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 concise sentences, front-loaded with the main action, no unnecessary words.

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?

Adequate for a tool with one optional parameter and no output schema. Could clarify grid behavior (replace vs. append) but not essential for basic use.

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 schema has no descriptions (0% coverage), but the description adds meaning by explaining the fallback when nodeIds is omitted, which is beyond the schema's type definition.

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 clearly states the action (open) and resource (nodes in grid view), and distinguishes from siblings like 'focus_node' by specifying multiple nodes and grid view.

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?

Explicitly states when to use (to open nodes in grid view) and provides conditional behavior (if nodeIds omitted, use selected nodes). Does not specify when not to use, but context with sibling tools implies alternatives.

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

remove_nodeRemove NodeA

Remove a canvas node and its connected edges. If nodeId is omitted, use the selected node.

ParametersJSON Schema
NameRequiredDescriptionDefault
nodeIdNo

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description explains the side effect of removing connected edges but does not disclose whether the operation is reversible, permissions required, or behavior on invalid input.

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 core purpose and a concise conditional. No redundant information.

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 tool with one optional parameter, the description covers the main action and edge effects. Lacks details on error handling or prerequisites but is generally sufficient.

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 description adds meaning beyond the schema by explaining that nodeId is optional and defaults to the selected node, which is critical semantic information given 0% schema description coverage.

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 clearly states the tool removes a canvas node and its connected edges, with a specific fallback behavior when nodeId is omitted. This distinguishes it from siblings like connect_nodes or disconnect_nodes.

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 description implies when to use (when you want to remove a node and its edges) and provides a condition for omitting nodeId, but does not explicitly state when not to use this tool or mention alternatives like disconnect_nodes.

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

run_workflow_from_annotationRun Workflow From AnnotationB

Use an annotation, a selected node, or a direct prompt as the entrypoint for a workflow, creating agents, opening them in the grid, and sending the initial prompts.

ParametersJSON Schema
NameRequiredDescriptionDefault
annotationNodeIdNo
sourceNodeIdNo
promptNo
modeNopair
workflowPresetIdNo
agentsNo
cwdNo
submitNo
addToGridNo
openInGridNo

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description must carry the full burden. It discloses that agents are created and opened in the grid, but does not mention side effects like canvas modification or whether the operation is reversible. Basic transparency but lacks depth.

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?

The description is a single sentence that efficiently conveys the core functionality. It is front-loaded with the main action. However, it could be slightly restructured for clarity (e.g., separating parameter options).

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?

Given 10 parameters, no output schema, and no annotations, the description is insufficient. It does not explain return values, the agents sub-structure, or what 'creating agents' entails. The agent needs more context to invoke the tool correctly.

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

Parameters2/5

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

Schema coverage is 0%, so description must compensate. It only explains three parameters (annotation, selected node, prompt) out of ten, ignoring mode, workflowPresetId, agents array, and boolean flags. This leaves most parameters unclarified.

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 clearly states the tool's purpose: using an annotation, selected node, or direct prompt as an entrypoint for a workflow, creating agents, opening them in the grid, and sending initial prompts. It uses specific verbs and resources, and distinguishes itself from sibling tools like create_agent_pair or open_nodes_in_grid by combining these actions.

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 description implies usage (starting a workflow from an annotation), but does not explicitly state when to use this tool versus alternatives. There is no guidance on when not to use it or mention of sibling tools like create_agent_pair for manual setup.

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

send_annotation_to_connected_terminalsSend Annotation To Connected TerminalsA

Send an Annotation node content to all connected terminal nodes. If annotationNodeId is omitted, use the selected annotation node.

ParametersJSON Schema
NameRequiredDescriptionDefault
annotationNodeIdNo
submitNo

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, so description must carry full burden. It fails to disclose behavioral traits such as error conditions when no annotation node is selected, whether sending is destructive, or if any side effects occur. The description is too brief to offer sufficient transparency.

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 extremely concise with two sentences, no unnecessary words, and the key action is front-loaded. Every word contributes value.

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?

Despite low complexity, the description omits critical details: what constitutes annotation content, the role of the 'submit' parameter, and error handling. An agent cannot fully understand tool behavior without external knowledge.

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

Parameters2/5

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

Schema description coverage is 0%, so description must explain params. It explains annotationNodeId (defaults to selected node) but provides no explanation for the 'submit' boolean parameter, leaving the agent uninformed about its behavior.

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 clearly states the action (send annotation content) and the target (all connected terminal nodes), and distinguishes from siblings like send_text_to_connected_terminals by specifying annotation node content.

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 implies when to use this tool (to send annotation content to all connected terminals) and contrasts with omission of annotationNodeId to use selected node, but does not explicitly state when not to use it or mention alternatives.

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

send_text_to_connected_terminalsSend Text To Connected TerminalsB

Send text from a source node to all connected terminal nodes. If sourceNodeId is omitted, use the selected canvas node.

ParametersJSON Schema
NameRequiredDescriptionDefault
sourceNodeIdNo
textYes
submitNo

TDQS

B3.4/5.0
Behavior2/5

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

No annotations exist, so the description bears full responsibility for behavioral disclosure. It only states the action without mentioning side effects, prerequisites, error cases (e.g., no terminals connected), or rate limits. This is insufficient for safe invocation.

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 with no wasted words. The main action is front-loaded, and the optional parameter hint is efficiently stated.

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?

Given the tool has 3 parameters, no output schema, and 19 sibling tools, the description is too sparse. It does not explain connectedness, error behavior, or return value. Many sibling tools would benefit from explicit differentiation.

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 0%, so description must compensate. It adds meaning for sourceNodeId (default behavior if omitted) but provides no extra context for text or submit. Baseline 3 is appropriate given partial compensation.

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 clearly specifies the verb 'send', the resource 'text', and the target 'all connected terminal nodes'. It distinguishes itself from siblings like 'send_text_to_terminal' (single terminal) and 'send_annotation_to_connected_terminals' (annotations).

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 description provides one usage guideline about omitting sourceNodeId to use the selected node, but does not compare to sibling tools or indicate when not to use this tool. No alternatives or exclusions are mentioned.

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

send_text_to_terminalSend Text To TerminalC

Send text directly to a specific terminal node.

ParametersJSON Schema
NameRequiredDescriptionDefault
nodeIdYes
textYes
submitNo

TDQS

C2.7/5.0
Behavior2/5

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

No annotations provided. Description does not disclose behavioral details such as whether the node must be active, what the submit parameter does, or any side effects.

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

Conciseness3/5

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

Extremely concise at 8 words, but sacrifices necessary detail. Could be improved with efficient additions.

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 tool with 3 parameters and no output schema or annotations, the description is insufficient for correct usage. Missing context on results or constraints.

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

Parameters1/5

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

Schema has 0% description coverage and the description adds no meaning to nodeId, text, or submit. Agent cannot infer parameter usage from text alone.

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 clearly states the action (send text) and the target (specific terminal node), distinguishing it from sibling tools like send_text_to_connected_terminals which targets multiple nodes.

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 tool versus alternatives. Lacks context about prerequisites or exclusions.

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

update_annotation_nodeUpdate Annotation NodeC

Update an existing annotation node. If nodeId is omitted, use the selected annotation node.

ParametersJSON Schema
NameRequiredDescriptionDefault
nodeIdNo
titleNo
contentNo
roleNo

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations provided, the description bears full responsibility for behavioral disclosure. It indicates an update operation (implying mutation) and a fallback behavior, but fails to mention side effects (e.g., whether updates are reversible), error conditions (e.g., when nodeId is invalid), or any required authorizations. This leaves the agent guessing about safe invocation.

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?

The description is a single, well-formed sentence that front-loads the primary action. It is appropriately short given the tool's simplicity, but could expand on parameter semantics without becoming verbose. The structure earns points for efficiency.

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?

Given four parameters, no output schema, and no annotations, the description should provide more context about expected return values, error handling, and parameter formats. The current description covers only nodeId omission behavior, leaving substantial gaps that hinder confident use, especially for an AI agent.

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

Parameters1/5

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

The input schema has four parameters (nodeId, title, content, role) with zero description coverage. The description only explains the behavior of nodeId when omitted. No meaning is added for the other three parameters, including the role enum, which could benefit from hinting at typical values. This is a critical gap for correct parameter filling.

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 clearly states the action ('update an existing annotation node') and the specific resource. It also adds a behavior note about nodeId omission, making the purpose concrete. However, it does not explicitly differentiate from sibling tools like create_annotation_node or get_selected_node, leaving some ambiguity.

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 provides no guidance on when to use this tool versus alternatives such as create_annotation_node or get_selected_node. The note about nodeId omission is a usage hint but not a guideline for tool selection. For a tool with many siblings, this lack of context makes it harder for an agent to choose correctly.

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

TDQS

B3.3/5.0
Disambiguation4/5

Most tools have distinct purposes, but there is some overlap among the various 'create' tools (e.g., create_agent_pair, create_claude_terminal_from_agent, create_connected_terminal) that could cause confusion if descriptions are not read carefully. However, descriptions are clear enough to differentiate them.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern with snake_case (e.g., add_node_to_grid, connect_nodes, run_workflow_from_annotation). No mixing of conventions or inconsistent styles.

Tool Count4/5

With 20 tools, the server covers a broad canvas orchestration domain including node management, connections, terminals, and workflows. While on the higher side, each tool serves a specific purpose and the count feels justified.

Completeness4/5

The tool set covers core operations: CRUD for annotation nodes, connections, terminals, grid management, and workflow execution. Minor gaps exist (e.g., no direct update for non-annotation nodes, no node renaming), but the surface is largely complete for its stated purpose.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP server that bridges AI assistants to real terminal sessions, enabling creation, management, and interaction with persistent PTY processes for running commands, monitoring output, and debugging.
    1
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/PerssonaOps/orchestrator'

If you have feedback or need assistance with the MCP directory API, please join our Discord server