Skip to main content
Glama

Dispersl MCP Server

A Model Context Protocol (MCP) server implementation that integrates with Dispersl; The AI Dev Team, to give you multi-agents that work together to build software.

This MCP server can use other MCP servers as well for distributed, tool-driven workflows.

Built for modern AI-driven development, with support for multiple LLM models, multi-agent planning, and full SDLC automation.


Features

  • Multi-agent orchestration (plan, code, test, git, docs, chat)

  • Code generation, test generation, and documentation

  • Git operations and repo management

  • Conversational agentic chat

  • API key and session management

  • Connect to and manage other MCP servers (local or remote)

  • Extensible with custom tools and external agents

  • Works with Cursor, VS Code, and other MCP-compatible clients


Related MCP server: Bernstein - Multi-agent orchestration

Installation

Running with npx

env DISPERSL_API_KEY=your-api-key npx -y dispersl-mcp

Manual Installation

npm install -g dispersl-mcp

Running on Cursor

For the most up-to-date configuration instructions, see the Cursor MCP Server Configuration Guide.

Example Cursor MCP config:

{
  "mcpServers": {
    "dispersl-mcp": {
      "command": "npx",
      "args": ["-y", "dispersl-mcp"],
      "env": {
        "DISPERSL_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Running Locally

export DISPERSL_API_KEY=your-api-key
npm run dev

Running with Custom Models

You can specify default models for each agent type:

export DISPERSL_PLAN_MODEL=deepseek/deepseek-chat-v3-0324:free
export DISPERSL_CODE_MODEL=anthropic/claude-sonnet-4
export DISPERSL_TEST_MODEL=anthropic/claude-sonnet-4
export DISPERSL_GIT_MODEL=meta-llama/llama-4-maverick:free
export DISPERSL_DOCS_MODEL=openai/gpt-4o-mini
export DISPERSL_CHAT_MODEL=openai/gpt-4o-mini

Configuration

MCP Config Example

To connect to local and external MCP servers, use .dispersl/mcp.json:

{
  "mcpServers": {
    "anthropic-main": {
      "command": "npx",
      "args": [
        "-y",
        "--package=@anthropic-ai/mcp-server",
        "anthropic-mcp-server"
      ],
      "env": {
        "ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}"
      }
    },
    "anthropic-backup": {
      "command": "npx",
      "args": [
        "-y",
        "--package=@anthropic-ai/mcp-server",
        "anthropic-mcp-server"
      ],
      "env": {
        "ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY_BACKUP}"
      }
    }
  }
}

Usage

Tool Reference

Tool Name

Description

list_models

List available models

dispersl_code_agent

Generate code files and codebases based on a prompt using agentic execution

dispersl_testing_agent

Generate end to end tests based on a prompt using agentic execution

dispersl_git_agent

Execute codebase versioning operations with Git based on a prompt using agentic execution

dispersl_new_docs_agent

Generate file by file technical documentation for a code repository using agentic execution

dispersl_chat_agent

Chat with the Dispersl agent to get knowledge or insights about codebases using agentic execution

dispersl_plan_agent

Multi-agent task dispersion using agentic execution (plan agent)

start_session

Start a new agentic session

end_session

End an active session

add_mcp_server

Connect to an external MCP server and save to config

remove_mcp_server

Disconnect from an MCP server and remove from config

get_models

List available AI models

get_keys

Get API keys for the authenticated user

new_key

Generate new API key

create_task

Create a new task

edit_task

Edit a task by ID

get_tasks

Get all tasks

get_task

Get a task by ID

cancel_task

Cancel a task by ID

edit_step

Edit a step by ID

get_steps

Get all steps

get_step

Get a step by ID

cancel_step

Cancel a step by ID

get_usage_stats

Get usage stats

get_language_stats

Get language usage stats

get_agent_stats

Get agent query stats

get_task_history

Get task history by ID

get_step_history

Get step history by ID

fetch_api_root

Fetch API root (utility endpoint)

health_check

Health check endpoint

Example: Chat

This agent is able to interact with the user to fetch insights, shared memories and task progress to the user.

await client.callTool({
  name: "start_session",
  arguments: { session_id: "my-session" }
});

const response = await client.callTool({
  name: "dispersl_chat_agent",
  arguments: {
    prompt: "Hello, how are you?",
    model: "meta-llama/llama-4-maverick:free"
  }
});

await client.callTool({
  name: "end_session",
  arguments: { session_id: "my-session" }
});

Example: Plan Agent

This agent is able to coordinate all the agents i.e code, test, git, documentation to execute complex tasks. Agents work in sync and handover tasks to each other once they complete their assigned role.

const response = await client.callTool({
  name: "dispersl_plan_agent",
  arguments: {
    prompt: "Plan a workflow for building and testing an ExpressJS web app using TypeScript",
    model: "meta-llama/llama-4-maverick:free",
    agents: ["code", "test", "git", "docs"]
  }
});

Example: Code Generation

This agent is able to run autonomously. It can also collaborate with the other agents i.e code, test, git, documentation to execute complex tasks. Agents work in sync and handover tasks to each other once they complete their assigned role.

const response = await client.callTool({
  name: "dispersl_code_agent",
  arguments: {
    prompt: "Create a simple hello world function",
    model: "meta-llama/llama-4-maverick:free"
  }
});

Example: Add External MCP Server

await client.callTool({
  name: "add_mcp_server",
  arguments: {
    name: "my-server",
    command: "node",
    args: ["dist/server.js"],
    env: { PORT: "8080" }
  }
});

Development

# Install dependencies
npm install

# Run in development mode
npm run dev

# Build
npm run build

# Run tests (requires DISPERSL_API_KEY)
npm test

# Lint
npm run lint

# Format code
npm run format

Contributing

Contributions are welcome! Please submit a Pull Request.


License

MIT License - see LICENSE file for details

Available Tools

28 tools
add_mcp_serverC

Connect to an external MCP server and save to config

ParametersJSON Schema
NameRequiredDescriptionDefault
envNo
argsYes
nameYes
commandYes

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 behavioral burden, and it discloses only that state is persisted to config. It does not say what happens if the server name already exists, whether the connection is validated before saving, whether changes are reversible, or what auth/env requirements apply.

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

Conciseness4/5

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

A single short sentence with the action verb front-loaded and no filler. It is efficient, though its brevity is partly under-specification rather than disciplined conciseness.

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 persistent, config-mutating tool with a nested-object parameter, 0% schema coverage, no output schema, and no annotations, the description omits too much. An agent cannot determine arguments' formats, idempotency, or failure behavior from this definition alone.

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% across four parameters, including a nested env map and a string-array args, so the description must compensate and does not. It never clarifies that name identifies the server, command is the launch binary, args are launch arguments, or how env entries are structured.

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

Purpose4/5

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

States a clear verb pair ('connect' and 'save to config') acting on a specific resource (an external MCP server), which is enough for an agent to know the operation. It does not explicitly name its inverse sibling remove_mcp_server, but the resource is concrete rather than tautological.

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 add an MCP server versus editing config manually, no mention of the sibling remove_mcp_server as the alternative, and no prerequisites such as needing a running server or valid command. Usage must be inferred entirely from the name.

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

cancel_stepC

Cancel a step by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2.5/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not state what canceling a step entails—whether it is reversible, what happens to the step's outputs, required permissions, 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.

Conciseness4/5

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

The description is a single, front-loaded sentence with no redundant words. While extremely brief, it is efficient and wastes no space.

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

Completeness2/5

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

For a mutation tool with no annotations and no output schema, the description is insufficiently complete. It omits critical context such as the effect of cancellation, reversibility, and what the response contains.

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 says 'by ID', which identifies the parameter as an ID but adds no format, source, or constraint details beyond the schema's type declaration.

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 ('Cancel a step') and includes the input needed ('by ID'). However, it does not distinguish this tool from the sibling 'cancel_task', leaving ambiguity about which resource is being canceled.

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 like 'cancel_task' or 'edit_step'. There is no mention of prerequisites, context, or exclusions.

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

cancel_taskC

Cancel a task by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It says 'cancel', which implies a mutation, but does not state whether cancellation is irreversible, idempotent, requires specific permissions, or what happens if the task is already completed or missing. For a destructive operation with zero annotation support, this is a significant gap.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with no filler. It communicates the action and the required input directly, making it easy to scan and parse. Every word serves the core message.

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 one-parameter mutation tool with no annotations and no output schema, the description should disclose enough behavioral context for safe invocation. It states what the tool does and the required argument, but omits any caution about irreversibility, state requirements, or failure modes. This leaves the agent without essential operational context for a cancel operation.

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?

The schema defines one parameter, id, with 0% description coverage, so the schema itself provides no semantic detail. The description adds 'by ID', which tells the agent that the parameter identifies the task to cancel. However, it does not specify the ID format or source (e.g., task ID from get_tasks), so it only partially compensates for the schema gap.

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: 'Cancel a task'. It distinguishes the tool from siblings like cancel_step and edit_task by making clear it operates on a task, not a step or task history. It lacks explicit sibling differentiation beyond the resource noun, so it falls short of a 5.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives such as cancel_step or edit_task. The phrase 'by ID' implies the tool requires a task identifier but does not state prerequisites, expected state, or when cancellation is appropriate. This leaves the agent to infer usage with no explicit context or exclusions.

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

create_taskC

Create a new task

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYes

TDQS

C2.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Create' does imply a write operation, but it discloses nothing about required permissions, side effects, whether the task starts immediately, or what the opaque body must contain.

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?

It is a single clean, front-loaded sentence with no waste. It is not verbose so much as severely under-specified, which is a structure problem rather than a conciseness win.

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?

No annotations, no output schema, an undocumented nested body, and a high-complexity sibling set. For a mutation tool in this context, the description omits everything an agent needs to invoke it correctly.

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?

There is one required parameter, an open nested object with additionalProperties: true and 0% schema description coverage. The description says nothing about what goes in the body, leaving the only parameter completely opaque in both schema and prose.

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 gives a clear verb and resource ('Create a new task'), so it is not a tautology. However, it is the bare minimum restatement of the name with no scope, no mention of what a task is, and nothing that distinguishes it from siblings like edit_task or cancel_task beyond the verb.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as edit_task or get_tasks. With a dozen task-related siblings, an agent gets no help choosing between them.

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

dispersl_chat_agentC

Chat with the Dispersl agent to get knowledge or insights about codebases using agentic execution

ParametersJSON Schema
NameRequiredDescriptionDefault
mcpNo
modelNo
voiceNo
memoryNo
promptYes
contextNo
task_idNo
knowledgeNo

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 burden of behavioral disclosure. It does not state whether the agent executes code/tools (side effects), whether it requires auth or consumes credits, whether calls are stateful (memory, task_id), or what the response contains. 'Agentic execution' hints at autonomy but is too vague to be actionable.

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?

It is a single efficient sentence with the core purpose front-loaded and no filler. The problem is under-specification rather than verbosity, so it is concise but insufficient.

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 8 parameters, a nested object, no annotations, and no output schema, the description leaves the majority of the contract unexplained. It should at least cover the required 'prompt' and the stateful/session parameters (task_id, memory, context) to be callable correctly.

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% across 8 parameters, including a nested 'mcp' object and opaque flags (voice, memory, task_id, knowledge, context). The description explains none of these, so the agent has no guidance on what any parameter does or what a valid call looks like.

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

Purpose4/5

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

States a specific verb ('Chat') and resource (the Dispersl agent) plus the goal ('knowledge or insights about codebases'), which is clearer than a tautology. However, it offers no differentiation from the many sibling agents (dispersl_plan_agent, dispersl_code_agent, dispersl_testing_agent, dispersl_git_agent, etc.), so an agent cannot tell when this chat agent is preferred.

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

Usage Guidelines2/5

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

There is no when-to-use, when-not-to-use, or alternative routing guidance. The trailing phrase 'using agentic execution' describes mechanism, not selection context, and does not help the agent choose this over the sibling *_agent tools.

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

dispersl_code_agentC

Generate code files and codebases based on a prompt using agentic execution

ParametersJSON Schema
NameRequiredDescriptionDefault
mcpNo
modelNo
promptYes
contextNo
task_idNo
knowledgeNo

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 burden. 'Agentic execution' is vague — it does not say whether files are written to disk, whether the task is long-running/async, what permissions or model configuration are needed, or what side effects occur. For a code-generation agent with a nested mcp config parameter, this leaves important behavior undisclosed.

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?

A single efficient sentence with no waste, and the core action is front-loaded. However, that brevity comes at the cost of under-specification rather than genuine conciseness.

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?

With 6 parameters including a nested object, no annotations, and no output schema, the description is far too thin to let an agent invoke this correctly. Critical details about inputs, execution model, and results are missing.

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?

Six parameters at 0% schema description coverage, and the description only maps to 'prompt'. The purpose of mcp, model, context, task_id, and knowledge is unexplained in both the schema and the description, leaving half the API surface opaque.

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

Purpose4/5

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

States a specific verb (generate) and resource (code files and codebases) with the mechanism (agentic execution), which distinguishes it from sibling agents like dispersl_plan_agent and dispersl_testing_agent. It stops short of explicitly contrasting with those siblings, but the resource is clear.

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

Usage Guidelines2/5

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

No guidance on when to use this versus the other dispersl_* agents (plan, testing, git, docs, chat) or when not to. An agent must infer the boundary purely from the tool name.

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

dispersl_git_agentC

Execute codebase versioning operations with Git based on a prompt using agentic execution

ParametersJSON Schema
NameRequiredDescriptionDefault
mcpNo
modelNo
promptYes
contextNo
task_idNo
knowledgeNo

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries the full behavioral burden. 'Agentic execution' hints at autonomous operation, but the description omits critical details such as destructive Git operations, permission requirements, reversibility, and 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.

Conciseness4/5

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

The description is a single, front-loaded sentence with no redundant phrasing. However, its extreme brevity may be under-specified for a complex tool, keeping it from a 5.

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 a complex agentic Git tool with 6 parameters, 0% schema coverage, no annotations, and no output schema, a one-line description is far too incomplete. It omits parameter meanings, behavioral constraints, and return information.

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% for all 6 parameters, so the description must compensate. It mentions 'prompt' as the basis for execution, giving that parameter some meaning, but leaves mcp, model, context, task_id, and knowledge completely unexplained.

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 gives a specific verb and resource: 'Execute codebase versioning operations with Git'. It distinguishes itself from generic agent siblings like dispersl_code_agent by naming Git versioning, though it does not explicitly contrast alternatives.

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

Usage Guidelines2/5

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

The description implies the tool is used when a prompt is available, but provides no when-to-use, when-not-to-use, or alternative-selection guidance. No sibling tools or conditions are referenced.

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

dispersl_new_docs_agentC

Generate file by file technical documentation for a code repository using agentic execution

ParametersJSON Schema
NameRequiredDescriptionDefault
mcpNo
urlYes
modelNo
branchNo
contextNo
task_idNo
knowledgeNo
team_accessNo

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions 'agentic execution', which hints at asynchronous or task-based behavior, but does not describe side effects, authentication needs, whether a task is created, or what happens on completion.

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 wasted words. It is clear and direct, though its brevity is part of the wider completeness problem rather than a structural flaw.

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 8 undocumented parameters, a nested mcp object, no annotations, and no output schema, the description is too thin. It states the core purpose but omits behavior, parameter meaning, and invocation context needed to call this agent tool correctly.

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?

There are 8 parameters with 0% schema description coverage, and the description mentions none of them. It does not explain url, model, branch, context, task_id, knowledge, team_access, or the nested mcp object, leaving the agent with no semantic guidance beyond the purpose statement.

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+resource: 'Generate file by file technical documentation' for a code repository. It clearly distinguishes this from sibling agent tools like dispersl_code_agent or dispersl_testing_agent by naming documentation generation as the task. It does not, however, explicitly mention when to choose it over those siblings.

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 when-to-use guidance, no prerequisites, and no alternatives. It does not say whether this should be used after code changes, which repository URL forms are accepted, or how it relates to dispersl_plan_agent or dispersl_code_agent.

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

dispersl_plan_agentC

Multi-agent task dispersion using agentic execution (plan agent). Agent choices can either be use 'code', 'test', 'git', 'docs' as the agent choices

ParametersJSON Schema
NameRequiredDescriptionDefault
mcpNo
modelNo
memoryNo
promptYes
contextNo
task_idNo
knowledgeNo
agent_choiceYes

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 burden. It doesn't disclose whether this dispatches/spawns sub-agents, whether execution is synchronous or asynchronous, side effects, or what happens with the required prompt and agent_choice. 'Dispersion' hints at spawning work but is never explained.

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 short, but the second sentence is grammatically broken ('can either be use...') and redundant. It's front-loaded with the purpose but wastes its limited space on awkward phrasing rather than useful 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 an 8-parameter tool with a nested 'mcp' object, no output schema, and no annotations, the description is far too thin. It should explain the relationship between prompt and agent_choice, the role of context/knowledge/memory, and the dispersion behavior, but covers none of 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% across 8 parameters. The description only enumerates the four possible agent_choice values, leaving prompt, model, memory, context, task_id, knowledge, and mcp entirely undocumented. Enum-like values for agent_choice are hinted, but not as formal schema constraints, and 7 of 8 params get no help.

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 'Multi-agent task dispersion using agentic execution (plan agent)' and lists agent choice values, giving some sense of a planning/dispersion operation. However, 'task dispersion' is jargon that doesn't precisely define the action, and it's unclear how this differs from the many sibling agent tools (dispersl_code_agent, dispersl_testing_agent, etc.) or create_task.

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

Usage Guidelines2/5

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

The description says what agent choices exist ('code', 'test', 'git', 'docs') but gives no guidance on when to use this plan agent vs. the sibling per-domain agent tools or create_task. No prerequisites, no when-not-to-use, and no routing to alternatives.

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

dispersl_testing_agentC

Generate end to end tests based on a prompt using agentic execution

ParametersJSON Schema
NameRequiredDescriptionDefault
mcpNo
modelNo
promptYes
contextNo
task_idNo
knowledgeNo

TDQS

C2.6/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 fully disclose behavior. It mentions 'agentic execution' but doesn't explain what the agent does step-by-step, whether it writes files or returns code, permission requirements, or expected output.

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

Conciseness5/5

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

The description is a single, front-loaded sentence with zero waste. It is appropriately concise, though its brevity contributes to other gaps.

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 six parameters, nested objects, no annotations, and no output schema, the description is far too thin. It doesn't explain return values, how the agentic execution works, or how to use the optional parameters.

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 only references the 'prompt' parameter without adding meaning. The other five parameters (mcp, model, context, task_id, knowledge) 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 states a specific verb ('Generate') and resource ('end to end tests'), plus the condition 'based on a prompt'. It does not explicitly differentiate from sibling agent tools (e.g., dispersl_code_agent, dispersl_plan_agent), so it is clear but not fully sibling-aware.

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 when-to-use guidance or alternatives are provided. The purpose implies you'd use it for generating E2E tests, but it doesn't state prerequisites or contrast with other agent tools.

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

edit_stepC

Edit a step by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes

TDQS

C2.1/5.0
Behavior1/5

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

There are no annotations, so the description carries the full behavioral burden, and it discloses nothing: not whether the edit is partial or full replacement, whether it is reversible, what happens to unspecified fields, or whether the step must be in a particular state. "Edit" alone is a restatement of the tool name.

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?

A single four-word sentence with zero waste, but its brevity reflects under-specification rather than disciplined conciseness. Nothing useful is front-loaded because almost nothing is stated.

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 two-parameter mutation tool with no annotations, no output schema, and a fully opaque nested body object, the description supplies none of the information an agent would need to construct a valid call. It is completely inadequate given this schema's complexity.

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%, and the body parameter is an untyped object with no declared properties. The phrase "by ID" only clarifies that the string id identifies the target step; the body's contents, the single most important parameter, are entirely undocumented.

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?

"Edit a step by ID" names a specific verb (edit) and resource (step), which is enough to separate it from siblings like edit_task and get_step. However, it says nothing about what an edit consists of or what fields are mutable, so the purpose is only minimally specified.

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 gives no when-to-use guidance, no prerequisites, and does not distinguish this from create_task, cancel_step, or edit_task. The only implicit signal is that the step must already exist to be edited.

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

edit_taskC

Edit a task by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyYes

TDQS

C2.2/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full behavioral burden, and it discloses nothing about mutation semantics (full replace vs partial update), permissions/auth requirements, reversibility, or what happens to unspecified fields. For a write tool with an opaque, open-ended body object, this is a total gap.

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?

A single five-word, front-loaded phrase with no filler, so it is not verbose. But the brevity stems from under-specification rather than efficiency; it is too short to be useful for a mutation tool.

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 tool edits a nested, unconstrained body object with no annotations, no output schema, and 0% parameter documentation; the description supplies only the ID lookup. It is substantially incomplete for an agent to call this safely and 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 description coverage is 0% for both parameters. The phrase 'by ID' identifies the role of the id parameter, but the body object — defined only as an empty schema with additionalProperties: true — is completely unexplained, so the description fails to compensate for the coverage gap.

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?

It states a verb (edit) and a resource (task) with an ID qualifier, so the basic operation is identifiable. However, it adds nothing beyond what the name 'edit_task' already implies, and it gives no indication of scope or how it differs from siblings like edit_step or cancel_task.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no prerequisites, and no mention of alternatives such as edit_step or cancel_task. The agent must infer usage entirely from the tool name and schema.

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

fetch_api_rootB

Fetch API root (utility endpoint)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It implies a read operation but does not disclose authentication needs, rate limits, idempotency, or what the root endpoint 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 short phrase, front-loaded and free of filler. It is appropriately sized, though the parenthetical adds minimal 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?

Given that there are no annotations, no output schema, and many sibling endpoints, the description does not explain what the API root returns or why an agent should call it. It is too sparse to be fully complete for selection.

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, and the schema description coverage is 100%. Per the rubric, a zero-parameter tool has a baseline of 4 because there is no parameter semantics to clarify.

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

Purpose4/5

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

States a specific verb and resource: 'Fetch API root'. The parenthetical '(utility endpoint)' adds little distinguishing detail, and it does not differentiate this tool from siblings like health_check or get_usage_stats, so it falls short of a 5.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. It does not mention health_check, get_usage_stats, or any context in which fetching the API root is appropriate.

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

get_agent_statsC

Get agent query stats

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo

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 disclosure burden, and it delivers almost nothing. 'Get' weakly implies a read, but there is no statement about permissions, scope of agents covered, aggregation window, or return shape for what is clearly a stats-query tool.

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?

It is a single short sentence that is front-loaded, so it wastes no words, but the brevity comes from under-specification rather than efficiency. The one sentence does not earn its place by conveying anything an agent could act on.

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 an undocumented nested parameter, no annotations, no output schema, and several similar stats siblings, the description is far too thin. The agent has no basis to know what the tool returns or how it differs from get_usage_stats and get_language_stats.

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?

There is one parameter ('body') with 0% schema description coverage and a nested/additionalProperties structure, so the schema explains nothing. The description says nothing about what the body accepts (filters, time ranges, agent IDs), leaving the only input entirely undocumented.

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?

It has a verb ('Get') and a resource ('agent query stats'), so the purpose is discernible, but 'agent query stats' is vague — it names no scope, time range, or metric set, and does not distinguish itself from siblings like get_usage_stats or get_language_stats. An agent could not confidently choose it over those neighbors.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no exclusions, and no mention of the closely related get_usage_stats/get_language_stats siblings. The only implied usage is the generic 'if you want agent stats', which the agent must infer.

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

get_keysB

Get API keys for the authenticated user

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.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 carries the full disclosure burden. It does not state whether the returned keys are full secrets or masked, whether the operation is read-only, or what auth/scope is required beyond the generic phrase 'for the authenticated user'.

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

Conciseness5/5

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

A single short sentence that front-loads the verb and resource with no filler or redundancy.

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 zero-parameter read tool with no output schema, the description covers the basic purpose but omits return-value expectations (list vs. single key, masked vs. plaintext) and any safety context, which for a secrets-related tool is a meaningful gap.

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

Parameters4/5

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

The tool takes zero parameters, so there is no parameter semantics to document; the baseline for a no-parameter tool applies.

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

Purpose4/5

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

States a clear verb+resource: fetching API keys, scoped to the authenticated user. It is distinguishable from the sibling new_key (which presumably creates a key), though it does not explicitly name that alternative or clarify whether the result is one key or many.

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 explicit when-to-use guidance, no prerequisites, and no mention of the sibling new_key as the alternative for creating a key. Usage is only implied by the verb 'Get'.

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

get_language_statsC

Get language usage stats

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo

TDQS

C2.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It doesn't disclose whether this is a read-only aggregate, whether it requires auth, what time window it covers, or how expensive the call is. For a stats-query tool with zero annotation coverage, this is a notable gap.

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?

It's a single short sentence with no wasted clauses, so it's concise. But brevity here reflects under-specification rather than disciplined front-loading of meaningful 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 an undocumented nested body parameter, no annotations, and no output schema, the description should explain the input shape, the metric scope, and the return concept. None of that is present, so an agent lacks the information needed to call it 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% and the single 'body' parameter is a free-form object with additionalProperties: true and no documented fields. The description says nothing about what to pass in that body, leaving the parameter entirely opaque.

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

Purpose2/5

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

The description 'Get language usage stats' restates the tool name (get_language_stats) almost verbatim, making it a near-tautology. It doesn't specify what 'language' means here (programming language? natural language?), what 'stats' includes, or how it differs from nearby siblings like get_usage_stats or get_agent_stats.

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 the many sibling stat/history tools. Without any context or exclusions, an agent can't route reliably between get_language_stats, get_usage_stats, and get_agent_stats.

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

get_stepC

Get a step by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2.1/5.0
Behavior1/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure, and it delivers none. It does not say what happens if the ID is not found, whether the read is safe/idempotent, what fields are returned, or whether any permissions are needed.

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 phrase is short and front-loaded, but this is under-specification rather than conciseness. For a one-parameter tool a single sentence could suffice, yet this sentence is too thin to earn its place as the entire description.

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 simple single-parameter read tool with no output schema and no annotations, the description is nearly the only context available, and it omits error behavior, return shape, and the meaning of a 'step'. It is not complete enough for reliable 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 description coverage is 0%, so the description must compensate. It adds only the phrase 'by ID', implying the id parameter identifies a step, but gives no format, source, or example for the ID, leaving the single parameter largely unspecified.

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 verb ('Get') and resource ('step') plus a scope qualifier ('by ID'), but it largely restates the tool name. It hints at a single-resource retrieval (vs. the sibling get_steps), yet never explains what a 'step' is or how it differs from get_task/get_step_history beyond the name.

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 call this instead of get_steps (list), get_step_history (history), or edit_step. The agent must infer from the name alone, with no stated prerequisites or alternative conditions.

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

get_step_historyC

Get step history by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyNo

TDQS

C2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure, and it says nothing about read-only semantics, ordering, pagination, or retention of the 'history'. The word 'history' weakly implies a read of past records, but no concrete behavioral trait is disclosed.

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?

It is a single short phrase with zero redundancy and the identifier requirement is front-loaded. However, it is terse to the point of under-specification rather than being an appropriately sized description for a 2-parameter tool.

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 no annotations, no output schema, 0% parameter description coverage, and a nested 'body' object, the description is grossly incomplete. An agent has essentially no information beyond the name to invoke it 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 description coverage is 0%, so the schema documents neither parameter. The description only covers the required 'id' ('by ID') and is silent on the 'body' object parameter, which is a nested object needing explanation. With low coverage the description fails to compensate.

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

Purpose2/5

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

The description 'Get step history by ID' is essentially a verbatim restatement of the tool name get_step_history. It adds only the phrase 'by ID', which is a weak hint at the required parameter, and it does nothing to distinguish the tool from near-identical siblings such as get_step, get_steps, or get_task_history.

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 gives no guidance about when to use this tool versus the many related siblings. An agent cannot tell from the text whether step history differs from get_step or get_task_history, nor under what circumstances (audit, retries, debugging) it should be preferred.

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

get_stepsC

Get all steps

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.7/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 behavioral burden. 'Get all steps' implies a read, but nothing is said about pagination, return shape, ordering, or whether it is scoped to a task or global — all relevant for a listing endpoint.

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?

Three words is maximally concise and front-loaded, but the brevity is under-specification rather than efficiency — the sentence does not earn much because it conveys almost no distinguishing information.

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?

With no annotations, no output schema, and a vague name in a crowded sibling set (get_step, get_step_history, get_task_history), the description leaves the agent unable to tell what 'steps' are or when this is the right call. More context is clearly needed.

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

Parameters4/5

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

The tool takes zero parameters and schema coverage is 100%, so there is nothing for the description to disambiguate. Baseline 4 applies for a no-parameter tool.

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?

States a generic verb+resource (get steps), which is more than a tautology, but gives no scope — whose steps, for what task, in what container. It is indistinguishable from siblings like get_step_history, get_step, or get_task_history without opening schemas.

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 get_step, get_step_history, or the task-listing tools. The agent must infer intent from the name alone, and no conditions or prerequisites are stated.

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

get_taskC

Get a task by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. 'Get' implies a read operation, but there is no disclosure of auth requirements, error behavior for missing tasks, rate limits, or whether the returned task is a full representation.

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 short sentence with no filler and is front-loaded with the core action. It is terse to the point of under-specification, but its structure is efficient.

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?

There are no annotations and no output schema, so the description should carry more context about return values, errors, and usage. For a simple get-by-ID tool it is minimally usable, but it leaves important agent-facing details uncovered.

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% and there is one required parameter. The description only repeats that the lookup is 'by ID', which is already evident from the parameter name 'id'; it does not explain the ID format or where to obtain it.

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 and resource: 'Get a task'. It also specifies the lookup method 'by ID'. However, it does not distinguish this tool from close siblings like get_tasks or get_task_history.

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 explicit when-to-use guidance, no conditions for selecting this tool over get_tasks, and no mention of alternatives. The 'by ID' phrasing only weakly implies that the caller needs an ID.

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

get_task_historyC

Get task history by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYes
bodyNo

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 burden and it discloses almost nothing: no ordering, pagination, retention window, or what 'history' contains. The verb 'Get' weakly implies a read-only operation, but nothing is stated explicitly.

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?

A single front-loaded sentence with no filler, which is structurally clean. However, the brevity here reflects under-specification rather than efficient communication, since key information is simply absent.

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?

With no annotations, no output schema, 0% parameter coverage, and a nested object parameter, the description should do far more work than one phrase. It omits the meaning of 'body' and gives no hint of what the returned history looks like.

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% and there are two parameters. 'By ID' loosely maps to the required id parameter but adds no format or constraint detail, and the free-form 'body' object parameter — unusual for a history read — is completely unexplained in both schema and description.

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?

States a verb (Get) and a resource (task history), so the nominal purpose is legible. But it gives no differentiation from close siblings like get_task, get_steps, or get_step_history, and 'history' is undefined (audit log? status changes? retries? output?). Adequate but not distinguishing.

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 indication of when this tool is appropriate versus get_task or get_step_history. The only implied context is that you supply a task ID, which an agent could infer from the schema alone.

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

get_tasksC

Get all tasks

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure, and it discloses almost nothing. It does not state that the operation is read-only, whether results are paginated or complete, what the return shape is, or any auth/permission requirements.

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 single short phrase is front-loaded and contains no filler, but its brevity reflects under-specification rather than disciplined conciseness. There is no wasted text, yet also no information that 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?

With no annotations, no output schema, and no parameters, the description is the only source of behavioral information, and it says nothing about result set size, ordering, or pagination. For a list-everything tool this leaves real gaps an agent would need to fill.

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

Parameters4/5

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

The tool takes zero parameters and the schema is a closed empty object, so there is no parameter semantics to add. Per the baseline for 0-param tools, a 4 is appropriate.

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?

States a verb and resource ('Get all tasks'), and the word 'all' loosely distinguishes it from the singular get_task sibling. However, it gives no scope, filter, or return-shape detail and does nothing to separate itself from get_task_history or get_steps, so it is only minimally informative.

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 get_task, get_task_history, or get_steps, nor any prerequisites or exclusions. The agent must infer usage entirely from the name.

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

get_usage_statsD

Get usage stats

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyNo

TDQS

D1.3/5.0
Behavior1/5

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

No annotations are supplied, so the description carries the full behavioral burden, and it discloses nothing: no auth requirements, no pagination, no rate limits, no return shape. A read of "stats" is implied only by the name.

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 text is brief, but brevity here is under-specification rather than conciseness — there is no front-loaded scope, qualifier, or actionable detail in the single fragment.

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 an opaque nested body object, no annotations, and no output schema, the description should define scope, required payload, and response expectations. None of that is present, so an agent has no basis 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?

There is one parameter, an empty-bodied 'body' object with additionalProperties=true and 0% schema description coverage. The description provides no field names, formats, or filtering semantics to compensate, leaving the agent with nothing to construct a call from.

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

Purpose2/5

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

"Get usage stats" merely restates the tool name; it names no specific resource scope, metric type, or time window. With siblings like get_language_stats and get_agent_stats in the same family, an agent cannot tell what dimension of usage this tool covers. It is effectively a tautology.

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

Usage Guidelines1/5

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

No when-to-use, when-not-to-use, or alternative routing is provided. The agent gets no signal to distinguish this from get_language_stats, get_agent_stats, or any of the history tools.

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

health_checkC

Health check endpoint

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.4/5.0
Behavior2/5

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

No annotations are supplied, so the description carries the full behavioral burden. It says nothing about whether the check is read-only, authenticated, latency-sensitive, or what it returns on failure, leaving the agent to assume safety.

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?

Three words with zero waste, but also zero substance. It is appropriately terse for a parameterless probe yet earns no additional place by conveying nothing beyond the name.

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 probe tool with no annotations and no output schema, the description should at least signal the expected response (e.g., status/readiness) and that the call is safe and cheap. That context is entirely absent.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to disambiguate. Baseline 4 applies; no parameter-level gap exists.

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

Purpose2/5

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

The phrase 'Health check endpoint' essentially restates the tool name health_check without adding a verb-resource distinction or any scope detail. It tells the agent this is a health probe but nothing about what is checked or what the result means.

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 indication of when to call this versus the other 24 sibling tools (task/step management, stats, agents, sessions, keys, models). No prerequisites, timing, or context is given.

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

list_modelsC

List available models

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It implies a read-only enumeration but does not state whether results are paginated, complete, cached, or scoped to an account/workspace. That is a meaningful gap for a tool whose only behavior is its return.

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

Conciseness4/5

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

A single, front-loaded sentence with zero waste. It is appropriately sized for a zero-argument tool, though it is terse to the point of leaving the resource underspecified.

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 zero-param, no-output-schema tool the description is only minimally sufficient. It omits what 'models' refers to and what the returned list contains, leaving the agent to guess the domain. Adequate but with a clear gap.

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

Parameters4/5

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

The tool takes zero parameters, so there is nothing for the description to explain and the baseline of 4 applies. The description adds no parameter information because none is needed.

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 clear verb ('List') and resource ('models'), so the basic operation is unambiguous. However, 'models' is undefined in context — the sibling set is dominated by task/step/agent/key tools, and it is unclear whether these are LLM models, agent models, or something else. No sibling differentiation is provided because none of the listed siblings obviously overlap, but the resource itself remains ambiguous.

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 call this tool or what it should be used for. With no parameters and no stated context, an agent has to infer the purpose entirely. No alternatives or preconditions are mentioned.

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

new_keyB

Generate new API key

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not say whether the generated key is returned once and never again, whether it replaces or coexists with existing keys, what permissions/scopes it grants, or what auth is required to call it — all critical for a credential-minting operation.

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

Conciseness4/5

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

A single short sentence with the key concept front-loaded; nothing is redundant. It is telegraphic rather than wasteful, though the terseness contributes to the gaps elsewhere.

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?

With no annotations and no output schema, the description is the only source of behavioral information, and it says nothing about the return value (presumably the key material), its lifetime, or scope. For a security-sensitive creation tool, this leaves the agent materially under-informed.

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

Parameters4/5

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

The tool takes zero parameters, so the baseline of 4 applies. There is nothing for the description to clarify about inputs.

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

Purpose4/5

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

States a specific verb and resource: 'Generate new API key'. An agent can tell it creates a credential rather than listing them, but the description offers no differentiation from the sibling get_keys, which is the natural alternative an agent would weigh.

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 when-to-use guidance and no mention of alternatives such as get_keys or how this relates to existing keys. The agent must infer from the name alone when this mutation is appropriate.

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

remove_mcp_serverC

Disconnect from an MCP server and remove from config

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes

TDQS

C2.9/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, and it does disclose the important compound effect that the server is both disconnected at runtime and deleted from config (i.e., a persistent, likely irreversible mutation). However, it says nothing about required permissions, whether the config change is recoverable, or what happens to in-flight sessions on that server.

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

Conciseness4/5

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

A single short sentence with no filler, and the destructive effect ('remove from config') is placed at the end where it still lands. It is efficient, though arguably terse to the point of omitting necessary detail rather than being elegantly 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 destructive mutation tool with no annotations and no output schema, the description is underspecified: no permission or precondition requirements, no irreversibility warning, and no error behavior for a name that isn't configured.

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% for the single required 'name' parameter, so the description must compensate and does not. It refers only to 'an MCP server' without clarifying that name is the server identifier, whether it must match a configured server exactly, or what an unknown name does.

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

Purpose4/5

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

States a specific compound action (disconnect + remove from config) on a specific resource type (MCP server). It is clearly the inverse of the sibling add_mcp_server, though the description never names that sibling explicitly to reinforce the contrast.

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 when-to-use guidance, no prerequisites, and no indication of when removal is warranted versus simply leaving a server disconnected. An agent must infer everything from the verb alone.

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

start_sessionC

Start a new agentic session

ParametersJSON Schema
NameRequiredDescriptionDefault
session_idNo

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 burden. It does not disclose side effects, whether the session is persisted server-side, what happens if session_id is omitted, or whether the operation is reversible/consumable.

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?

A single front-loaded sentence with no filler, which is structurally clean. But the terseness comes at the cost of under-specification rather than true efficiency, so it is only adequate.

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 mutating creation tool with no annotations, no output schema, and an undocumented parameter, the description leaves too much unspecified: no session lifecycle, no ID semantics, no relation to sibling task/agent tools.

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% for the single parameter. The description says nothing about session_id — whether it is optional, auto-generated, or must be a client-chosen identifier — so it fails to compensate for the schema gap.

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 and resource ('Start a new agentic session'), which is better than a tautology. However, it never clarifies what a 'session' is relative to the many session-like siblings (create_task, get_tasks, dispersl_*_agent), so an agent cannot easily distinguish it from related creation tools.

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 start a session, what preconditions exist, or how it relates to create_task / dispersl_*_agent alternatives. The agent must infer all of this from the name alone.

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. 28 tool updatesv0.1.1
    • First observedadd_mcp_server
    • First observedcancel_step
    • First observedcancel_task
    • First observedcreate_task
    • First observeddispersl_chat_agent
    • First observeddispersl_code_agent
    • First observeddispersl_git_agent
    • First observeddispersl_new_docs_agent
    • First observeddispersl_plan_agent
    • First observeddispersl_testing_agent
    • First observededit_step
    • First observededit_task
    • First observedfetch_api_root
    • First observedget_agent_stats
    • First observedget_keys
    • First observedget_language_stats
    • First observedget_step
    • First observedget_step_history
    • First observedget_steps
    • First observedget_task
    • First observedget_task_history
    • First observedget_tasks
    • First observedget_usage_stats
    • First observedhealth_check
    • First observedlist_models
    • First observednew_key
    • First observedremove_mcp_server
    • First observedstart_session

TDQS

C2.4/5.0

Scored across 28 tools

Disambiguation4/5

Most tools target distinct resources and actions, especially task/step CRUD, stats, and specialized agents. Minor ambiguity exists between the plan agent and specialized agents, and history/current getters require attention to descriptions.

Naming Consistency4/5

The set uses consistent snake_case and mostly follows a verb_noun pattern. Minor deviations like new_key vs create_task, fetch_api_root, and the dispersl_* agent prefixes are readable but not perfectly uniform.

Tool Count2/5

28 tools is heavy for a single MCP server, spanning tasks, steps, stats, agents, sessions, MCP configuration, models, and API keys. While many are distinct, the surface is large enough that consolidation or clearer grouping would improve usability.

Completeness3/5

Core task, step, agent, and key operations are present, but lifecycle coverage has notable gaps. There is no create_step, no delete/revoke for tasks, steps, or keys, no list MCP servers, and no session termination.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers