Skip to main content
Glama
HefnySco
by HefnySco

โšก Task Orchestrator MCP Server

Version: 4.6.0

Task Orchestrator MCP is a powerful task orchestration server designed specifically to enhance LLM agents. It provides structured task management, dependency tracking, and workflow execution โ€” turning chaotic, non-deterministic LLM tool calls into reliable, sequential, and parallel-capable processes.

Whether you're building complex multi-step features, deployment pipelines, or long-running agent workflows, this server gives the LLM a cognitive scaffold to think and act more effectively.

โœจ Why This Matters for LLMs

LLMs excel at generating ideas but often struggle with:

  • Maintaining consistent order across tool calls

  • Remembering dependencies between steps

  • Managing long-running, stateful processes

  • Avoiding duplicate or out-of-order actions

Task Orchestrator solves these problems by acting as an external executive function:

  • Declares tasks with clear dependencies

  • Automatically handles execution order

  • Supports hierarchical subtasks (parent/child)

  • Provides persistent state across conversations

  • Enables safe parallel execution of independent tasks

Related MCP server: Agent Board

๐Ÿš€ Key Features

  • ๐Ÿ“‹ Task Management โ€” Create, update, track tasks with rich metadata, priority, and order

  • ๐Ÿ”— Rich Dependencies โ€” Unified dependency model with types (hard/soft/conditional/external), failure policies, and metadata

  • ๐Ÿ—๏ธ Hierarchical Support โ€” Parent tasks with subtasks (LLM-friendly hierarchy)

  • ๐ŸŽฏ Workflow Orchestration โ€” Group tasks into named workflows with automatic progression

  • โฑ๏ธ Execution Tracking โ€” Start/complete times, durations, retries

  • ๐Ÿ’พ Persistent Storage โ€” JSON or SQLite backend

  • ๐Ÿงน Cleanup Tools โ€” Handle orphaned, duplicate, or stale tasks (common with LLM usage)

  • ๐Ÿ“Š Introspection Tools โ€” Dependency graphs, Mermaid export, blocked tasks, critical path analysis

  • ๐Ÿ”ง Dynamic Management โ€” Add, remove, update dependencies, move tasks at runtime

  • ๐Ÿ“ˆ Statistics & Logging โ€” Full visibility into agent activity

1. Use Workflows for Feature Work

{
  "name": "dashboard-feature-2024",
  "taskIds": ["parent-id", "subtask-1-id", ...]
}

2. Create Parent โ†’ Subtasks Pattern

  1. Create the parent task first

  2. Use the returned ID as parentTaskId for children

  3. Subtasks can start immediately (no blocking on parent in_progress)

  4. Parent completes when subtasks are done

3. Let the Orchestrator Handle Order

You no longer need perfect sequencing โ€” declare dependencies and let the server guide execution.

Grok's Opinion

This is an excellent idea.

As an LLM myself, I can say with confidence that tools like Task Orchestrator are transformative. They address one of the fundamental limitations of current-generation models: the gap between creative reasoning and reliable execution.

By externalizing task state, dependency graphs, and execution flow, this server allows the LLM to focus on what it does best โ€” problem decomposition, creative solutions, and high-level planning โ€” while the orchestrator enforces correctness, persistence, and progress tracking.

It effectively turns a single LLM call into a persistent, stateful agent capable of long-horizon work. I believe systems like this will become standard infrastructure for advanced AI agents. The combination of hierarchical tasks, workflows, and cleanup tools makes it particularly robust for real-world LLM usage patterns.

Highly recommended. This is exactly the kind of tool that bridges the gap between "smart chatbot" and "reliable autonomous agent."

โ€” Grok

Quick Start Example

// 1. Create parent
{ "name": "Build User Dashboard" }

// 2. Create subtasks using parent's ID
{ "name": "Design Dashboard Layout", "parentTaskId": "a0669b20-..." }

// 3. Start the workflow with start_workflow_execution (tasks are automatically marked in progress when ready)
// 4. Work on ready tasks using complete_task / fail_task

๏ฟฝ Installation & Deployment

npm install -g agent_mcp_task_orchestrator

Then configure in your MCP client config:

{
  "mcpServers": {
    "task-orchestrator": {
      "command": "agent_mcp_task_orchestrator"
    }
  }
}

Note: Storage automatically uses ~/.task-orchestrator/storage/ directory. No configuration needed.

Option 2: Install from GitHub

git clone https://github.com/HefnySco/agent_mcp_task_orchestrator.git
cd agent_mcp_task_orchestrator
npm install
npm run build

Then configure with the local path:

{
  "mcpServers": {
    "task-orchestrator": {
      "command": "node",
      "args": ["/path/to/agent_mcp_task_orchestrator/dist/index.js"]
    }
  }
}

Note: Storage automatically uses ~/.task-orchestrator/storage/ directory. No configuration needed.

Environment Variables (Optional)

  • TASK_ORCHESTRATOR_STORAGE_BACKEND: Storage backend type (json or sqlite, default: json)

  • TASK_ORCHESTRATOR_LOG: Enable file logging for tool requests and LLM responses (true to enable, default: disabled)

  • TASK_ORCHESTRATOR_OUTPUT_DIR: Custom directory for activity logs (default: ~/.task-orchestrator/output, only used when TASK_ORCHESTRATOR_LOG=true)

Publishing to npm

For maintainers:

# Build and publish
npm run build
npm publish

The prepublishOnly script automatically builds before publishing.

๐ŸŒŠ Windsurf Integration

To use Task Orchestrator MCP with Windsurf (Cascade):

  1. Install globally:

npm install -g agent_mcp_task_orchestrator
  1. Add to Windsurf MCP config: Edit ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "task-orchestrator": {
      "command": "agent_mcp_task_orchestrator"
    }
  }
}
  1. Restart Windsurf to pick up the new MCP server configuration.

Note: Storage automatically uses ~/.task-orchestrator/storage/ directory. No additional configuration needed.

๏ฟฝ๏ฟฝ๏ธ Available Tools

Task Management

create_tasks

Create one or more tasks with optional dependencies and parent tasks.

Parameters:

  • tasks (required): Array of task objects, each with:

    • name (required): The name of the task

    • description (optional): Description of the task

    • dependencies (optional): Array of dependencies (string shorthand or RichDependency objects)

      • String shorthand: Task ID, positional reference (task-1, task-2...), or task name

      • RichDependency object: Full dependency with type, onFailure, condition, url, timeoutMs, metadata

    • priority (optional): Task priority (higher = more important, affects execution order)

    • order (optional): Order among siblings (for parent-child relationships)

    • parentTaskId (optional): Parent task ID for creating subtasks. CRITICAL: Must be an actual existing task ID, NOT a positional reference. Create the parent task first, get its ID from the response, then use that ID here.

    • metadata (optional): Additional metadata for the task

    • maxRetries (optional): Maximum number of retry attempts for this task

    • deduplication (optional): How to handle duplicate tasks (skip, reuse, error, none)

Important Notes:

  • Positional references (task-1, task-2, etc.) ONLY work for dependencies within the same batch

  • For parentTaskId, you MUST use actual existing task IDs - create the parent task first, get its ID from the response, then create subtasks using that ID

  • Do not use positional references for parentTaskId

  • Dependencies support rich types: hard (default), soft, conditional, external

update_task

Update an existing task.

Parameters:

  • id (required): The ID of the task to update

  • name (optional): New name for the task

  • description (optional): New description

  • dependencies (optional): New dependencies (string shorthand or RichDependency objects)

  • priority (optional): Task priority (higher = more important)

  • order (optional): Order among siblings

  • metadata (optional): New metadata

delete_task

Delete a task by ID.

Parameters:

  • id (required): The ID of the task to delete

get_task

Get a specific task by ID.

Parameters:

  • id (required): The ID of the task to retrieve

list_tasks

List all tasks or filter by status.

Parameters:

  • status (optional): Filter by status ('pending', 'in_progress', 'completed', 'failed')

Task Execution

complete_task

Mark a task as completed and optionally provide a result. This is the main tool to use when you finish working on a task.

Parameters:

  • id (required): The ID of the task to complete

  • result (optional): The result of the task execution

fail_task

Mark a task as failed with an error message.

Parameters:

  • id (required): The ID of the task to fail

  • error (required): The error message

start_task

Mark a task as in progress. Use this only when working with standalone tasks outside of workflows.

Parameters:

  • id (required): The ID of the task to start

reset_task

Reset a task back to pending status.

Parameters:

  • id (required): The ID of the task to reset

retry_task

Retry a failed task, incrementing retry count.

Parameters:

  • id (required): The ID of the task to retry

Note: Task will only be retried if it hasn't exceeded its maxRetries limit.

Dependency Management

add_dependency

Add a dependency to a task. Supports both string shorthand and RichDependency objects.

Parameters:

  • taskId (required): The ID of the task to add dependency to

  • dependency (required): Dependency to add (string shorthand or RichDependency object)

remove_dependency

Remove a dependency from a task.

Parameters:

  • taskId (required): The ID of the task to remove dependency from

  • depTaskId (required): The dependency task ID to remove

update_dependency

Update an existing dependency on a task.

Parameters:

  • taskId (required): The ID of the task to update dependency for

  • depTaskId (required): The dependency task ID to update

  • updates (optional): Partial updates to apply (type, onFailure, condition, url, timeoutMs, metadata)

move_task

Move a task to a new parent or change its order among siblings.

Parameters:

  • taskId (required): The ID of the task to move

  • newParentTaskId (optional): New parent task ID (null to remove parent)

  • position (optional): Order position among siblings

get_next_tasks

Get tasks that are ready to execute (all dependencies completed).

can_execute

Check if a task can be executed based on its dependencies.

Parameters:

  • id (required): The ID of the task to check

Workflow Management

create_workflow

Create a workflow (group of tasks in sequence).

Parameters:

  • name (required): The name of the workflow

  • taskIds (required): Array of task IDs in the workflow

get_workflow

Get a workflow by ID.

Parameters:

  • id (required): The ID of the workflow to retrieve

list_workflows

List all workflows.

delete_workflow

Delete a workflow by ID.

Parameters:

  • id (required): The ID of the workflow to delete

Workflow Execution

start_workflow_execution

Start execution of a workflow, creating a workflow run.

Parameters:

  • workflowId (required): The ID of the workflow to execute

advance_workflow_run

Advance a workflow run to the next task.

Parameters:

  • runId (required): The ID of the workflow run to advance

get_workflow_run

Get a workflow run by ID.

Parameters:

  • runId (required): The ID of the workflow run to retrieve

list_workflow_runs

List all workflow runs.

get_next_workflow_tasks

Get tasks that are ready to execute within a specific workflow (dependency-aware).

Parameters:

  • workflowId (required): The ID of the workflow to get ready tasks for

Introspection Tools

get_dependency_graph

Get the dependency graph for a workflow. Returns nodes (tasks) and edges (dependencies).

Parameters:

  • workflowId (optional): Workflow ID to filter by

export_mermaid

Export the dependency graph as a Mermaid flowchart diagram. This tool generates an image that is displayed in the LLM chat agent.

Parameters:

  • workflowId (optional): Workflow ID to filter by

  • format (optional): Output format - mmd (text), png (image), or svg (vector). Default: mmd

When to Use:

  • After creating or significantly changing a workflow with multiple tasks and dependencies

  • When the task structure is getting complex or hard to track

  • When the user asks to show the workflow or "visualize the tasks"

  • Before making major structural changes (to understand the current state)

  • When reviewing the critical path or blocked tasks visually

Best Practices:

  • Use format: "png" in most cases for the best visual experience in the LLM chat

  • Proactively export as image when the workflow becomes non-trivial (more than 5-6 tasks or has several dependencies)

  • Do not ask the user "do you want me to export the graph?" โ€” just do it when it adds value

  • If the user says "show me the workflow", "visualize the tasks", "export as image", or "show the graph" โ†’ immediately call export_mermaid with format: "png"

  • After exporting the image, provide a short textual summary of the current state if helpful

Example:

{
  "workflowId": "workflow-123",
  "format": "png"
}

get_blocked_tasks

Get blocked tasks with their blocking dependencies.

Parameters:

  • workflowId (optional): Workflow ID to filter by

get_critical_path

Get the critical path for a workflow (longest path of dependencies).

Parameters:

  • workflowId (required): Workflow ID to analyze

Workflow Bundle Export/Import

export_workflow_bundle

Export a workflow as a portable JSON bundle containing the workflow, all related tasks (including subtasks), dependencies, and metadata. The bundle can be saved and imported in a new session to recreate the workflow structure.

Parameters:

  • workflowId (required): The ID of the workflow to export

  • includeRuns (optional): Whether to include workflow run history (default: false)

  • humanReadableOnly (optional): Export simplified human-readable view (default: false)

Returns:

  • A JSON bundle containing:

    • workflow: Workflow metadata (name, taskIds, version, tags, templateDescription)

    • tasks: Array of all tasks in the workflow (including subtasks)

    • version: Bundle version string

    • exportedAt: ISO timestamp when bundle was exported

    • templateName: Original workflow name

    • tags: Optional tags from the workflow

    • nameToIdMap: Maps qualified names to task IDs for human-readable references

    • idToNameMap: Maps task IDs to qualified names for reverse lookup

    • humanReadableOnly: Flag indicating simplified view

Name Enrichment: The bundle includes hierarchical qualified names for tasks (e.g., "ParentTask/ChildTask") to make the exported bundle more readable while preserving all original IDs for traceability. Each task also includes a qualifiedName field in its metadata.

Usage Example:

{
  "workflowId": "workflow-123"
}

Example Bundle with Name Enrichment:

{
  "workflow": {
    "name": "CI Pipeline",
    "taskIds": ["task-1", "task-2"],
    "version": "1.0.0",
    "tags": ["ci", "production"]
  },
  "tasks": [
    {
      "id": "task-1",
      "name": "Build",
      "metadata": {
        "qualifiedName": "Build"
      },
      "dependencies": []
    },
    {
      "id": "task-2",
      "name": "Test",
      "parentTaskId": "task-1",
      "metadata": {
        "qualifiedName": "Build/Test"
      },
      "dependencies": ["task-1"]
    }
  ],
  "version": "1.0.0",
  "exportedAt": "2024-01-01T00:00:00.000Z",
  "templateName": "CI Pipeline",
  "nameToIdMap": {
    "Build": "task-1",
    "Build/Test": "task-2"
  },
  "idToNameMap": {
    "task-1": "Build",
    "task-2": "Build/Test"
  }
}

Best Practices:

  • Export workflows as templates for reuse across projects

  • Save bundles to version control for workflow documentation

  • Use tags to categorize workflow templates

  • Export before major refactoring to preserve workflow structure

  • Use qualified names in nameToIdMap for human-readable task references

  • The bundle is fully importable with all original IDs preserved

import_workflow_bundle

Import a workflow bundle to create a new workflow. The bundle should be a JSON object containing workflow, tasks, and metadata. All task IDs are remapped during import to avoid conflicts. Supports name prefixing, deduplication strategies, and name-based resolution.

Parameters:

  • bundle (required): The workflow bundle to import (JSON object with workflow, tasks, version, exportedAt, etc.)

  • namePrefix (optional): Prefix to add to all task and workflow names (useful for avoiding name conflicts)

  • deduplication (optional): Deduplication strategy for imported tasks (skip, reuse, error, none; default: none)

  • nameRemapping (optional): Map of original task IDs to new task names for custom renaming during import

Returns:

  • newWorkflowId: ID of the newly created workflow

  • taskIdMap: Mapping from original task IDs to new task IDs

  • Workflow name and task count

Name-Based Resolution: The import process supports both task IDs and qualified names in dependency references. If the bundle includes nameToIdMap, you can reference tasks by their hierarchical names (e.g., "ParentTask/ChildTask") instead of IDs. This makes manual bundle editing and customization easier.

Usage Example:

{
  "bundle": {
    "workflow": {
      "id": "original-workflow-id",
      "name": "CI Pipeline",
      "taskIds": ["task-1", "task-2"],
      "createdAt": "2024-01-01T00:00:00.000Z",
      "updatedAt": "2024-01-01T00:00:00.000Z",
      "version": "1.0.0",
      "tags": ["ci", "production"],
      "templateDescription": "Standard CI/CD pipeline"
    },
    "tasks": [
      {
        "id": "task-1",
        "name": "Build",
        "status": "pending",
        "dependencies": [],
        "createdAt": "2024-01-01T00:00:00.000Z",
        "updatedAt": "2024-01-01T00:00:00.000Z"
      }
    ],
    "version": "1.0.0",
    "exportedAt": "2024-01-01T00:00:00.000Z",
    "templateName": "CI Pipeline",
    "tags": ["ci", "production"],
    "nameToIdMap": {
      "Build": "task-1"
    }
  },
  "namePrefix": "Project A - ",
  "deduplication": "none",
  "nameRemapping": {
    "task-1": "Custom Build Name"
  }
}

Best Practices:

  • Use namePrefix when importing the same template multiple times to avoid name conflicts

  • Use deduplication: "skip" to avoid creating duplicate tasks if similar tasks already exist

  • Use nameRemapping to customize task names during import for specific project needs

  • Review the taskIdMap to understand how IDs were remapped

  • After import, use start_workflow_execution to begin executing the imported workflow

  • Save bundle files in a templates directory for easy reuse

  • The import process is backward compatible with bundles that don't include name maps

Workflow Template Lifecycle:

  1. Export a working workflow as a template using export_workflow_bundle

  2. Save the bundle JSON to a file or version control

  3. Import the bundle in a new session using import_workflow_bundle

  4. Customize with namePrefix and appropriate deduplication strategy

  5. Execute the imported workflow using start_workflow_execution

Common Use Cases:

  • Workflow Templates: Create reusable workflow patterns (CI/CD, deployment, testing)

  • Cross-Project Sharing: Share workflows between different projects or teams

  • Backup/Restore: Save workflow state before major changes

  • Documentation: Use bundles as documentation of workflow structure

  • Testing: Import test workflows in isolated environments

System

get_stats

Get statistics about tasks and workflows.

clear_all

Clear all tasks and workflows.

save_state

Manually save the current state to storage.

get_version

Get the version information of this task orchestrator MCP server.

๐Ÿ“– Usage Example

Creating a Sequential Task Chain

  1. Create initial tasks with no dependencies:

{
  "name": "Install dependencies"
}
  1. Create dependent tasks using RichDependency:

{
  "name": "Run tests",
  "dependencies": ["task_1234567890_abc"]
}

Or with rich dependency object:

{
  "name": "Run tests",
  "dependencies": [
    {
      "taskId": "task_1234567890_abc",
      "type": "hard",
      "onFailure": "block"
    }
  ]
}
  1. Check which tasks can be executed: (Use get_next_tasks tool)

  2. Complete a task using complete_task:

{
  "id": "task_1234567890_abc",
  "result": {
    "status": "success",
    "duration": "30s"
  }
}
  1. Check if dependent task can now be executed: (Use can_execute tool)

Creating a Workflow

  1. Create multiple tasks with dependencies as needed

  2. Create a workflow:

{
  "name": "CI Pipeline",
  "taskIds": ["task_1_id", "task_2_id", "task_3_id"]
}

Dependency-Aware Workflow Orchestration

The agent_mcp_task_orchestrator supports true dependency-aware workflow execution that respects the full task dependency graph (not just linear execution). This enables parallel execution of independent tasks within a workflow.

Key Benefits

  • ๐Ÿš€ Parallel Execution - Independent tasks can run simultaneously (e.g., frontend and backend builds)

  • ๐Ÿ”— Dependency Graph - Full DAG support, not just linear sequences

  • โญ๏ธ Automatic Progression - System automatically finds newly unlocked tasks after dependencies complete

  • ๐Ÿ“Š State Tracking - Workflow runs track completed, active, and blocked tasks

  • ๐Ÿ›ก๏ธ Error Handling - Failed tasks with retry limits are handled gracefully

  • ๐Ÿค– Agent-Friendly - Clear responses showing exactly what tasks to work on next

  • โœ… Backward Compatible - Existing linear workflows continue to work seamlessly

