Skip to main content
Glama

Quarterback

Read the field. Call the play.

Strategic task prioritization and agent orchestration for multi-project operators.

PyPI Python License: MIT CI bobbyrgoldsmith/quarterback MCP server


Every other AI task manager breaks down one project into subtasks. Quarterback helps you decide which of your ten projects to prioritize right now — using a 5-factor weighted scoring engine, organizational context, and time-aware planning. It runs locally, costs nothing, and works as both a standalone CLI and an MCP server for Claude.

What Makes Quarterback Different

Feature

Quarterback

TaskMaster AI

Shrimp Task Manager

Multi-project prioritization

5-factor weighted engine

Single-project breakdown

Single-project

Advisory document system

Analyze articles against your goals

No

No

Agent orchestration

Autonomy levels + webhooks

No

No

Time-aware planning

Working hours, lunch, buffer time

No

No

Organizational context

Goals, constraints, workflows

No

No

Knowledge wiki (Playbook)

LLM-maintained wiki for cross-session consistency

No

No

Conflict detection

Cross-project scheduling conflicts

No

No

Standalone CLI

Full CLI without AI runtime

Requires AI

Requires AI

Cost

Free (MIT)

Free

Free

Related MCP server: Kanban MCP

Quick Start

# Install
pip install quarterback

# Initialize (creates ~/.quarterback/)
quarterback init

# Interactive setup wizard — walks you through org, goals, workflows, projects, constraints
quarterback setup

# Add your first project and tasks
quarterback add "Launch landing page" --project "My Startup" --priority 4 --effort 3 --impact 5
quarterback add "Write blog post" --project "Content" --priority 3 --effort 2 --impact 3

# See what to work on
quarterback priorities

# Find quick wins
quarterback quick-wins

# Plan your day with time awareness
quarterback plan-day

LLM-Powered Setup (via MCP)

When using Quarterback as an MCP server, ask your LLM: "Set up Quarterback for me" — it will call the setup_quarterback tool, interview you conversationally about your business, goals, workflows, projects, constraints, and knowledge base (Playbook), then write all config files and database records in one shot. No manual YAML editing required.

MCP Server

Quarterback works with any MCP-compatible client — Claude Desktop, Claude Code, Cursor, Windsurf, Cline, OpenAI agents, and others. All 23 tools use standard MCP protocol (JSON-RPC over stdio) with no LLM-specific dependencies.

# Install with MCP support
pip install quarterback[mcp]

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "quarterback": {
      "command": "quarterback-server"
    }
  }
}

Or for Claude Code (~/.claude/settings.json):

{
  "mcpServers": {
    "quarterback": {
      "command": "quarterback-server"
    }
  }
}

The same quarterback-server command works with any MCP client — just add it to your client's server configuration.

Then ask your LLM: "What should I work on today?" — it will use all 23 Quarterback tools to analyze your priorities.

Features

5-Factor Prioritization Engine

Every task is scored across five dimensions:

Factor

Weight

What it measures

Impact

30%

Task impact + project revenue/strategic value

Urgency

25%

Due date proximity + blocking status

Strategic

25%

Project priority + milestone status

Effort

15%

Inverted effort score (quick tasks score higher)

Quick Win

5%

High impact + low effort bonus

Advisory Document System

Analyze external articles, books, and advice against your organizational context:

# Import and auto-analyze an article
quarterback advisory-add --title "Growth Strategy" --url https://example.com/article

# Review the analysis
quarterback advisory-view --id 1

# Approve recommendations (optionally create tasks)
quarterback advisory-approve --id 1 --approve 1,3,5 --create-tasks

The analyzer checks every recommendation against your goals and constraints, flagging conflicts and synergies.

Agent Orchestration

Mark tasks for autonomous agent execution with configurable autonomy:

  • Draft: Agent creates a draft for your review

  • Checkpoint: Agent pauses at key decisions for approval

  • Autonomous: Agent runs to completion

Webhooks notify your automation layer (n8n, Zapier, custom) when tasks are ready.

Playbook — Knowledge Wiki

Playbook is Quarterback's compiled knowledge layer. It's an LLM-maintained markdown wiki that gives every session — local CLI, MCP, or autonomous agent — the same canonical context about your projects, decisions, and strategies.

The problem it solves: Without Playbook, each AI session starts fresh and re-derives your organizational context from sparse signals. Two sessions running the same query can produce different results because they reconstruct understanding independently. Playbook provides accumulated knowledge that all sessions read from.

How it works:

