Skip to main content
Glama

@putervision/behavior-mcp

npm version CI Node License: MIT

High-Frequency (~60Hz) In-Browser Behavior Tree Tactical Runtime Engine for AI Agents

@putervision/behavior-mcp is a Model Context Protocol (MCP) server that executes deterministic behavior trees directly in browser runtimes at ~60Hz with reactive trigger preemption, frame recordings, SHA-256 Merkle audit chains, and a 5-layer safety guardrail stack.

๐ŸŒ Official Documentation: putervision.com โ€ข Interactive Web Docs


โšก 15-Second Quick Start

# 1. Initialize runtime & seed default behavior trees in your workspace
npx @putervision/behavior-mcp init

# 2. Run system diagnostic and health checks
npx @putervision/behavior-mcp doctor

# 3. Inspect active executions, blackboard state, and reactive triggers
npx @putervision/behavior-mcp inspect

Related MCP server: Scout

๐Ÿ› ๏ธ 10 Core MCP Tools

Tool

Actions

Purpose

load_behavior

load, unload, swap

Inject, initialize, or hot-swap a behavior tree in browser runtime

set_parameters

set, get, reset

Dynamically update or query runtime execution parameters

get_status

current, history, tree_state

Query active status, node traversal path, tick count, duration

abort_behavior

abort, pause, resume

Halt, pause, or resume behavior execution safely

register_trigger

register, list

Configure reactive interrupt triggers with priority preemption

replay_recording

capture, list

Capture or inspect deterministic browser action sequences

get_metrics

current, history

Retrieve runtime telemetry, tick durations, and stuck events

manage_behaviors

register, get, list

CRUD for immutable behavior tree JSON with SHA-256 tree hashes

manage_blackboard

get, set

Read, write, or query shared behavior tree blackboard variables

manage_runtime_db

stats, audit, snapshot, restore

SQLite diagnostics, SHA-256 Merkle audit, and checkpoint rollback


๐Ÿ›ก๏ธ 5-Layer Safety Guardrail Stack

  1. Fail-Closed Evaluator: Unrecognized node definitions throw fatal exceptions immediately.

  2. Watchdog Heartbeat Timer: Halts execution if tick evaluation stalls beyond 5,000ms.

  3. Action Rate Limiter: Strict 60 actions/sec maximum throughput ceiling.

  4. Leaf Policy Gate: Blocks irreversible, high-risk mutations (delete_item, spend_currency).

  5. Emergency Kill Switch: Atomic safety latch (EmergencySafety.engageKillSwitch()) halts all runtimes.


๐Ÿ“š Deep Documentation Guides


๐Ÿ”— Client Configuration

Add to .cursor/mcp.json or .vscode/mcp.json:

{
  "mcpServers": {
    "behavior-mcp": {
      "command": "behavior-mcp",
      "args": ["run"]
    }
  }
}

๐Ÿงช Testing

# Run full unit and integration test suite across 15 test files (87 tests)
npm test

๐Ÿ“„ License

MIT ยฉ PuterVision

Available Tools

10 tools
abort_behaviorC

Immediately halt, pause, or resume behavior execution and disengage active inputs.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
reasonNo
projectNo
trace_idNo
execution_idNo

TDQS

C2.6/5.0
Behavior2/5

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

Because no annotations are provided, the description carries the full burden of disclosing side effects. It mentions 'disengage active inputs' but does not explain whether abort is destructive, whether pause/resume preserves state, whether the operation is immediate across all running behaviors, or what side effects occur. This is insufficient for a control action.

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 front-loaded sentence with no filler. It efficiently lists the supported operations and the affected resource. The slight synonym confusion between 'halt' and 'pause' prevents a perfect score, but structurally it is concise.

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 five parameters, no output schema, and no annotations, one sentence is not enough. The description omits which parameters are relevant for each action, whether optional parameters are required in certain cases, and what the agent should expect after the call. This leaves significant gaps for correct 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%, so the description must compensate for the five parameters, but it does not. reason, project, trace_id, and execution_id are left unexplained, and the description only restates the action enum values (halt/pause/resume) without adding parameter-level meaning.

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 identifies a concrete resource (behavior execution) and a specific control scope (halt, pause, or resume). It differentiates from sibling tools that load, configure, or observe behaviors. However, 'halt' and 'pause' overlap semantically, and the tool name 'abort_behavior' implies a narrower purpose than the description provides.

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 guidance about when to use this tool versus alternatives such as manage_behaviors, load_behavior, or set_parameters. The description also does not clarify when abort should be chosen over pause or resume. All usage context is left to inference.

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