๐Ÿ“ Logging

File logging is disabled by default. To enable logging of tool calls and LLM responses, set the TASK_ORCHESTRATOR_LOG=true environment variable.

When enabled, logs are written to the output directory (default: ~/.task-orchestrator/output/) and organized by date:

output/
โ”œโ”€โ”€ task-orchestrator-log-2024-06-22.json
โ”œโ”€โ”€ task-orchestrator-log-2024-06-23.json
โ””โ”€โ”€ ...

Enable logging:

TASK_ORCHESTRATOR_LOG=true node dist/index.js

Or in your MCP client config:

{
  "mcpServers": {
    "task-orchestrator": {
      "command": "node",
      "args": ["/path/to/dist/index.js"],
      "env": {
        "TASK_ORCHESTRATOR_LOG": "true"
      }
    }
  }
}

Log Entry Types

Tool Request Logs (automatically logged):

  • timestamp: When the tool was called

  • type: "tool_request"

  • tool: Name of the tool

  • arguments: Arguments passed to the tool

  • result: Result returned by the tool

LLM Response Logs (for debugging LLM โ†’ Agent interactions):

  • timestamp: When the LLM response was logged

  • type: "llm_response"

  • content: Full text from LLM that suggested tool calls

  • toolCalls: Array of tool calls suggested by the LLM

  • relatedTools: List of tool names extracted from tool calls

Logging LLM Responses for Debugging

To trace exactly what the LLM suggested that caused tool calls (e.g., duplicate task creation), external code that receives LLM output should call server.logLLMResponse() before tool execution:

import { TaskOrchestratorMCPServer } from './index.js';

const server = new TaskOrchestratorMCPServer();

// When you receive an LLM response with tool calls
const llmMessage = "I'll create tasks for the feature implementation...";
const toolCalls = [
  {
    function: {
      name: "create_tasks",
      arguments: { tasks: [...] }
    }
  }
];

// Log the LLM response before executing tools
await server.logLLMResponse(
  llmMessage,
  toolCalls
);

// Then proceed with tool execution...

This helps debug issues like duplicate task creation by providing a complete trace of the LLM's decision-making process.

๐Ÿ› ๏ธ Development

# Build
npm run build

# Watch mode
npm run dev

# Start server
npm start

๐Ÿ’พ Storage

Tasks and workflows are stored in a JSON file at the path specified by SEQUENTIAL_STORAGE_PATH. The file contains:

{
  "tasks": {
    "task_id": {
      "id": "task_id",
      "name": "Task name",
      "description": "Task description",
      "status": "pending",
      "dependencies": [],
      "createdAt": "2024-06-22T10:00:00.000Z",
      "updatedAt": "2024-06-22T10:00:00.000Z",
      "result": null,
      "error": null,
      "metadata": {}
    }
  },
  "workflows": {
    "workflow_id": ["task_id_1", "task_id_2"]
  }
}

๐Ÿ“„ License

MIT

Available Tools

27 tools
advance_workflow_runA

Advance a workflow run by finding newly unlocked tasks after tasks are completed/failed. Returns detailed information including completed tasks, failed tasks, newly ready tasks, blocked tasks, workflow status, and a human-readable summary. Supports smart failure handling that only fails the workflow when no paths forward remain (unless continueOnFailure is enabled).

ParametersJSON Schema
NameRequiredDescriptionDefault
runIdYesThe ID of the workflow run to advance

TDQS

A3.9/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It discloses smart failure handling, return details, and the condition for failure (unless continueOnFailure enabled). Missing side effects and idempotency, but generally good.

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

Conciseness4/5

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

Two sentences, front-loaded with purpose and trigger, followed by behavioral details. Efficient and no filler, though the list of return fields could be trimmed.

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

Completeness4/5

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

Given one parameter, no output schema, and no annotations, the description covers core behavior and return info. Lacks error handling and idempotency details, but sufficient for this complexity.

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

Parameters3/5

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

Schema provides 100% coverage for the single parameter (runId). The description adds no extra meaning beyond the schema's description, meeting baseline.

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

Purpose5/5

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

The description clearly states the tool advances a workflow run after tasks are completed/failed, with a specific verb and resource. It distinguishes from siblings like get_next_tasks by emphasizing the advancement action and returning a comprehensive status.

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

Usage Guidelines3/5

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

Implies usage after tasks complete/fail, but lacks explicit guidance on when not to use or alternatives. No comparison to sibling tools like get_next_tasks or get_next_workflow_tasks.

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

can_executeB

Check if a task can be executed based on its dependencies

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the task to check

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided; description does not disclose return type, side effects, or safety profile (e.g., read-only check). Minimal transparency beyond purpose.

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

Conciseness5/5

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

Single sentence, front-loaded, no redundant 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?

Tool has no output schema and no annotations; description does not mention return value, error cases, or when to use. Incomplete for a check tool.

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

Parameters3/5

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

Schema coverage is 100% with parameter documented; description adds no additional meaning to parameter beyond schema baseline.

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

Purpose5/5

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

Description uses specific verb 'check' and resource 'task can be executed', clearly distinguishing from siblings like execute_task or get_next_tasks.

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

Usage Guidelines3/5

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

Implied usage (check before execution) but no explicit when-to-use or alternatives; lacks exclusions.

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

cleanup_workflow_runsB

Clean up old workflow runs based on age or count

ParametersJSON Schema
NameRequiredDescriptionDefault
maxAgeMsNoMaximum age in milliseconds for workflow runs to keep (optional)
maxCountNoMaximum number of workflow runs to keep (optional, keeps most recent)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so description must carry full burden. However, it only states the criteria and omits crucial behavioral details: whether cleanup is destructive/irreversible, requires permissions, runs synchronously, or what happens to associated data.

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

Conciseness4/5

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

Extremely concise single sentence with no fluff. However, under-specification means it's missing essential information, which reduces effectiveness.

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 likely side effects, the description lacks completeness. No mention of return values, success/failure indications, or whether operation is reversible. Siblings like delete_workflow may also need disambiguation.

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

Parameters3/5

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

Schema has 100% coverage with descriptions for both parameters. Description adds no new meaning beyond summarizing the schema, but matches well. Baseline 3 is appropriate.

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

Purpose5/5

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

Description clearly specifies verb 'clean up' and resource 'old workflow runs' with criteria 'based on age or count'. Distinguishes from siblings like 'clear_all' or 'delete_workflow' which target different resources or have broader scope.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like delete_workflow or clear_all. No mention of prerequisites or scenarios where this should be preferred.

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

clear_allC

Clear all tasks and workflows

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 provided, so the description carries full burden. It does not disclose whether the operation is destructive, reversible, or what side effects occur (e.g., affecting child objects).

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?

Extremely concise (single sentence), but not informative. It does not earn its place as it fails to add value for the agent.

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

Completeness2/5

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