~/playbook/                          (or ~/.quarterback/playbook/)
├── CLAUDE.md                        # Schema — how the LLM reads/writes pages
├── raw/                             # Drop zone for source material
└── wiki/
    ├── index.md                     # Master catalog — read this first
    ├── entities/                    # Companies, products, clients, tools
    ├── concepts/                    # Patterns, strategies, recurring themes
    ├── decisions/                   # Decisions with rationale and alternatives
    ├── compiled/                    # QB-compatible files for task scoring
    │   ├── goals.md                 # Read by QB's prioritization engine
    │   └── constraints.md           # Read by QB's conflict detection
    └── log.md                       # Append-only operations record

Setup: Playbook is created automatically during quarterback setup (or the MCP setup wizard). The interview asks about your key entities, concepts, and decisions, then seeds initial wiki pages.

Without Playbook: Quarterback works exactly as before — reading goals and constraints from ~/.quarterback/org-context/ files. Playbook is opt-in.

With Playbook: Quarterback reads compiled/goals.md and compiled/constraints.md from Playbook first, falling back to org-context/ files if Playbook isn't initialized. Your LLM reads wiki/index.md for full organizational context.

# Check Playbook status
quarterback playbook status

# Browse the index
quarterback playbook index

# List pages by category
quarterback playbook list --category entities

# Read a specific page
quarterback playbook read entities/my-product.md

# Search across all pages
quarterback playbook search "budget"

Obsidian integration (optional): During setup, you can opt to configure Playbook as an Obsidian vault. Open the Playbook folder in Obsidian for graph visualization and visual editing. Install an Obsidian MCP server for programmatic access. No Obsidian dependency required — Playbook works as plain markdown files.

CI/CD Pipeline Integration

Quarterback's CLI and webhook system make it a natural fit for automated pipelines — update task status, log deliverables, and trigger downstream work without a human in the loop.

Direct CLI in pipelines

Add Quarterback commands to any CI/CD step. The CLI is stateless and scriptable:

# GitHub Actions example: auto-update task on deploy
- name: Mark deploy task complete
  run: |
    pip install quarterback
    export QUARTERBACK_HOME=${{ runner.temp }}/.quarterback
    quarterback update 42 --status completed --notes "Deployed via CI, SHA: ${{ github.sha }}"
# After test suite passes, log results to a task
- name: Report test results
  run: |
    quarterback update 38 --notes "Tests passed: 106/106, coverage 87%. Build #${{ github.run_number }}"
# Nightly: check for overdue deliverables and alert
- name: Nightly priority check
  run: |
    quarterback alert-check
    quarterback priorities today --limit 5

Agentic CI/CD with webhooks

Register a webhook and let your automation layer react to task events in real time:

# Register a webhook pointing at your n8n/Zapier/custom endpoint
quarterback-server  # MCP tools available, or use CLI:
# In your automation script: mark a task agent-ready after PR merge
import subprocess
subprocess.run([
    "quarterback", "update", "55",
    "--status", "completed",
    "--notes", f"PR #{pr_number} merged. Deployed to staging."
])

Use cases:

Pipeline event

Quarterback action

What happens

PR merged

update_task status=completed

Task marked done, webhook fires to Slack

Deploy succeeds

update_task with SHA + environment notes

Deliverable tracked with audit trail

Nightly cron

get_priorities + alert-check

Team gets daily summary of what's overdue

Test suite fails

add_task with failure details

Bug auto-filed, linked to project

Sprint starts

get_priorities + detect_conflicts

Surface scheduling conflicts before work begins

Agent completes work

update_agent_status status=completed

Webhook notifies orchestrator, next task dispatched

Release tagged

advisory-add with release notes

Changelog analyzed against project goals

Shared database across environments

Point multiple environments at the same Quarterback instance:

# All CI runners share one database via mounted volume or network path
export QUARTERBACK_HOME=/shared/quarterback

# Or per-environment with migration
quarterback migrate /path/to/source

This lets your local CLI, CI pipelines, and MCP-connected agents all read and write to the same task graph — giving you a single source of truth across manual and automated workflows.

Time-Aware Planning

quarterback plan-day

Considers your working hours, lunch break, buffer time for meetings, and current time to suggest tasks that actually fit in your remaining day.

Configuration

Organizational Context

After quarterback init, run quarterback setup for an interactive wizard, or ask Claude to run the setup wizard via MCP. You can also manually configure your context in ~/.quarterback/org-context/:

~/.quarterback/org-context/
├── goals.md          # Your strategic, workflow, and project goals
├── projects.yaml     # Active projects with metadata
├── workflows.yaml    # Groups of related projects
└── constraints.md    # Time, budget, and strategic boundaries