get_metricsC

Retrieve runtime execution telemetry, tick durations, stuck events, and category statistics.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
actionYes
projectNo
trace_idNo
execution_idNo
behavior_nameNo

TDQS

C2.4/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 disclosure burden. It says 'retrieve,' implying a read-only operation, but does not reveal potential side effects of actions like 'aggregate' or 'compare,' possible rate limits, data retention implications, or whether any state is mutated. This is insufficient for a tool with an action parameter that might perform computations.

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 with no filler words, front-loaded with the action verb and resource. It is effective as a concise teaser, even though the brevity sacrifices clarity. It earns a 4 for efficient structure, not for informativeness.

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?

With no output schema, no parameter descriptions, and no annotations, the description is the only documentation source for this complex six-parameter tool. It doesn't explain the action enum values, filtering combination, or return shape. An agent cannot reliably construct a valid invocation from the current definition.

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%, so the description must compensate for the meaning of the six parameters. It does not mention limit, action, project, trace_id, execution_id, or behavior_name at all. The only clue is the enum name 'action' in the schema, but the description does not explain what these filters target or how they relate to the four metric categories.

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 ('retrieve') and a resource (runtime execution telemetry, tick durations, stuck events, category statistics), so the core purpose is fairly clear. However, it does not differentiate from the sibling 'get_status' tool, which could also surface runtime information. Not enough to drop below a 4, but it leaves ambiguity about which get-style tool to select.

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 usage guidance at all. The description doesn't say when to use this tool instead of get_status, load_behavior, or replay_recording, and it doesn't explain the action enum or any preconditions. An agent is left to infer the appropriate usage context from the parameter names and siblings.

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

get_statusB

Query active behavior execution status, current node path, tick count, duration, and error state.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
actionYes
projectNo
execution_idNo

TDQS

B3.1/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. The verb 'Query' implies a read-only operation, but the description does not disclose permission requirements, rate limits, whether calls to this tool may fail, or what behaviors differ across actions. There is nothing contradictory, but meaningful behavioral context is missing.

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 beginning with the core verb 'Query', followed by a specific list of returned attributes. It is concise, with no redundant material, and each word 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?

The description does not provide enough information to correctly complete the tool for different actions or input combinations. With no output schema and no annotations, it should at least explain what the action values return or how limit/project/execution_id affect the result, but it does is name output fields.

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?

All four parameters have zero schema description coverage, and the tool description never mentions limit, project, execution_id, or the action enum. The description does not explain how to choose between 'current', 'history', or 'tree_state', and the meaning of the parameters remains complete force.

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 uses the specific verb 'Query' and names a concrete resource ('active behavior execution status'), listing specific fields (current node path, tick count, duration, error state). This clearly communicates the tool's operation, but it does not explicitly differentiate from sibling tools such as get_metrics or load_behavior.

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 the tool is for checking execution status, but it provides no explicit guidance on when to use it versus alternatives, no exclusion criteria, and no mention of prerequisites. The implied usage is present but the agent is left without clear routing.

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

load_behaviorC