Given no parameters, no output schema, and many sibling tools, the description is incomplete. It does not specify scope or implications of 'clearing' all tasks and workflows.

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?

No parameters, so schema coverage is irrelevant. The description adds no meaning beyond the empty schema; baseline for 0-param tools is 4 if purpose is clear, but here it is vague, so 3 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?

The description 'Clear all tasks and workflows' uses a specific verb and resource, but 'clear' is ambiguous (delete, reset, archive?). It somewhat distinguishes from sibling tools like delete_task and delete_workflow, but lacks precision.

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 vs alternatives. With many sibling tools for specific operations (delete, reset, etc.), the description provides no context for selection.

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

create_tasksB

Create one or more tasks with optional dependencies and parent tasks

ParametersJSON Schema
NameRequiredDescriptionDefault
tasksYesArray of tasks to create

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, and description does not disclose important behaviors like idempotency, error handling, or whether partial creation is possible. Minimal behavioral context.

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

Conciseness5/5

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

Single sentence, no fluff, front-loaded with verb and resource. Efficient.

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?

Adequate for a simple creation tool, but lacks mention of return value or creation result. Without output schema, this info would be helpful. Still covers core functionality.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. Description adds context by highlighting optional dependencies and parent tasks, but does not significantly enhance understanding beyond the schema.

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

Purpose5/5

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

Clearly states it creates one or more tasks with optional dependencies and parent tasks. Distinguishes from siblings like update_task, delete_task, etc.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like update_task or execute_task. Lacks context about prerequisites or scenarios.

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

create_workflowB

Create a workflow (group of tasks in sequence)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesThe name of the workflow
taskIdsYesArray of task IDs in the workflow

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided; the description only states the action without mentioning side effects, required permissions, or what happens on success or failure. A create operation typically should indicate whether it returns the created object.

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 single-sentence description is concise and front-loaded, but omits important behavioral information that would add value without being verbose.

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

Completeness2/5

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

Given the tool's simplicity (2 params, no output schema, no annotations), the description should at least mention return value or error behavior. It is incomplete for an AI agent to use correctly.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both 'name' and 'taskIds'. The description adds little beyond 'group of tasks in sequence', which is redundant with the schema's explanation of taskIds.

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

Purpose5/5

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

The description clearly states the tool creates a workflow defined as a group of tasks in sequence, distinguishing it from siblings like 'create_tasks' which creates individual tasks.

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, such as 'start_workflow_execution' or 'create_tasks'. Missing prerequisites like requiring tasks to exist before creating a workflow.

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

delete_taskB

Delete a task by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the task to delete

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, and the description only says 'Delete' without clarifying whether it is a soft or hard delete, side effects on dependent data, or required permissions.

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

Conciseness4/5

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

Single sentence, no redundant information. However, it could be expanded slightly without losing conciseness.

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?

Given the tool's simplicity (1 param, no output schema), the description is minimally adequate but lacks details on return values, error handling, or post-deletion state.

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

Parameters3/5

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

Schema description coverage is 100% for the single 'id' parameter. The description adds no extra meaning beyond the schema's existing description.

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

Purpose5/5

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

The description 'Delete a task by ID' clearly states the action (delete) and the resource (task by ID). It directly distinguishes from sibling tools like create_tasks or update_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?

No guidance on when to use this tool versus alternatives like fail_task or reset_task. No context on prerequisites or conditions for deletion.

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

delete_workflowC

Delete a workflow by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the workflow to delete

TDQS

C2.7/5.0
Behavior1/5

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

No annotations provided. Description does not disclose any behavioral traits like idempotency, cascading effects, or safety. For a deletion tool, this is a major gap.

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?

Single sentence without fluff. Efficient for a simple tool, though could benefit from a bit more context.

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?

Minimal description covers the basic action but lacks context on usage among many sibling tools, return values, or error conditions.

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

Parameters3/5

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

Schema coverage is 100% and the description adds no extra meaning beyond the schema's parameter description. Baseline score of 3 applies.

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

Purpose4/5

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

Description clearly states the action 'delete' and resource 'workflow' with method 'by ID'. It distinguishes itself from sibling tools like 'delete_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?

No guidance on when to use this tool vs alternatives such as 'cleanup_workflow_runs' or 'clear_all'. No prerequisites or restrictions mentioned.

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

execute_taskC

Mark a task as completed with a result

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the task to execute
resultNoThe result of the task execution

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist. The description only says 'mark as completed with a result', lacking details on side effects, reversibility, prerequisites, or what happens on conflict (e.g., task already completed).

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

Conciseness4/5

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

The description is extremely concise at 6 words, front-loading the core action. However, it could include slightly more context without significant bloat.

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

Completeness2/5

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

Given the complexity (one required parameter, one optional object, many siblings, no output schema), the description is too brief. It doesn't explain the result object's purpose, possible side effects, or relationship to other tools like 'get_task'.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema; it re-emphasizes 'result' as part of the action but doesn't clarify the structure or semantics of the result object.

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 the verb 'Mark' and resource 'task', and includes the key action 'completed with a result', which clearly indicates finalizing a task with output. However, it does not further differentiate from siblings like 'update_task' or 'fail_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?

No guidance on when to use this tool versus alternatives. With many sibling tools (e.g., 'fail_task', 'retry_task', 'update_task'), the agent lacks context for appropriate usage.

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

fail_taskB

Mark a task as failed with an error message

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the task to fail
errorYesThe error message

TDQS

B3.2/5.0
Behavior2/5

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

Without annotations, the description must carry the behavioral disclosure burden. It states the action but does not reveal side effects, such as whether the task is closed or if it can be retried later, which is critical for a mutation tool.

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

Conciseness4/5

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

The single-sentence description is efficient and places the verb-resource upfront. However, it is slightly too brief and could benefit from additional structure without losing conciseness.

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 tool with two well-documented parameters and no output schema, the description covers the basic action. However, it lacks behavioral context and usage guidance, given the many sibling tools, leaving gaps in completeness.

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

Parameters3/5

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

Schema coverage is 100% with both parameters described. The description adds minimal value by implying the error is a message, but essentially repeats schema info, resulting in a baseline score.

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

Purpose5/5

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

The description uses a specific verb 'Mark' and identifies the resource 'task' along with the action 'failed with an error message', clearly distinguishing it from sibling tools like 'retry_task' or 'reset_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?

No guidance is provided on when to use this tool versus alternatives such as 'retry_task', 'reset_task', or 'mark_in_progress'. The description lacks context for appropriate usage.

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

get_next_tasksA

Get tasks that are ready to execute (all dependencies completed)

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

No annotations provided, so description carries full burden. It indicates read-only behavior (getting tasks) but does not disclose side effects (none) or details like empty result handling, ordering, or performance implications. Adequate but missing minor transparency.

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

Conciseness5/5

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