Example templates are included — copy from .example files and customize.

If you enable Playbook during setup, goals.md and constraints.md are auto-maintained from the wiki's compiled/ directory. You can still manually edit the org-context files — Playbook is additive, not required.

Alert Configuration

Configure notifications in ~/.quarterback/config/alerts.yaml:

  • Quiet hours (no notifications at night)

  • Priority thresholds (only notify for P4+ tasks)

  • Time-sensitive projects (always notify for Bills, Tax, etc.)

  • Working hours and lunch break settings

CLI Commands

Command

Description

quarterback init

Initialize Quarterback

quarterback setup

Interactive setup wizard

quarterback migrate <dir>

Migrate from task-manager

quarterback priorities [today|week|all]

Prioritized task list

quarterback add "task" [options]

Add a task

quarterback update <id> [options]

Update a task

quarterback list [-s status]

List tasks

quarterback quick-wins

Find quick wins

quarterback conflicts

Detect priority conflicts

quarterback projects

List projects

quarterback summary

Organizational summary

quarterback plan-day

Time-aware daily plan

quarterback advisory-add

Add advisory document

quarterback advisory-list

List advisory documents

quarterback advisory-view --id N

View document details

quarterback advisory-analyze --id N

Analyze document

quarterback advisory-approve --id N

Approve/reject recommendations

quarterback alert-check

Check for alerts

quarterback alert-summary

Send daily summary

quarterback playbook status

Playbook initialization status

quarterback playbook index

Show Playbook master catalog

quarterback playbook list

List wiki pages (with --category filter)

quarterback playbook read <path>

Read a wiki page

quarterback playbook search <query>

Full-text search across pages

MCP Tools (27 total)

When used as an MCP server, Quarterback exposes these tools to Claude:

Task Management: get_priorities, add_task, update_task, get_quick_wins, detect_conflicts, assess_task_value, get_blocking_tasks

Project Management: add_project, list_projects, update_project, get_organizational_summary

Advisory System: add_advisory_document, list_advisory_documents, get_advisory_document, analyze_advisory_document, discuss_advisory_recommendations, adopt_advisory_recommendations

Playbook: playbook_read, playbook_write, playbook_search, playbook_ingest

Webhooks: register_webhook, list_webhooks, update_webhook, delete_webhook

Agent Orchestration: mark_task_agent_ready, get_agent_ready_tasks, update_agent_status

Setup: setup_quarterback

Environment Variables

Variable

Default

Description

QUARTERBACK_HOME

~/.quarterback

Data directory

PLAYBOOK_PATH

~/.quarterback/playbook

Playbook wiki location (or set in config/playbook.yaml)

QUARTERBACK_API_URL

None

Reserved for Pro features

Contributing

See CONTRIBUTING.md for development setup, code style, and PR process.

License

MIT - see LICENSE


Built by NodeBridge Automation Solutions | GitHub Sponsors

Available Tools

24 tools
add_advisory_documentC

Add a new advisory document for review and analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
contentYes
sourceNo
source_typeNo
project_nameNo
workflow_nameNo
tagsNo
priorityNo
auto_analyzeNo

TDQS

C2.2/5.0
Behavior2/5

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

Mentions documents are for 'review and analysis' but omits critical behavioral details like auto_analyze default behavior, workflow triggers, or side effects.

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

Conciseness3/5

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

Brief and front-loaded, but undersized for 9-parameter complexity; single sentence fails to justify its existence given schema gaps.

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?

Incomplete given rich sibling ecosystem (analyze, discuss, adopt); misses opportunity to explain advisory workflow integration and document lifecycle.

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

Parameters1/5

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

Adds zero parameter context despite 0% schema description coverage; critical parameters like workflow_name, source_type, and auto_analyze lack semantic explanation.

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

Purpose3/5

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

States basic action (add advisory document) and purpose (review/analysis) but fails to distinguish from sibling analysis tools or define 'advisory document' concept.

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 vs. siblings like analyze_advisory_document, or workflow sequence (add before analyze?).

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

add_projectD

Add a new project.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
pathNo
workflow_nameNo
descriptionNo
priorityNo
statusNo

TDQS

D1.8/5.0
Behavior1/5

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

With no annotations provided, description carries full burden but reveals nothing about side effects, idempotency, or what happens upon success/failure.

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?

Brief and front-loaded, but the single sentence fails to earn its place by adding any informational value beyond the tool name.

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

Completeness2/5

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

Insufficient for a tool with 6 parameters including enums and constraints; misses opportunity to explain required vs optional fields or return behavior.

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

Parameters1/5

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