Inject, initialize, or hot-swap a behavior tree instance in the browser runtime.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
projectNo
trace_idNo
parametersNo
session_idNo
intention_idNo
behavior_nameYes
behavior_versionNo
client_request_idNo

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are present, so the description carries full responsibility for behavioral disclosure. It hints at mutation ('inject, initialize, hot-swap') but does not explain side effects, destruction (unload), permission requirements, or reversibility. This is inadequate for a tool with potentially destructive actions.

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 concise sentence with no filler, which is structurally sound. However, it is under-specified for a 9-parameter tool; the brevity borders on insufficient information rather than efficient delivery.

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 complexity (9 parameters, enum, nested objects) and lack of annotations or output schema, the description is severely incomplete. It fails to explain required parameters, action semantics, or any preconditions, making it impossible for an agent to call correctly without opening the schema and guessing.

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% and the description adds no parameter-level meaning. It does not explain the 'action' enum, the required 'behavior_name', or optional fields like project, parameters, or session_id. The tool's usability relies entirely on the schema, which also lacks descriptions.

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 clear verb phrase ('Inject, initialize, or hot-swap') and a specific resource ('a behavior tree instance in the browser runtime'). It conveys the primary function without ambiguity, though it does not explicitly differentiate from sibling tools like manage_behaviors.

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. There is no mention of prerequisites, conditions for selecting 'load' vs 'swap', or scenarios where another tool (e.g., set_parameters) would be more appropriate.

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

manage_behaviorsC

CRUD operations for immutable JSON behavior tree definitions with SHA-256 tree hash verification.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
treeNo
actionYes
projectNo
versionNo
tree_jsonNo
descriptionNo
client_request_idNo

TDQS

C2.7/5.0
Behavior3/5

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

With no annotations, the description carries the burden and does disclose two meaningful behavioral traits: definitions are immutable and SHA-256 tree hashes are verified. However, it does not explain side effects, failure behavior on hash mismatch, authentication requirements, or what exactly 'CRUD' permits given immutability.

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, tight sentence that front-loads the resource and key constraints. It wastes no words, though it sacrifices enough detail that the agent still depends heavily on the schema.

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 an eight-parameter tool with no output schema and no annotations, this description is not sufficient to invoke actions correctly. It captures the domain and immutability but misses action-specific requirements, parameter roles, response shape, and integrity-checking behavior.

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% and the tool description adds nothing about the eight parameters. The words 'JSON behavior tree definitions' only hint at tree/tree_json, and there is no explanation of action, name, project, version, description, or client_request_id.

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 that the tool does CRUD operations on JSON behavior tree definitions that are immutable and hash-verified, naming the central resource and a distinguishing integrity feature. It is clear enough to separate manage_behaviors from runtime-focused siblings like load_behavior or get_status, though 'CRUD' is broader than the actual register/list/get enum and does not explicitly name the sibling 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?

No guidance on when to choose this tool over load_behavior, set_parameters, or manage_runtime_db. The description implies a management role for behavior definitions but never states prerequisites, use cases, or commands that should be routed elsewhere.

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

manage_blackboardC

Read, write, or query shared behavior tree blackboard state variables.

ParametersJSON Schema
NameRequiredDescriptionDefault
keyNo
valueNo
actionYes
projectNo
execution_idNo

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden. It only states that it can read, write, or query, implying mutation for 'write', but gives no detail on side effects, persistence, or requirements. There is no disclosure of what happens on set, whether values are persisted, or if any state is modified beyond the blackboard. This is minimal and insufficient for an agent to understand 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?

The description is a single short sentence, which is concise, but it does not provide any structure or hierarchy. It front-loads the action but omits context. The brevity is appropriate for a simple tool, but given the complexity (5 params, no schema descriptions), it is too under-specified to serve as an effective guide. The sentence is well-formed but does not earn its place beyond stating the obvious.

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?

For a tool with 5 parameters, no output schema, and no annotations, the description is grossly incomplete. It doesn't mention required vs optional parameters, default values, return format, or error conditions. The agent would have no way to know whether it needs to pass 'project' or 'execution_id' for a get/set operation, or what the response looks like. This is a minimal description for a tool that needs much more guidance.

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?

With 5 parameters and 0% schema description coverage, the description must explain parameter roles. It does not. The enum for action is present in the schema, but the description doesn't explain what 'get' vs 'set' do for the variables, nor does it clarify the purpose of key, value, project, or execution_id. The description provides no added meaning beyond the schema's bare type definitions.

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 the primary actions (read, write, query) and the resource (shared behavior tree blackboard state variables), which clearly identifies the tool's scope. It distinguishes from generic 'manage' siblings by specifying the blackboard resource, though it doesn't explicitly name alternatives. Overall, the purpose is clear but could be more specific about the exact operations.

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 guidance is provided. There is no mention of when to use this tool instead of alternatives like manage_runtime_db or manage_behaviors, no context about intended use cases, and no exclusions. The agent has to infer usage from the name and description.

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