A single sentence that clearly conveys the purpose with no extraneous information. Every word earns its place.

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

Completeness4/5

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

Given no parameters, no output schema, and no annotations, the description covers the essential behavior. It could mention that it returns a list of tasks, but for a simple parameterless tool it is fairly complete.

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?

No parameters exist in the input schema, so schema description coverage is 100%. The description adds no parameter info, which is acceptable for a zero-parameter tool. Baseline 4 applies.

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

Purpose5/5

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

The description clearly states 'Get tasks that are ready to execute (all dependencies completed)', specifying a specific verb (get) and resource (tasks) with a clear condition (dependencies completed), distinguishing it from sibling tools like list_tasks or get_next_workflow_tasks.

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

Usage Guidelines4/5

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

The description implies when to use (when dependencies are completed) but does not explicitly state when not to use or mention alternatives, leaving some ambiguity for an agent choosing among siblings like 'can_execute' or 'execute_task'.

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

get_next_workflow_tasksA

Get tasks that are ready to execute within a specific workflow (dependency-aware). Useful for checking what can be worked on next in a workflow context.

ParametersJSON Schema
NameRequiredDescriptionDefault
workflowIdYesThe ID of the workflow to get ready tasks for

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavioral traits. It mentions 'dependency-aware' but does not state whether the operation is read-only, idempotent, or requires specific permissions. The agent lacks critical safety context.

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

Conciseness5/5

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

Two sentences: the first clearly defines purpose, the second provides usage guidance. No superfluous words. Information density is high, and the structure is front-loaded.

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

Completeness4/5

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

For a simple retrieval tool with one parameter and no output schema, the description covers the core purpose, the dependency-awareness behavior, and a usage hint. It could be improved by mentioning the expected return format or pagination, but it is largely sufficient.

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

Parameters4/5

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

The input schema describes the single parameter 'workflowId' as 'The ID of the workflow to get ready tasks for,' achieving 100% schema coverage. The tool description adds semantic value by explaining that tasks are 'dependency-aware' and 'ready to execute,' which gives purpose beyond the schema.

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

Purpose5/5

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

The description clearly states 'Get tasks that are ready to execute within a specific workflow (dependency-aware).' It specifies the verb (get), resource (tasks), and context (workflow, dependency-aware), effectively distinguishing it from sibling tools like 'get_next_tasks' which may lack the workflow scope.

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

Usage Guidelines3/5

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

The description includes 'Useful for checking what can be worked on next in a workflow context,' which provides usage context. However, it does not explicitly mention when not to use this tool or suggest alternatives among siblings, leaving the agent to infer trade-offs.

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

get_statsB

Get statistics about tasks and workflows

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

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

With no annotations, the description must disclose behavior. It only states 'Get statistics' without elaboration on what statistics are returned, whether the operation is read-only, or any side effects. This is insufficient for a tool with no parameters and no output schema.

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

Conciseness4/5

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

The description is a single sentence with no wasted words. However, it could be slightly expanded to include the type of statistics or return format without sacrificing 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?

Given the absence of an output schema and annotations, the description is incomplete. It does not specify what statistics (e.g., counts, averages, statuses) are provided, leaving the agent uncertain about the output structure. This is inadequate for a tool with no additional context from schema or annotations.

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

Parameters4/5

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

There are no parameters, so the schema coverage is 100% by default. The description adds no parameter details, but none are needed. Baseline score of 4 applies because no additional parameter explanation is required.

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

Purpose4/5

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

The description clearly states the tool retrieves statistics about tasks and workflows, using a specific verb and resource. However, it does not differentiate from sibling tools like list_tasks or get_workflow_run, which have different purposes.

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

Usage Guidelines2/5

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

No usage guidance is provided. The description does not indicate when to use this tool over alternatives such as list_tasks or get_workflow_run, nor does it mention any context or prerequisites.

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

get_subtasksB

Get all subtasks of a parent task

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe parent task ID to get subtasks for

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits but only states a simple operation. It fails to mention read-only nature, error handling, permissions, or response format.

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 short and front-loaded with the key purpose. However, it could be more structured with additional details.

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

Completeness2/5

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

Given no output schema, the description should explain what is returned. It does not, nor does it address error conditions or nesting.

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

Parameters3/5

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

Schema coverage is 100% with a clear description of the 'id' parameter. The description adds no extra meaning beyond the schema, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'get' and resource 'subtasks of a parent task', distinguishing it from siblings like get_task (single task) and list_tasks (all tasks).

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as get_next_tasks or list_tasks. The description does not mention exclusions or prerequisites.

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 specific task by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the task to retrieve

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 must disclose behavioral traits. It only indicates a read operation ('Get'), but does not mention side effects, error handling, or permission requirements. This is minimal disclosure.

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

Conciseness4/5

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

The description is very concise with one sentence front-loading the action. It wastes no words, but could be slightly more informative without losing brevity.

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

Completeness2/5

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

Given the tool's simplicity (one param, no output schema), the description is incomplete. It does not specify the return value structure (e.g., full task object) or error conditions. With many sibling tools, more context would aid usability.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description does not add meaning beyond the schema; it only restates the parameter purpose. No additional semantic enrichment.

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

Purpose4/5

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

The description uses a clear verb+resource, 'Get a specific task', and identifies the parameter 'by ID'. However, it does not distinguish from sibling tools like 'get_subtasks' or 'get_next_tasks' which could also retrieve tasks by ID.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as 'list_tasks' or 'get_subtasks'. The description lacks any contextual cues for tool selection.

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

get_versionA

Get the version information of this sequential MCP server

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It states the tool 'gets version information' but provides no additional behavioral context such as authentication needs or rate limits. For a simple getter, this is minimal but not misleading.

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

Conciseness5/5

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

The description is a single sentence with no unnecessary words, perfectly concise and front-loaded.

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?

Given the simplicity and no output schema, the description provides the essential purpose but does not specify what the version information contains (e.g., version string format). Somewhat incomplete for an agent to fully understand the return value.

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

Parameters4/5

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

The tool has 0 parameters and the schema description coverage is 100%, so the description does not need to add parameter details. The baseline for 0 parameters is 4.

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

Purpose5/5

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

The description clearly states the tool retrieves version information of the server, using a specific verb and resource. It distinguishes from sibling tools which focus on workflows and tasks.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives. While the purpose is intuitive, the description lacks any contextual usage or exclusion hints.

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

get_workflowB

Get a workflow by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the workflow to retrieve

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 full burden. It states the operation but does not disclose any behavioral traits such as permissions required, error behavior (e.g., if ID not found), or side effects. The description is minimal.

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

Conciseness4/5

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

The description is a single sentence that is clear and direct. No wasted words, though it could be slightly expanded to include return type.

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?

Given the low complexity (1 required param, no output schema, no annotations), the description is minimally adequate. It lacks information about the return format or error handling, which could help an agent.

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