Schema has 0% description coverage and description fails to compensate, providing no context for path, workflow_name, priority scale (1-5), or status enum values.

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

Purpose2/5

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

Tautology that restates the tool name ('Add a new project' = add_project) without distinguishing from siblings like update_project or add_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 (e.g., add_project vs update_project) 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.

add_taskC

Add a new task with full metadata.

ParametersJSON Schema
NameRequiredDescriptionDefault
descriptionYes
project_nameNo
priorityNo
effortNoEstimated hours
impactNo
due_dateNo
notesNo

TDQS

C2.5/5.0
Behavior2/5

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

With no annotations provided, the description fails to disclose side effects, idempotency, or what 'full metadata' actually encompasses.

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?

While brief at six words, it is insufficiently informative for a tool with seven diverse parameters and no output schema; brevity here creates ambiguity rather than clarity.

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 rich input schema with dates, scales, and effort estimates, the description is inadequate—it doesn't hint at required fields, validation rules, or the relationship between parameters.

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?

Mentions 'full metadata' which loosely corresponds to the seven parameters, but with only 14% schema coverage, it fails to clarify priority versus impact or due_date formatting requirements.

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

Purpose3/5

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

States the basic action (add task) but 'full metadata' is vague and fails to distinguish from sibling tools like add_project or add_advisory_document.

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?

Provides no guidance on when to use this versus update_task or other task management tools, nor when adding is inappropriate.

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

adopt_advisory_recommendationsC

Approve or reject recommendations, optionally creating tasks.

ParametersJSON Schema
NameRequiredDescriptionDefault
document_idYes
approved_recommendation_idsNo
rejected_recommendation_idsNo
create_tasksNo
adoption_notesNo

TDQS

C2.6/5.0
Behavior2/5

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

Mentions optional task creation but lacks critical details: no annotation contradictions, but missing info on state changes, failures, or auth requirements given no annotations provided.

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?

Single sentence is appropriately terse but arguably too minimal for 5-parameter complexity; no structural issues.

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?

Insufficient for the tool's complexity; omits advisory document workflow context, return behavior, and relationship between document_id and recommendation_ids.

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?

With 0% schema description coverage, the description fails to explain document_id, adoption_notes, or the mutual exclusivity logic between approved/rejected arrays; only implicitly maps to create_tasks.

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?

Clearly states the core action (approve/reject) and side effect (task creation), though 'advisory' context from the tool name is omitted.

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?

Provides no guidance on when to use versus siblings like discuss_advisory_recommendations or workflow prerequisites.

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

analyze_advisory_documentC

Analyze an advisory document against organizational context.

ParametersJSON Schema
NameRequiredDescriptionDefault
document_idYes

TDQS

C2.4/5.0
Behavior2/5

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

Lacks disclosure of side effects, return format, or whether analysis results are persisted; 'analyze' implies read-only but this is not confirmed.

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?

Single sentence is brief but not information-dense; front-loading is moot due to lack of actionable detail.

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

Completeness2/5

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

Absence of output schema requires description to specify return values (structured analysis? narrative? recommendations?), but it provides no indication of output.

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?

Fails to compensate for 0% schema description coverage; does not explain document_id semantics, valid ranges, or how to obtain valid IDs.

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

Purpose3/5

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

States basic function (analyze document against context) but is vague on analysis specifics and fails to differentiate from siblings like get_advisory_document or discuss_advisory_recommendations.

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?

Provides no guidance on when to use this versus retrieving, listing, or adopting recommendations from advisory documents.

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

assess_task_valueC

Assess whether a proposed task aligns with organizational goals.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_descriptionYes

TDQS

C2.9/5.0
Behavior2/5

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

Lacks critical behavioral details given no annotations: does not specify output format (score, boolean, text?), side effects, or if the assessment is persisted.

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 is appropriately terse and front-loaded, though extreme brevity leaves functional gaps.

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?

Critical omission: no output schema exists, yet description fails to explain what the assessment returns (rating, analysis, recommendation).

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?

Mentions 'proposed task' which loosely maps to the task_description parameter, but fails to compensate for 0% schema coverage by specifying expected content, format, or length.

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?

Clearly states the tool evaluates task alignment with organizational goals, distinguishing it from sibling CRUD operations like add_task 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?

Provides no guidance on when to use this assessment versus directly adding tasks or using get_priorities.

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

delete_webhookC

Delete a registered webhook.

ParametersJSON Schema
NameRequiredDescriptionDefault
webhook_idYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations provided; description fails to disclose that deletion is permanent, irreversible, or whether pending deliveries are affected.

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

Conciseness3/5

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