manage_runtime_dbC

Database maintenance, diagnostics, SHA-256 Merkle audit verification, checkpoints save/restore, and diffs.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
actionYes
projectNo
descriptionNo

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 responsibility for behavioral disclosure. It mentions restore and maintenance, implying potential mutation or side effects, but does not clarify reversibility, permissions, destructive potential, or what the audit/snapshot/diff operations produce.

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 compact sentence with no filler. It is efficiently sized, though it front-loads a list rather than a clear action statement.

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 four parameters, an action enum, no output schema, and no annotations, the description is too thin. It does not explain how to construct a valid call, what each action entails, expected return values, or side effects, leaving an agent uncertain when invoking it.

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 for all parameter meaning. It does not explain the role of name, project, or description, and only loosely maps the action enum values to capabilities without detailing parameter relationships or requirements.

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 enumerates the tool's capabilities (maintenance, diagnostics, SHA-256 Merkle audit, checkpoints, diffs), which clearly identifies the resource and general purpose. It is distinct from sibling tools focused on behaviors, parameters, status, triggers, and metrics, though it lacks a direct verb+object statement.

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 given about when to use this tool versus alternatives. The description does not state preferred conditions, exclusions, or which sibling tools might be better suited for related tasks.

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

register_triggerC

Configure and manage reactive interrupt triggers with priority preemption and cooldown guards.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
actionYes
projectNo
priorityNo
trigger_idNo
cooldown_msNo
behavior_nameNo
condition_typeNo
condition_paramsNo

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions 'priority preemption and cooldown guards' which hints at some behavioral traits, but it does not specify side effects: does registering a trigger override an existing one? Does it require the target behavior to be loaded first? Is it idempotent? It doesn't mention any destructive or mutating actions, nor does it describe the response format. These gaps are significant for a tool with 9 parameters.

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 of about 12 words, concise and front-loaded with the main verb. It mentions key behavioral concepts ('priority preemption', 'cooldown guards') in a compact way. However, it uses abstract jargon that may require unpackingeding, and it doesn't include a second sentence to clarify the action enum or provide usage context ร‰, which could make it denser but more helpful. Still, there's no waste โ€” every word 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 complexity (9 params, 1 required, nested objects, no output schema, no annotations), the description is underwhelming. It doesn't explain the 'action' enum or that 'list' is an available operation, nor does it describe the return value (nothing to tell the agent what to expect). It doesn't cover request prerequisites (e.g., does the behavior need to exist?) or error conditions. The nested 'condition_params' object is entirely unexplained. With so many parameters and no annotations, the description is far from complete for correct invocation.

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 description coverage is 0%, so the description must compensate for undocumented parameters. While the description doesn't explain individual parameters (e.g., what 'condition_params' does), it highlights two key concepts: 'priority preemption' (maps to the 'priority' parameter) and 'cooldown guards' (maps to 'cooldown_ms'). This adds semantic meaning beyond the bare schema. However, it doesn't cover other parameters like 'trigger_id', 'behavior_name', or 'condition_type', which are left to inference. But given the coverage is 0%, the description does provide some value. With 9 params, a score of 4 is reasonable because it at least characterizes the most central parameters, even if it omits many others.

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

Purpose3/5

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

The description states a specific verb ('Configure and manage') and resource ('reactive interrupt triggers'), but the phrase is somewhat abstract โ€” it doesn't specify exact actions like 'register' or 'list' that the schema reveals. It differentiates from siblings only partially: it mentions triggers but doesn't clearly distinguish from 'manage_behaviors' or 'load_behavior'. The term 'reactive interrupt triggers' is jargon-heavy and assumes the reader knows the domain, making it less clear for a general agent.

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 offers no guidance on when to use this tool vs. alternatives. It doesn't mention that the 'action' parameter selects between 'register' and 'list', nor does it provide context about when registering a trigger is appropriate vs. using other tools like 'manage_behaviors' or 'set_parameters'. There are no exclusions or explicit 'when not to use' statements. The agent must infer usage entirely from the schema and sibling names.

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