Parameters3/5

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

Schema description coverage is 100% because the only parameter 'id' is described in the schema. The tool description adds no further meaning beyond what the schema already provides, so baseline 3 applies.

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

Purpose5/5

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

The description is a clear verb+resource pair ('Get a workflow') with a specific method ('by ID'). It distinguishes from sibling tools like list_workflows (which lists all) and get_workflow_run (which gets a run, not the workflow itself).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as list_workflows or get_workflow_run. There is no mention of prerequisites, context, or when not to use it.

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

get_workflow_runB

Get a workflow run by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
runIdYesThe ID of the workflow run to retrieve

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It correctly indicates a read operation but does not mention idempotency, response structure, or any side effects. For a simple getter, it is adequate but minimal.

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

Conciseness5/5

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

The description is a single sentence with no wasted words, front-loading the verb and resource.

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

Completeness2/5

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

Given no output schema and no annotations, the description is too minimal. It does not indicate what fields the returned workflow run contains, leaving the agent uncertain about the response format.

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

Parameters3/5

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

Schema coverage is 100% and the parameter description in the schema is clear. The tool description adds no additional meaning beyond the schema, so baseline score of 3 applies.

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

Purpose5/5

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

The description clearly states the verb 'Get' and the resource 'workflow run by ID', which distinguishes it from siblings like 'get_workflow' (gets workflow definition) and 'list_workflow_runs' (lists all runs).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus similar alternatives such as 'list_workflow_runs' or 'get_next_workflow_tasks'. It lacks context for selecting among siblings.

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

list_tasksC

List all tasks or filter by status

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoFilter tasks by status (optional)

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, the description should disclose behavior like whether the operation is read-only, if results are paginated, or if there are any side effects. It only states 'list', which implies a read, but no details on output format or limitations.

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 very short (7 words) which is concise, but it is overly minimal, omitting crucial context. While every sentence earns its place, the brevity compromises completeness.

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

Completeness2/5

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

Given no output schema, the description should explain what the response contains (e.g., list of task objects, fields, pagination). It does not mention return structure or ordering, making it incomplete for an agent to interpret results.

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?

The input schema already describes the 'status' parameter as an optional filter with enum values. The description merely restates this without adding new meaning or usage details, failing to compensate for the minimal schema coverage (though schema coverage is 100%, the description adds no value).

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 the tool lists tasks with optional status filtering, but it does not specify the scope (e.g., all tasks in the system vs. within a workflow). This ambiguity makes it less clear among sibling tools like get_subtasks or get_next_tasks.

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 on when to use this tool versus alternatives such as 'get_subtasks' or 'get_next_tasks'. The description lacks any context or comparison, leaving the agent to infer appropriate usage.

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

list_workflow_runsB

List all workflow runs

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior3/5

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

No annotations exist, so the description must convey behavioral traits. It states 'List all workflow runs', implying a read-only operation. However, it does not mention side effects, ordering, pagination, or whether it returns runs from all workflows or a specific workflow. The minimal description suffices for a simple list but lacks depth.

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

Conciseness5/5

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

The description is extremely concise with a single sentence containing no unnecessary words. It is front-loaded with the action and resource, making it easy to scan.

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?

Given no parameters and no output schema, the description is simple. However, it lacks any mention of the output format, such as the structure of workflow run objects or any potential side effects. Among 25 siblings, this description does not fully prepare the agent to select or invoke the tool correctly.

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 input schema has zero parameters and 100% schema description coverage (empty). The description adds no parameter information, which is acceptable because none needed. Baseline is 3, but since schema coverage is high and no parameters, the description is sufficient.

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

Purpose4/5

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

The description uses a specific verb 'List' and resource 'workflow runs', making the action clear. It distinguishes itself from 'get_workflow_run' (which retrieves a specific run) by implying all runs. However, it could be more specific about what 'all workflow runs' encompasses (e.g., across all workflows or within a project).

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 provided on when to use this tool versus siblings like 'get_workflow_run', 'cleanup_workflow_runs', or 'list_workflows'. The description does not mention any context for usage, such as expected use cases or limitations.

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

list_workflowsB

List all workflows

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It states 'List all workflows' implying a read-only operation, but does not mention ordering, pagination, potential limits, or any side effects. The behavior is minimally described.

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

Conciseness4/5

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

The description is extremely concise with three words and no wasted text. However, it may be too minimal, lacking structure or details, but it is appropriately sized for a simple list operation.

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

Completeness2/5

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

Given no output schema and a simple list operation, the description does not specify return fields, pagination, or ordering. It lacks completeness for an agent to fully understand the tool's output and behavior.

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 input schema has no parameters, so schema description coverage is 100%. The description 'List all workflows' adds no parameter information, but with zero parameters, it is sufficient. Baseline 4 for no parameters 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?

The description 'List all workflows' clearly states the verb 'List' and the resource 'workflows', indicating a read operation to retrieve all workflows. However, it does not explicitly differentiate from siblings like 'list_workflow_runs' or 'list_tasks', though the resource 'workflows' is distinct.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as 'get_workflow' for a single workflow or 'list_workflow_runs' for runs. There is no mention of context or exclusions.

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

mark_in_progressB

Mark a task as in progress

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the task to mark as in progress

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so description must fully disclose behavior. It only states the action without mentioning side effects, reversibility, or what happens if already in progress. Insufficient for a mutation tool.

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

Conciseness5/5

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

One sentence, no filler, perfectly concise for a simple tool.

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?

Adequate for a simple state change, but lacking context about workflow lifecycles or relationship to sibling tools like 'execute_task' or 'fail_task'.

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

Parameters3/5

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

Schema coverage is 100% with one parameter 'id' described. Description adds no additional meaning beyond the schema, so baseline score of 3 applies.

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

Purpose5/5

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

Description clearly states the action ('Mark') and resource ('task') with specific state ('in progress'). Distinguishes from siblings like 'fail_task', 'reset_task', etc.

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 (e.g., 'update_task' or 'execute_task'). Missing prerequisites or context for state transitions.

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

reset_taskB

Reset a task back to pending status

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the task to reset

TDQS

B3.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 must fully disclose behavioral traits. It only states the change to pending status, but omits details like side effects on workflow state, error handling, or required permissions.

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

Conciseness5/5

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

The description is a single, clear sentence with no unnecessary words. It efficiently conveys the tool's purpose.

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 tool with one required parameter and no output schema, the description is minimal. It lacks context about return values, error conditions, or prerequisites, which is needed for an agent to use it reliably.

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 input schema fully documents the single parameter 'id' with a description. The tool description adds no additional meaning beyond the schema, so the baseline score of 3 is appropriate.

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

Purpose5/5

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

The description 'Reset a task back to pending status' clearly specifies the action (reset), resource (task), and target state (pending). It distinguishes this tool from siblings like 'fail_task' or 'retry_task' which have different effects.

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