Extremely terse (4 words) which is concise but undersized for a destructive operation; lacks structural elements like warnings or parameter hints.

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 single-parameter tool but missing critical context: parameter semantics, error cases (e.g., non-existent ID), and permanence warnings expected for delete operations.

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

Parameters2/5

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

Schema has 0% description coverage; description compensates poorly by not mentioning webhook_id, how to obtain it, or that it refers to the ID from list_webhooks.

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?

Clear verb (Delete) + resource (registered webhook) distinguishes from siblings (register/update/list) via the action word, though 'registered' adds minimal qualification.

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?

Provides no guidance on when to use versus alternatives (e.g., update_webhook for modifications) or warnings about permanent deletion.

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

detect_conflictsC

Detect conflicting priorities and resource constraints.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the 5-word description fails to disclose scope, side effects, return format, or data sources analyzed.

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

Conciseness3/5

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

Extremely brief and front-loaded, but overly terse to the point of omitting necessary operational 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?

Lacks output schema and description fails to compensate by explaining return values, scope (project vs organization-wide), or conflict detection criteria.

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?

Zero parameters present; meets baseline expectation with no additional parameter context needed or provided.

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

Purpose3/5

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

States the basic action (detect) and targets (priorities/resource constraints) but lacks specificity about conflict types and doesn't differentiate from sibling tools like get_blocking_tasks or assess_task_value.

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?

Provides no guidance on when to invoke this tool versus alternatives or what conditions warrant its use.

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

discuss_advisory_recommendationsD

Facilitate discussion about advisory recommendations.

ParametersJSON Schema
NameRequiredDescriptionDefault
document_idYes
recommendation_idsNo
user_feedbackNo

TDQS

D1.8/5.0
Behavior1/5

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

With no annotations provided, the description fails to disclose any behavioral traits, side effects, or what 'facilitating discussion' actually entails (e.g., notifications, storage, threading).

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

Conciseness3/5

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

Extremely brief (6 words) and front-loaded, but the brevity results from emptiness rather than efficient information density.

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?

Incomplete given the lack of output schema and parameter descriptions; fails to explain return values or the advisory workflow context.

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

Parameters1/5

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

Schema has 0% description coverage, yet the description adds no meaning for document_id, recommendation_ids, or user_feedback parameters.

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

Purpose2/5

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

Tautologically restates the tool name ('discuss' → 'facilitate discussion') without specifying mechanism or distinguishing from siblings like adopt_advisory_recommendations.

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?

Provides no guidance on when to use this versus adopting, analyzing, or retrieving advisory documents.

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

get_advisory_documentC

Get full details of a specific advisory document.

ParametersJSON Schema
NameRequiredDescriptionDefault
document_idYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided; description discloses only basic retrieval action without read-only confirmation, error conditions, or side effects.

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

Conciseness4/5

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

Extremely brief (7 words) with no fluff, though arguably too terse to be fully informative.

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?

Minimal but sufficient for a single-parameter retrieval tool, though parameter context is missing.

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

Parameters2/5

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

Schema has 0% description coverage and description fails to compensate by explaining document_id semantics or format.

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

Purpose3/5

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

States basic function ('get full details') but fails to differentiate from siblings like analyze_advisory_document or list_advisory_documents.

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 versus alternatives (list vs analyze vs discuss) or prerequisites.

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

get_agent_ready_tasksC

Get tasks queued for agent execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
agent_typeNo
limitNo

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations, description provides minimal behavioral disclosure beyond identifying it as a getter; omits ordering, pagination behavior, and empty state handling.

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

Conciseness3/5

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

Extremely terse (5 words) and front-loaded, but insufficient given the lack of schema descriptions and output schema; brevity creates information gaps.

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?

Missing return value specification (no output schema exists) and fails to explain parameter semantics or relationship to mark_task_agent_ready workflow.

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

Parameters1/5

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

Fails to compensate for 0% schema description coverage; omits that agent_type filters by capability domain and limit controls result count.

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?

Clear verb+resource pairing that defines 'agent_ready' as 'queued for agent execution', distinguishing from sibling getters like get_blocking_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 versus get_priorities, get_blocking_tasks, or get_quick_wins; no workflow context provided.

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

get_blocking_tasksC

Get tasks that are blocking other work.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_nameNo

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided, yet description fails to explain what constitutes 'blocking' or expected result volume.

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 is appropriately concise and front-loaded, though minimal content leaves gaps.

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?

Incomplete for the schema richness level; fails to compensate for undocumented parameter and lacks output expectations.

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

Parameters1/5

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