replay_recordingC

Capture or replay deterministic browser action sequences with adaptive timing.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
actionYes
framesNo
projectNo
execution_idNo
recording_idNo

TDQS

C2.2/5.0
Behavior2/5

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

No annotations are provided, so the description alone must disclose side effects, state changes, outputs, and caveats. It only mentions deterministic sequences and adaptive timing; it does not explain what capturing does to stored recordings, whether replay is available, or what the tool returns.

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 compact sentence with no filler, and the core idea is front-loaded. It loses points only because brevity comes at the cost of crucial details.

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?

With no annotations, no output schema, six parameters, and no parameter descriptions, this one-sentence description is far from complete. It does not tell the agent how to invoke the tool, what arguments mean, or what outcome to expect.

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%, and the description does not explain any of the six parameters such as name, frames, project, execution_id, or recording_id. The agent has no semantic guidance beyond the enum on action, so it cannot correctly populate parameters.

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

Purpose3/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: capturing or replaying deterministic browser action sequences. However, it is ambiguous against siblings such as load_behavior, and it misleadingly says 'replay' when the only supported action enum values are 'capture' and 'list'.

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 guidance on when to use this tool instead of load_behavior, register_trigger, or other siblings. The phrase 'with adaptive timing' hints at a use case but does not state conditions, prerequisites, or exclusions.

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

set_parametersC

Dynamically update or query execution parameters for the active behavior runtime.

ParametersJSON Schema
NameRequiredDescriptionDefault
actionYes
projectNo
parametersNo
execution_idNo

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 the full burden of behavioral disclosure. It only says 'update or query' and does not mention the reset action, side effects, persistence, whether changes affect a running execution, or what response the caller receives.

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 front-loaded sentence with no filler, making it easy to parse. It is concise, though 'dynamically' adds little and the extreme brevity comes at the cost of useful structural detail.

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 four parameters, a nested object, no output schema, and no annotations, this description is insufficient. An agent is left without knowledge of what each action does, how parameters are targeted, whether changes are reversible, or what a successful call returns.

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 mentions 'execution parameters' and provides no explanation of the action enum values, the roles of project and execution_id, or the expected shape of the parameters object. The schema lists properties but adds no semantic meaning.

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 identifies a specific resource ('execution parameters') and action ('update or query'), plus the scope ('active behavior runtime'). However, it omits the 'reset' action from the schema and does not explicitly distinguish itself from sibling tools like manage_blackboard or manage_runtime_db.

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 guidance on when to use this tool versus alternatives, no exclusions, and no stated prerequisites. The phrase 'active behavior runtime' only weakly implies applicability, and no sibling tool is referenced as a substitute or complement.

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. 10 tool updatesv0.1.2
    • First observedabort_behavior
    • First observedget_metrics
    • First observedget_status
    • First observedload_behavior
    • First observedmanage_behaviors
    • First observedmanage_blackboard
    • First observedmanage_runtime_db
    • First observedregister_trigger
    • First observedreplay_recording
    • First observedset_parameters

TDQS

B3/5.0

Scored across 10 tools

Disambiguation4/5

Most tools target distinct concerns, but load_behavior vs manage_behaviors and get_status vs get_metrics have some boundary overlap. Descriptions clarify runtime instance vs definition and snapshot vs telemetry, so agents can select correctly with careful reading.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern, such as load_behavior, set_parameters, and get_status. No mixed casing or inconsistent verb styles are present, and even the broader manage_* tools fit the established convention.

Tool Count5/5

Ten tools is a well-scoped count for a behavior-tree runtime server. Each tool maps to a meaningful part of the domain: definitions, loading, control, state, triggers, replay, metrics, and persistence.

Completeness4/5

The set covers behavior definition CRUD, runtime loading and control, status inspection, blackboard state, triggers, metrics, and database maintenance. Minor gaps such as an explicit unload behavior tool or dedicated trigger listing are present, but existing tools can work around them.

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