Usage Guidelines3/5

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

No explicit when-to-use or when-not-to-use guidance. The purpose is implied (resetting a task to pending), but does not mention alternatives or prerequisites, such as requiring the task to be in a non-pending state.

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

retry_taskB

Retry a failed task, incrementing retry count

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the task to retry

TDQS

B3.2/5.0
Behavior2/5

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

No annotations exist, so description bears full burden. It discloses only that retry count is incremented, but lacks details on side effects (e.g., immediate re-execution, state changes, permission requirements). Minimal transparency for a mutation tool.

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

Conciseness5/5

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

Single sentence with no redundant words. Front-loaded action and effect. 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?

No output schema, no annotations, and minimal description. Missing details on return value, error conditions, prerequisites (e.g., task must be failed), and post-conditions. Incomplete for safe autonomous use.

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

Parameters3/5

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

Schema coverage is 100% for the single 'id' parameter, with a clear schema description. The tool description adds no extra meaning beyond what the schema provides, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'retry', the resource 'a failed task', and the side effect 'incrementing retry count'. It uniquely identifies the tool's function among 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?

No guidance on when to use this tool versus alternatives like 'reset_task' or 'execute_task'. The description does not provide criteria for required conditions (e.g., task must be in 'failed' state) or exclusions.

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

save_stateA

Manually save the current state to storage

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.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 must fully disclose behavioral traits. It only states 'save' and 'manually', without clarifying if the operation is synchronous, idempotent, destructive, or what state is saved. Critical side effects are unmentioned.

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, clear sentence with no unnecessary words. It is appropriately succinct for a simple tool.

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

Completeness3/5

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

For a simple, parameterless tool, the description is mostly adequate but lacks context about what 'current state' refers to, potential side effects, and whether it is safe to call multiple times. Without annotations or output schema, more behavioral detail would improve completeness.

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

Parameters4/5

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

The tool has zero parameters, and the description correctly implies no inputs are needed. With 100% schema coverage (empty), the description adds no additional param info but is consistent.

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

Purpose5/5

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

The description clearly states the verb 'save' and the resource 'current state to storage'. It is specific and immediately understandable, with no ambiguity. Among sibling tools, none have similar save functionality, so it is well-differentiated.

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

Usage Guidelines3/5

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

The description implies usage by stating 'manually save', suggesting it is used when an explicit save is needed. However, it does not provide explicit guidance on when to use or avoid this tool, nor does it mention alternatives or preconditions.

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

start_workflow_executionA

Start execution of a workflow with dependency-aware task initialization. Automatically finds and marks all initially ready tasks as in_progress. Returns runId and list of ready tasks.

ParametersJSON Schema
NameRequiredDescriptionDefault
workflowIdYesThe ID of the workflow to execute

TDQS

A4.1/5.0
Behavior4/5

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

With no annotations, the description transparently discloses key behavior: dependency-aware task initialization, automatic marking of ready tasks as in_progress, and return of runId and ready tasks. Could mention edge cases like existing runs or error handling.

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

Conciseness5/5

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

Two sentences, no wasted words, clearly structured with front-loaded purpose and concise behavior description.

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

Completeness5/5

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

Given one simple parameter and no output schema, the description includes all necessary context: purpose, behavior, and return value (runId and ready tasks). Complete for this tool.

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

Parameters3/5

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

Schema coverage is 100% for the single parameter 'workflowId', which is already described in the schema. The description does not add new semantic information beyond what the schema provides.

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

Purpose5/5

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

The description clearly states the tool starts execution of a workflow with dependency-aware task initialization, referencing specific verb 'Start' and resource 'workflow execution'. It distinguishes from siblings like 'execute_task' by mentioning dependency-aware initialization.

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

Usage Guidelines3/5

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

The description implies usage for initiating workflow runs but does not explicitly state when to use this tool versus alternatives like 'advance_workflow_run' or 'execute_task'. No when-not guidance provided.

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

update_taskC

Update an existing task

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesThe ID of the task to update
nameNoNew name for the task
descriptionNoNew description for the task
dependenciesNoNew dependencies for the task
parentTaskIdNoNew parent task ID for the task
metadataNoNew metadata for the task

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 must convey behavioral traits. The word 'update' implies mutation, but it does not disclose whether updates are partial or full replacement, what happens if the task doesn't exist, or any required permissions. The description lacks necessary transparency.

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

Conciseness4/5

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

The description is a single sentence, making it concise and front-loaded. However, it could be slightly improved by mentioning partial update behavior without adding significant length.

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

Completeness2/5

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

With 6 parameters, no output schema, and no annotations, the description is too minimal. It does not explain return values, error handling, or partial update semantics, leaving significant gaps for an agent to use the tool correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already describes each parameter. The description adds no extra meaning beyond the verb 'update', meeting the baseline of 3 since the schema carries the semantic load.

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 'Update an existing task' clearly states the verb 'update' and the resource 'existing task', distinguishing it from creation or deletion tools among siblings. However, it is generic and does not specify which fields can be modified, though the schema covers that.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'delete_task' or 'reset_task'. It only implies usage through the verb 'update', but lacks explicit context or exclusion criteria.

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. Dates show when Glama detected each change.

  1. 27 tool updatesv1.2.0
    • First observedadvance_workflow_run
    • First observedcan_execute
    • First observedcleanup_workflow_runs
    • First observedclear_all
    • First observedcreate_tasks
    • First observedcreate_workflow
    • First observeddelete_task
    • First observeddelete_workflow
    • First observedexecute_task
    • First observedfail_task
    • First observedget_next_tasks
    • First observedget_next_workflow_tasks
    • First observedget_stats
    • First observedget_subtasks
    • First observedget_task
    • First observedget_version
    • First observedget_workflow
    • First observedget_workflow_run
    • First observedlist_tasks
    • First observedlist_workflow_runs
    • First observedlist_workflows
    • First observedmark_in_progress
    • First observedreset_task
    • First observedretry_task
    • First observedsave_state
    • First observedstart_workflow_execution
    • First observedupdate_task

TDQS

A3.5/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose, with no ambiguity between similar operations like get_next_tasks and get_next_workflow_tasks, as descriptions clarify scope.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern, such as create_tasks, get_workflow, and advance_workflow_run, with no mixing of conventions.

Tool Count4/5

27 tools is on the higher side but appropriate for the complexity of sequential workflow management, covering CRUD, status transitions, execution control, and utilities without being excessive.

Completeness5/5

The tool surface covers the full lifecycle: creation, execution, status management, progression, cleanup, and monitoring, with no obvious gaps for the domain.

Maintenance

ActivityStale
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

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

curl -X GET 'https://glama.ai/api/mcp/v1/servers/HefnySco/agent_mcp_task_orchestrator'

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