Schema has 0% description coverage and description text doesn't mention project_name parameter at all.

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?

Clear specific verb and resource ('Get tasks that are blocking'), distinguishes from sibling tools like get_agent_ready_tasks and get_quick_wins.

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 vs alternatives (detect_conflicts, get_priorities) or when to specify project_name.

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

get_organizational_summaryC

Get comprehensive organizational state summary.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.8/5.0
Behavior2/5

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

Implies read-only operation via 'Get' but provides no details on performance, scope, or whether it aggregates data from all sibling domains.

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 is appropriately concise but lacks necessary detail for a broad retrieval tool.

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

Completeness2/5

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

Without an output schema, fails to describe what the summary contains or its structure, leaving return values undefined.

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; baseline score applies.

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

Purpose3/5

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

States it retrieves a summary but 'organizational state' remains vague and doesn't specify what data is included (projects, tasks, advisories).

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?

Provides no guidance on when to use this versus specific retrieval tools like get_priorities or get_quick_wins.

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

get_prioritiesC

Get prioritized list of tasks based on organizational context.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeframeNotoday
project_nameNo
statusNo
limitNo

TDQS

C2.1/5.0
Behavior2/5

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

No annotations exist to contradict, but description adds minimal behavioral context beyond 'Get'—omitting how prioritization is calculated, side effects, or return format.

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?

Single sentence avoids bloat, but extreme brevity leaves critical gaps; not structured to front-load key distinctions from siblings.

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?

Insufficient for the tool's complexity (4 parameters, 2 enums) and crowded sibling namespace; lacks output guidance or prioritization logic explanation.

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

Parameters2/5

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

Schema has 0% description coverage and description fails to compensate, mentioning none of the four parameters (timeframe, project_name, status, limit) or their interactions.

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

Purpose2/5

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

Restates tool name tautologically ('get_priorities' → 'Get prioritized list') and fails to distinguish from siblings like get_quick_wins, get_blocking_tasks, or get_agent_ready_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?

Provides no guidance on when to use this versus sibling task-querying tools or what constitutes 'organizational context'.

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

get_quick_winsC

Identify quick win tasks (high impact, low effort).

ParametersJSON Schema
NameRequiredDescriptionDefault
project_nameNo
limitNo

TDQS

C2.9/5.0
Behavior3/5

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

Discloses the selection criteria (high impact, low effort) but omits output format, side effects, or whether results are ranked; no annotations provided to supplement this.

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, though arguably too brief for the tool's contextual complexity given numerous siblings.

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?

Insufficient for the task management domain complexity; missing output schema description, differentiation from 5+ sibling retrieval tools, and parameter details.

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?

Adds no parameter context despite 0% schema description coverage; fails to clarify that project_name scopes the search or that limit defaults to 5.

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?

Clearly defines 'quick wins' as high impact, low effort tasks, but doesn't clarify if it filters existing tasks or generates suggestions, nor how it differs from siblings like assess_task_value or get_priorities.

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?

Provides no guidance on when to use this versus alternatives like get_priorities or get_agent_ready_tasks, nor when-not-to-use scenarios.

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

list_advisory_documentsC

List advisory documents with filtering.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoall
project_nameNo
workflow_nameNo
source_typeNo
limitNo

TDQS

C2.1/5.0
Behavior2/5

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

No annotations provided, yet description omits behavioral details like pagination, sorting order, or result limits.

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?

Brief and front-loaded, but content is too thin to earn its place; appropriately sized yet uninformative.

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 5 undocumented parameters and no output schema, description lacks necessary context about advisory document lifecycle and filter meanings.

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

Parameters2/5

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

Schema has 0% description coverage; description mentions 'filtering' but fails to explain semantics of specific parameters like source_type or workflow_name.

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

Purpose2/5

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

Restates tool name with minimal addition ('with filtering'); fails to distinguish from sibling 'get_advisory_document' (singular vs plural retrieval).

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?

Provides no guidance on when to use filtering vs retrieving a specific document via get_advisory_document.

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

list_projectsD

List all projects.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoactive

TDQS

D1.9/5.0
Behavior2/5

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

With no annotations provided, description fails to disclose default behavior (returns only 'active' projects), pagination limits, or return value structure.

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?

While brief (3 words), it is inappropriately sized for a tool with parameters and many siblings; the single sentence adds no value beyond the tool name.

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

Completeness2/5

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

Given the lack of output schema and presence of filtering logic, description fails to explain what constitutes a 'project' or what data is returned.

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

Parameters1/5

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

Schema has 0% description coverage and description completely omits the 'status' parameter, its enum values, and the 'active' default, leaving agents unaware of filtering capabilities.

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

Purpose2/5

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

Tautology that restates the tool name ('List all projects') without distinguishing from siblings like add_project or list_advisory_documents.

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 versus alternatives like get_organizational_summary, or when to filter by specific statuses versus 'all'.

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

list_webhooksB

List all registered webhooks.

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?

With no annotations, description minimally discloses behavior by specifying 'all' webhooks are returned (matching empty input schema), but lacks details on rate limits, pagination, or return structure.

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?

Extremely concise at 4 words; appropriate length for a parameterless tool with no extraneous content.

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

Completeness3/5

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

Lacks description of return values (no output schema exists to compensate), leaving gap in understanding what webhook data is returned.

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

Parameters4/5

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

Input schema has 0 parameters; baseline score 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?

Specific verb (List) and resource (registered webhooks) clearly stated; implicitly distinguishes from sibling tools register_webhook, update_webhook, and delete_webhook through the 'List' action.

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 alternatives or specific use cases.

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

mark_task_agent_readyC

Mark a task for autonomous agent execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes
agent_configYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations provided; description fails to disclose if this triggers immediate execution, queues the task, or sets a flag.

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 brief (6 words) and front-loaded, though excessive brevity harms 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 nested agent_config object with 5+ sub-properties and no output schema, description lacks necessary detail for correct configuration.

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

Parameters1/5

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

Schema has 0% description coverage with complex enums (autonomy_level, agent_type); description adds zero parameter context.

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?

Clear verb (Mark) and resource (task for autonomous execution) but doesn't differentiate from update_task sibling.

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 vs update_task or prerequisites for marking ready.

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

register_webhookC

Register a webhook endpoint to receive task events.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
urlYes
eventsYes
secretNo

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations provided, the description fails to disclose return values, idempotency behavior, or what happens if a webhook with the same URL exists.

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 and front-loaded, though arguably too brief given the information gaps; the single sentence efficiently conveys the core action.

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?

Insufficient for the medium complexity (4 params, enum values, no output schema); omits critical context like webhook authentication mechanisms and event filtering options.

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?

Given 0% schema description coverage, the description inadequately compensates by leaving name, secret, and the wildcard '*' event unexplained.

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

Purpose4/5

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

Clearly states the action (register) and resource (webhook endpoint) with a specific purpose (receive task events), though it omits that project events are also supported.

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?

Provides no guidance on when to use this versus update_webhook, or prerequisites like checking existing webhooks via list_webhooks.

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

update_agent_statusC

Update agent execution status of a task.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes
agent_statusYes
agent_outputNo

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, description fails to disclose side effects, idempotency, state transition rules, or what triggers when status changes (e.g., notifications).

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 at 6 words with no fluff, though arguably too minimal given the complexity of the state machine implied by the enum.

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 presence of a state machine (5 enum values) and sibling workflow tools, description inadequately explains the lifecycle or transition constraints (e.g., can you go from completed back to processing?).

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

Parameters2/5

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

Schema has 0% description coverage, yet the description adds no explanation for agent_output (optional string) or the semantic meaning of status enum values (checkpoint, queued implications).

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

Purpose3/5

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

States the basic action (update status) and target (task), but 'agent execution status' is vague and doesn't differentiate from sibling update_task or clarify the agent workflow.

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?

Provides no guidance on when to use this versus update_task or mark_task_agent_ready, nor when to use specific status enum values (queued vs processing vs completed).

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

update_projectD

Update a project's properties.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
statusNo
priorityNo
descriptionNo
contextNo

TDQS

D1.7/5.0
Behavior1/5

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

With no annotations provided, the description fails to disclose critical behavioral traits such as whether this performs partial updates (PATCH) or full replacements (PUT), or what happens to unspecified fields.

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?

While brief at only four words, it is inappropriately sized—too short to be useful—and the single sentence fails to earn its place by adding no actionable 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?

For an update operation with five parameters including status enums and priority scales, the description lacks essential context about required fields, update semantics, and success behavior.

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

Parameters1/5

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

Given 0% schema description coverage, the description fails to compensate by explaining parameter semantics (e.g., whether 'name' is an identifier, what 'context' means, or the significance of priority levels 1-5).

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

Purpose2/5

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

The description 'Update a project's properties' is a tautology that merely restates the tool name without distinguishing it from sibling tools like update_task or update_webhook.

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?

Provides no guidance on when to use this versus add_project, update_task, or other alternatives, nor any exclusions or prerequisites.

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

update_taskD

Update an existing task.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes
statusNo
priorityNo
effortNo
impactNo
notesNo

TDQS

D1.8/5.0
Behavior1/5

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

With no annotations provided, the description fails to disclose critical behavioral traits like partial vs full update semantics, side effects, or field preservation rules.

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?

While appropriately brief and front-loaded, the single sentence fails to earn its place by providing minimal information beyond the tool name itself.

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 6 parameters with no schema descriptions and no annotations, the description is insufficiently complete to support correct invocation.

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

Parameters1/5

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

Schema has 0% description coverage yet the description adds no meaning for parameters like impact/effort scales, notes purpose, or status enum implications.

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

Purpose2/5

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

Tautological description 'Update an existing task' merely restates the tool name without distinguishing from sibling tools like add_task or mark_task_agent_ready.

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?

Provides no guidance on when to use this versus alternatives (e.g., mark_task_agent_ready for status changes) or when-not-to-use conditions.

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

update_webhookD

Update a webhook configuration.

ParametersJSON Schema
NameRequiredDescriptionDefault
webhook_idYes
nameNo
urlNo
eventsNo
secretNo
activeNo

TDQS

D1.9/5.0
Behavior2/5

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

With no annotations provided, the description fails to disclose critical behavioral traits such as PATCH vs PUT semantics, idempotency, or error handling for invalid webhook_ids.

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?

While appropriately brief at four words, the single sentence fails to earn its place by adding no informational value beyond the tool name itself.

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

Completeness1/5

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

With six parameters, zero schema descriptions, and no output schema, the description is grossly incomplete—missing critical context about partial updates, required permissions, and return values.

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

Parameters1/5

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

Given 0% schema description coverage, the description completely fails to compensate by explaining parameter semantics like the 'secret' authentication mechanism, 'events' format, or 'active' state transitions.

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

Purpose2/5

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

The description 'Update a webhook configuration' is a tautology that restates the tool name without distinguishing from sibling register_webhook or clarifying the update semantics.

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 update_webhook versus register_webhook, or whether unspecified parameters retain existing values versus being reset.

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

Tool Schema Changelog

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

  1. 24 tool updatesv0.1.0
    • First observedadd_advisory_document
    • First observedadd_project
    • First observedadd_task
    • First observedadopt_advisory_recommendations
    • First observedanalyze_advisory_document
    • First observedassess_task_value
    • First observeddelete_webhook
    • First observeddetect_conflicts
    • First observeddiscuss_advisory_recommendations
    • First observedget_advisory_document
    • First observedget_agent_ready_tasks
    • First observedget_blocking_tasks
    • First observedget_organizational_summary
    • First observedget_priorities
    • First observedget_quick_wins
    • First observedlist_advisory_documents
    • First observedlist_projects
    • First observedlist_webhooks
    • First observedmark_task_agent_ready
    • First observedregister_webhook
    • First observedupdate_agent_status
    • First observedupdate_project
    • First observedupdate_task
    • First observedupdate_webhook

TDQS

C2.5/5.0

Scored across 24 tools

Disambiguation4/5

Tools are well-differentiated across distinct domains: advisory document workflows (analyze/discuss/adopt), task intelligence (assess/value vs. priorities vs. quick wins), and agent orchestration (mark ready vs. update status). While several tools operate on tasks, their purposes—assessment, prioritization, blocking detection, and agent handoff—are clearly distinct.

Naming Consistency4/5

Follows verb_noun convention consistently (add_task, analyze_advisory_document, detect_conflicts). Minor deviations exist: register_webhook breaks the add_* pattern used for other resources, and mark_task_agent_ready uses 'mark' instead of 'update' compared to update_agent_status, but these are readable exceptions rather than chaos.

Tool Count3/5

With 24 tools, this pushes into the 'heavy' category (16-25 range) for a single server. While the domain (project orchestration + advisory workflows + agent execution + webhooks) justifies complexity, the surface area is large enough that agents may struggle to navigate the full set without careful prompting.

Completeness3/5

Strong coverage of advisory document lifecycles and agent orchestration, but notable gaps in basic CRUD: missing get_project and get_task (forcing reliance on list operations with filtering), and no delete operations for projects, tasks, or advisory documents. Webhooks also lack individual retrieval.

Maintenance

ActivityStale
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A comprehensive project management system that provides a full-featured Kanban board and dashboard accessible to AI agents. It enables agents to programmatically manage projects, tasks, and workflows through a suite of 13 specialized tools and 4 resource types.
    4
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A self-hosted backlog tracker with priority scoring and an MCP server, enabling AI agents to autonomously pull, work on, and update tasks via JSON-RPC tools.
    MIT