Skip to main content
Glama
douglaslinsmeyer

pension-pro-mcp

PensionPro MCP Server

A local, open-source MCP server that provides AI assistants with tools to interact with the PensionPro REST API.

Features

  • Plan Lookup & Search — Search plans by name, status, type, or client. Get comprehensive plan details with contacts, cycles, and fee schedules.

  • Project & Task Workflow — Search projects, view task details, complete/uncomplete tasks, reassign tasks, and create projects from templates.

  • Client & Contact Lookup — Search clients and contacts, view client details with associated plans.

  • To-Do Management — Search, create, and update to-dos linked to plans, projects, or contacts.

  • Notes — Add and retrieve notes on plans, projects, tasks, and contacts.

Related MCP server: Jilebi

Prerequisites

  • Python 3.12+

  • A PensionPro API key and username

Installation

Install from PyPI:

pip install pension-pro-mcp

Or run directly with uvx (no install required):

uvx pension-pro-mcp

Configuration

Set the following environment variables:

export PENSION_PRO_API_KEY=your_api_key
export PENSION_PRO_USERNAME=your_username

Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "pension-pro": {
      "command": "uvx",
      "args": ["pension-pro-mcp"],
      "env": {
        "PENSION_PRO_API_KEY": "your_api_key",
        "PENSION_PRO_USERNAME": "your_username"
      }
    }
  }
}

Claude Code

Add to your project's .mcp.json:

{
  "mcpServers": {
    "pension-pro": {
      "command": "uvx",
      "args": ["pension-pro-mcp"],
      "env": {
        "PENSION_PRO_API_KEY": "your_api_key",
        "PENSION_PRO_USERNAME": "your_username"
      }
    }
  }
}

Available Tools

Tool

Description

search_plans

Search and filter plans by name, status, type, or client

get_plan_details

Get plan with contacts, cycles, services, investments, fees

get_plan_projects

Get projects for a plan with task completion summaries

search_projects

Search and filter projects by status, type, or plan

get_project_details

Get project with task groups, tasks, participants, notes, and files

get_task_details

Get a single task with state, assignment, and notes

complete_task

Mark a task as complete

uncomplete_task

Revert a task to incomplete

reassign_task

Reassign a task to a different employee

create_project_from_template

Create a new project from a template

search_clients

Search and filter clients by company name

get_client_details

Get client with plans and notes

search_contacts

Search and filter contacts by name or client

search_todos

Search and filter to-dos

get_todo

Get a to-do with its comments

create_todo

Create a new to-do linked to an entity

update_todo

Update a to-do's details

add_note

Add a note to a plan, project, task, or contact

get_notes

Get notes for an entity

search_api_paths

Search PensionPro API endpoints by keyword

get_api_endpoint

Get full details for a specific API endpoint

search_api_schemas

Search API data models/schemas by keyword

get_api_schema

Get the full definition of an API data model

search_help_articles

Search PensionPro help center articles by keyword

get_help_article

Get the full content of a help article

list_help_sections

List available help sections with article counts

Development

git clone https://github.com/douglaslinsmeyer/pension-pro-mcp.git
cd pension-pro-mcp
pip install -e ".[dev]"
pytest

Refreshing Help Articles

The bundled help articles can be refreshed from the PensionPro knowledge base:

python scripts/scrape_docs.py

License

MIT

Available Tools

32 tools
add_noteA

Add a note to a plan, project, task, or contact. At least one entity ID must be provided.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
plan_idNo
project_idNo
task_idNo
contact_idNo
category_idNo

TDQS

A3.5/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 responsibility. It fails to clarify whether multiple entity IDs can be used simultaneously or if exactly one is expected. No mention of authentication, rate limits, 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.

Conciseness5/5

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

A single, concise sentence that immediately conveys the tool's purpose and a key rule. No redundancy.

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

Completeness2/5

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

The description is incomplete for a tool with 6 parameters and no output schema. It omits details about the note content, category, return value, and behavior when multiple IDs are provided.

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 adds minimal value. It only mentions 'entity ID' generically but does not describe the 'text' parameter or 'category_id', nor does it explain the purpose of each ID field.

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

Purpose5/5

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

The description clearly states the action 'Add a note' and explicitly lists the target resources (plan, project, task, contact). It distinguishes the tool from siblings like 'get_notes' and others.

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 includes a critical constraint: 'At least one entity ID must be provided.' However, it does not mention when to use this tool versus alternatives, though no direct alternative exists among siblings.

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

complete_taskC

Mark a task as complete.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations and only a one-sentence description, the behavioral traits are severely under-disclosed. The description implies a state mutation but does not address permission requirements, side effects, idempotency, or error conditions. The full burden falls on the description, which fails to provide sufficient transparency.

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

Conciseness3/5

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

The description is extremely concise with a single sentence. While it avoids verbosity, it sacrifices critical information. It is minimally viable but lacks structure and depth.

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

Completeness2/5

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

Given the absence of annotations, output schema, and extensive sibling tools, the description is incomplete. It does not explain return values, effects on related entities, or when other tools (e.g., 'update_todo', 'uncomplete_task') might be more appropriate. For a simple tool, basic usage context is missing.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no meaning beyond the schema. The single parameter 'task_id' is not elaborated on—no explanation of how to obtain its value or any constraints. The description fails to compensate for the lack of schema annotations.

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 'Mark a task as complete' provides a clear verb ('mark') and resource ('task') with a specific state change ('complete'). It effectively differentiates from the sibling tool 'uncomplete_task' which performs the opposite 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 is provided on when to use this tool versus alternatives. There is no mention of prerequisites, when not to use it, or comparison with other tools like 'uncomplete_task'. The description offers no contextual usage advice.

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

create_project_from_templateC

Create a new project on a plan from a project template.

ParametersJSON Schema
NameRequiredDescriptionDefault
plan_idYes
template_idYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description must convey behavioral traits. It only indicates a mutation (create) but does not disclose side effects, permissions needed, reversibility, or any constraints. The description is too brief to inform the agent of essential behavioral details.

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. However, it sacrifices substance for brevity; while not verbose, it could be expanded without becoming excessive.

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

Completeness1/5

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

Given the lack of annotations, output schema, and minimal description, the tool is severely underdocumented. A creation tool should explain return values, default behavior, and validation constraints. The description fails to provide enough context for correct usage.

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 has 0% description coverage, yet the description adds minimal semantics beyond the parameter names ('plan_id', 'template_id'). It does not explain what valid values are or how they relate, leaving the agent guessing about the template's role.

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 'Create a new project on a plan from a project template' clearly states the action (create), the resource (project), and the context (on a plan from a template). This distinguishes it from sibling tools like search_projects or get_plan_projects, though it does not specify the nature of the template.

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 or any prerequisites. Sibling tools include other creation tools like create_todo, but no exclusions or context are given.

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

create_todoB

Create a new to-do, optionally linked to a plan, project, or contact.

ParametersJSON Schema
NameRequiredDescriptionDefault
subjectYes
descriptionNo
priority_idNo
due_dateNo
status_idNo
assigned_to_contact_idNo
plan_idNo
project_idNo
contact_idNo

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, and description only states it creates a to-do; no details on mutability, side effects, idempotency, or validation behavior.

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 single sentence with no unnecessary words, directly stating the core 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?

With 9 parameters, no output schema, and no annotations, the description is insufficient; it omits return value, validation rules, and post-creation behavior.

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

Parameters2/5

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

Schema has 0% description coverage; description only hints at link parameters (plan_id, project_id, contact_id) but fails to explain other 6 parameters like subject, description, due_date, etc., adding minimal value over schema titles.

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 the action ('Create') and resource ('to-do'), and mentions optional linking to plan, project, or contact, distinguishing it from sibling tools like update_todo or search_todos.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives; lacks context on prerequisites or scenarios where other tools like update_todo would be more appropriate.

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

get_api_endpointB

Get details for a specific API endpoint. Returns a compact summary by default. Set raw=true for the full JSON schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
pathYes
rawNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/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 discloses the return format distinction (compact summary vs full JSON schema) and hints at the raw parameter's effect. However, it omits information about error behavior (e.g., invalid path), authentication needs, or whether the tool is read-only (implied but not stated). This is adequate but not thorough.

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

Conciseness5/5

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

The description is two concise sentences, each serving a clear purpose: stating the main action and then explaining the optional parameter's effect. No superfluous words, excellent structure.

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 that an output schema exists, return value details are not needed. However, the description lacks context on how the path parameter should be used, what constitutes a valid endpoint, and what happens on error. Compared to the complexity (2 parameters, no enums), it is minimally complete but misses important usage context that an agent would need.

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 0%, so the description must add meaning. It explains that 'raw=true' returns full schema, but does not clarify the format or expected input for 'path' (e.g., full path, relative, leading slash). No examples are given, which would greatly help. The description adds some value but falls short of compensating for low coverage.

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

Purpose4/5

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

The description clearly states the action ('Get details') and resource ('specific API endpoint'), and adds nuance about default compact summary vs full schema with raw parameter. However, it does not explicitly differentiate from similar sibling tools like get_api_schema or search_api_schemas, so it loses a point.

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 about when to use this tool over alternatives. For example, it does not mention that get_api_endpoint is for a single endpoint, while search_api_paths finds endpoints by pattern, or get_api_schema might return the entire schema. This leaves the agent without context for choosing correctly.

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

get_api_schemaA

Get the definition of a specific API data model/schema. Returns a compact summary by default. Set raw=true for the full JSON schema.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
rawNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/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 explains default behavior (compact summary) and the effect of raw=true. Lacks details on error cases or prerequisites, but the simple retrieval nature makes the description sufficient.

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 fluff. All information is relevant and front-loaded. Every sentence adds value.

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?

Low complexity tool with 2 params and output schema. Description covers main functionality and customization. Missing details on what the compact summary includes vs full schema, but overall adequate.

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

Parameters4/5

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

Schema description coverage is 0%, but description adds meaning: explains the raw parameter goal and implies name is the identifier. Compensates well for missing schema descriptions.

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

Purpose5/5

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

Clearly states the action (get definition), the resource (specific API data model/schema), and distinguishes from siblings like get_api_endpoint and search_api_schemas by specifying it returns definitions. Also mentions output options (compact vs raw).

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 vs alternatives. The description explains the two modes but does not indicate situations where other tools like search_api_schemas might be preferable. Sibling context suggests room for improvement.

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

get_client_detailsC

Get a client with their plans and notes.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_idYes

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits, but it only states the basic operation. It does not mention read-only status, permissions, error handling, or what happens for missing clients.

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, concise sentence with no wasted words. However, it is slightly under-specified, which prevents a perfect score.

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 tool with one parameter and no output schema, the description minimally conveys what is returned (plans and notes), but lacks detail on output structure or edge cases, making it marginally adequate.

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

Parameters1/5

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

Schema description coverage is 0%, and the description adds no meaning to the 'client_id' parameter beyond its presence. It does not explain format, constraints, or how it relates to the returned data.

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

Purpose5/5

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

The description clearly states the action ('Get a client') and includes additional context ('with their plans and notes'), which distinguishes it from sibling tools like search_clients and get_plan_details.

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, nor are there any prerequisites or exclusions mentioned, leaving the agent without decision support.

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

get_employee_statsA

Get individual employee performance analysis across all worktrays.

Searches by last name, then computes per-worktray metrics for workload, throughput, and quality (rejections and bounce-backs). Returns a compact summary; full results cached and available via the employee-stats resource.

If the name matches multiple employees, returns a candidate list to disambiguate.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
days_backNo

TDQS

A3.8/5.0
Behavior4/5

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

Discloses key behaviors: searching by last name, computing metrics, returning a summary, caching, and disambiguation. Without annotations, this covers the safety profile well, though missing details like rate limits or missing name 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?

Highly concise with four sentences, each providing distinct information. The purpose is front-loaded, and no superfluous text exists.

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?

Adequately covers the tool's logic, return value (summary and cached resource), and disambiguation. Missing error handling or exact output format are minor gaps given the simplicity of the 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?

Adds meaning for the 'name' parameter (search by last name) over the schema, but 'days_back' is not explained. The description partially compensates for the 0% schema coverage.

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 retrieves individual employee performance analysis across worktrays, specifying it searches by last name and computes per-worktray metrics. However, it does not explicitly distinguish itself from siblings like get_worktray_member_stats.

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?

Provides guidance on handling multiple matches with disambiguation, but does not explain when to use this tool versus alternatives or mention prerequisites.

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

get_help_articleB

Get the full content of a PensionPro help article by its ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
article_idYes

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 carries the full burden. It does not disclose any behavioral traits such as permissions needed, error handling, or potential side effects.

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

Conciseness5/5

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

The description is a single sentence of 11 words, front-loading the essential information with no extraneous text.

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 retrieval with one parameter and no output schema, the description is minimally adequate but does not mention response format or error conditions, which would be helpful.

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

Parameters2/5

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

Schema description coverage is 0%, and the description only mentions 'by its ID', adding minimal meaning beyond the schema's parameter name and type. It does not explain the ID format or source.

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', the resource 'full content of a PensionPro help article', and the method 'by its ID'. It distinguishes itself from the sibling 'search_help_articles' which searches for articles.

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

Usage Guidelines3/5

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

The description implies the tool is for retrieving a specific article by ID, but provides no explicit guidance on when to use it vs. alternatives like 'search_help_articles' or prerequisites.

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

get_notesA

Get notes for an entity (plan, project, task, or contact). At least one entity ID must be provided.

ParametersJSON Schema
NameRequiredDescriptionDefault
plan_idNo
project_idNo
task_idNo
contact_idNo
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/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 carry the full burden of behavioral disclosure. It only states the basic function and entity requirement, omitting details like pagination behavior (limit parameter), ordering, or that it is a read-only operation.

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 two sentences, front-loaded with purpose and a key constraint. Every sentence adds value without redundancy.

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

Completeness3/5

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

Given the tool has 5 parameters, no required fields, and no annotations, but an output schema exists, the description is minimally adequate. It covers the basic operation but lacks guidance on usage scenarios and parameter behavior beyond the entity requirement.

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?

With 0% schema description coverage, the description adds meaning by listing the entity types corresponding to the ID parameters and stating the constraint of at least one required. However, it does not explain the limit parameter or provide further detail on how IDs are used.

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 notes for entities (plan, project, task, contact). The verb 'get' and resource 'notes' are specific, and it distinguishes from siblings like add_note or get_task_details.

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 specifies that at least one entity ID must be provided, which is a key usage constraint. However, it does not provide explicit guidance on when to use this tool versus alternatives (e.g., get_task_details for task specifics), nor does it mention exclusions.

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

get_plan_detailsB

Get comprehensive details for a single plan.

Returns the plan record with contacts, cycles, services, investments, and fee schedules.

ParametersJSON Schema
NameRequiredDescriptionDefault
plan_idYes

TDQS

B3.2/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 implies a read operation ('Get') but doesn't explicitly state it's read-only, or mention authorization, rate limits, or side effects. The output listing provides some transparency but behavioral context 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.

Conciseness5/5

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

The description is extremely concise: two clear sentences with no wasted words. The first sentence states the purpose, the second enumerates the returned data. Front-loaded and 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?

Given no output schema, the description lists the types of data returned (contacts, cycles, etc.), which is helpful. However, it omits potential pagination, error handling, or details on each type's structure. It's adequate for a simple one-param tool but has gaps.

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

Parameters1/5

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

Schema description coverage is 0%, meaning no parameter descriptions in the schema. The description does not compensate by explaining the plan_id parameter (e.g., how to obtain it, format, or constraints). It adds no value beyond the schema's bare type.

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 gets comprehensive details for a single plan, listing specific data types (contacts, cycles, services, etc.) to distinguish it from sibling tools like get_plan_projects or search_plans.

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 when needing full plan details, but lacks explicit guidance on when to use alternatives like search_plans for listing or get_plan_projects for partial data. No when-not-to-use or exclusion criteria are provided.

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

get_plan_projectsB

Get all projects for a plan with task completion summaries.

Each project includes a task_summary with total, completed, and pending counts.

ParametersJSON Schema
NameRequiredDescriptionDefault
plan_idYes
statusNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 carries the full burden of behavioral disclosure. It mentions the output includes task summaries, which adds value, but does not state whether the operation is read-only, has any side effects, requires authentication, or has rate limits. The lack of any behavioral safety cues is a gap.

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

Conciseness5/5

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

The description is two sentences, front-loaded with the primary purpose, and every word contributes. No verbosity or redundancy.

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

Completeness3/5

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

The tool has 2 parameters and an output schema exists (not shown). The description mentions the task_summary object, which helps agents understand return values. However, it does not document the 'status' parameter's effect, nor any constraints like pagination or plan_id existence. For a simple listing tool, this is adequate but not fully complete.

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

Parameters2/5

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

Schema description coverage is 0%, so the description should compensate by explaining parameter meanings. However, the description does not explain either 'plan_id' (beyond it being an identifier) or 'status' (its purpose or allowed values). The output shape is hinted at, but parameter semantics are missing.

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 tool retrieves all projects for a specific plan, with task completion summaries. It uses a specific verb ('get') and resource ('projects for a plan'), and distinguishes from siblings like search_projects (which search across plans) and get_project_details (single project).

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?

Description implies usage for listing all projects under a given plan with summary counts, but provides no explicit guidance on when to use this over alternatives like search_projects, or when not to use it. No exclusions or prerequisites are mentioned.

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

get_project_detailsB

Get a project with its task groups, tasks, participants, notes, and files.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

TDQS

B3.2/5.0
Behavior3/5

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

Without annotations, the description should disclose behavioral traits. It implies a read operation but does not explicitly state idempotency, permissions, or side effects. The listing of included items provides some context, but lacks depth.

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

Conciseness4/5

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

The description is one sentence, concise and front-loaded with the main action. However, it lists multiple items without clear structure, but it is still effective.

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

Completeness2/5

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

With no output schema, no annotations, and one parameter, the description is insufficient. It omits return format, error conditions, and what happens if the project does not exist.

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 schema has 0% description coverage for the single parameter 'project_id'. The description does not explain the parameter beyond its name, leaving the agent to infer its meaning and constraints.

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 explicitly states the tool retrieves a project and lists the included related entities (task groups, tasks, participants, notes, files). This clearly differentiates it from sibling tools that fetch other resources.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like search_projects or get_plan_details. There are no prerequisites or exclusions mentioned.

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

get_task_detailsA

Get a single task with its current state, assignment, and notes.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes

TDQS

A3.8/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 full burden. It describes a read operation, but does not disclose potential side effects, authentication needs, or error scenarios. The description is adequate but not rich.

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 11 words, no filler. Every word contributes to understanding the tool's purpose and return value.

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 essentials. Minor gap: no mention of error handling or status codes, but acceptable 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?

Only one parameter 'task_id' with 0% schema description coverage. The parameter name is self-explanatory, but the description adds no additional context about expected format or source. Baseline score of 3 is appropriate given low coverage.

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

Purpose5/5

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

The description clearly states the verb 'Get', the resource 'a single task', and specifies the data returned: 'current state, assignment, and notes'. This distinguishes it from siblings like 'get_todo' and 'get_project_details'.

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. Usage is implied from the name and description, but with many sibling tools, additional context on when to choose this over e.g., 'get_todo' would be helpful.

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

get_task_groupB

Get a task group with all its tasks.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_group_idYes

TDQS

B3.2/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 implies a read operation but lacks disclosure on pagination, sorting, auth requirements, or whether 'all its tasks' includes full task details.

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, front-loaded sentence with zero waste. Every word contributes to the purpose.

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?

Minimally adequate for a simple read tool with one parameter. However, lacks details on return structure (e.g., whether it returns the group object plus tasks) and any constraints (e.g., task limit).

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

Parameters2/5

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

Schema description coverage is 0%. The single parameter 'task_group_id' is neither explained nor given additional semantic context beyond its name, leaving the agent to infer its meaning.

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

Purpose5/5

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

The description clearly states the action ('Get') and resource ('task group') with the specific scope ('with all its tasks'). It distinguishes from siblings like get_task_details (single task) and get_project_details (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 on when to use this tool versus alternatives (e.g., get_task_details or search_projects). The description does not provide context for selection.

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

get_task_group_cycle_timesA

Compute task group cycle times segmented by project template.

Analyzes completed task groups within the lookback window to reveal which workflows are slow and which steps are bottlenecks. Returns per-template stats including avg/median/min/max cycle time and SLA adherence.

Set include_steps=true to fetch per-task step durations and identify the bottleneck step within each template. This makes additional API calls (one per task group) and may be slow for large result sets.

ParametersJSON Schema
NameRequiredDescriptionDefault
days_backNo
plan_idNo
template_idNo
include_stepsNo

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description adequately discloses behavioral traits: it mentions that include_steps=true triggers additional API calls and may be slow, which is a critical performance consideration. It also explains the return statistics. However, it lacks details on authentication, rate limits, or data freshness.

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 efficiently structured: a one-sentence purpose, a short paragraph on output, and a focused paragraph on the include_steps parameter. Every sentence adds value, with no redundant or vague language.

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 the absence of an output schema, the description adequately describes the return format (per-template stats with avg/median/min/max and SLA adherence). It also addresses the performance impact of include_steps. However, it does not explain the days_back default or validate that it only works on completed task groups, leaving minor gaps.

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

Parameters3/5

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

The schema has 0% description coverage, so the description must compensate. It explains include_steps in detail, mentions days_back implicitly via 'lookback window', and template_id via 'segmented by project template'. However, plan_id is not described at all, leaving one parameter without semantic guidance.

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 computes task group cycle times segmented by project template. It identifies the resource (task groups) and the action (compute cycle times) with specificity. Among the sibling tools, none directly perform cycle time analysis, so it distinguishes itself effectively.

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 provides clear context for when to use this tool: to reveal slow workflows and bottleneck steps. It does not explicitly state when not to use it or mention alternatives, but the context is sufficiently clear for an AI agent to infer appropriate usage scenarios.

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

get_todoB

Get a to-do with its comments.

ParametersJSON Schema
NameRequiredDescriptionDefault
todo_idYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided; the description only states what is returned but does not disclose side effects, auth requirements, or read-only behavior. The transparency 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.

Conciseness5/5

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

The description is a single, short sentence that conveys the essential purpose without unnecessary words. Front-loaded and efficient.

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

Completeness4/5

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

For a simple tool with one parameter and no output schema, the description is mostly complete. It specifies the resource and scope (with comments), though it lacks details on return format or errors.

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 schema has one parameter (todo_id) with 0% description coverage, and the description does not explain what todo_id represents or how to find it. No additional meaning added beyond the parameter name.

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 'Get a to-do with its comments' clearly states the action (get) and the resource (todo with comments), distinguishing it from sibling tools like create_todo or search_todos.

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 like search_todos. The description does not mention prerequisites or scenarios.

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

get_worktrayB

Get a worktray with its members and all active (incomplete) tasks routed to it.

ParametersJSON Schema
NameRequiredDescriptionDefault
worktray_idYes

TDQS

B3.2/5.0
Behavior3/5

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

Annotations are absent, so the description carries the full burden. It discloses that only active (incomplete) tasks are returned, but does not mention error handling, authorization, or side effects. Minimal but adequate for a simple read operation.

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 14-word sentence that effectively conveys the purpose. No unnecessary words or repetition.

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 simple input and no output schema, the description covers the basic functionality. However, it omits details about return structure, error conditions, and whether members include full user objects. Leaves some uncertainty for an AI agent.

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

Parameters1/5

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

Schema description coverage is 0%, and the description does not explain the 'worktray_id' parameter (e.g., how to find it or its format). No value is added beyond the schema's type and required flag.

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 it retrieves a worktray along with its members and active tasks, distinguishing it from siblings like 'get_worktrays' which likely lists worktrays without details.

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 'get_worktrays' or 'get_worktray_member_stats'. 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.

get_worktray_member_statsA

Get per-member workload, performance, and queue health metrics for a worktray.

Analyzes completed tasks within the lookback window and current active tasks. Returns a compact summary with the top 20 members by activity, aggregate stats, and queue health. Full results (all members, individual task lists, overdue task details) are written to a cache file and available via the worktray-stats resource.

ParametersJSON Schema
NameRequiredDescriptionDefault
worktray_idYes
days_backNo

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description fully carries the burden. It discloses that the tool analyzes completed tasks within a lookback window, returns a compact summary with top 20 members, and writes full results to a cache file available via a resource. This provides good transparency about what the tool does and its limitations.

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

Conciseness5/5

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

The description is concise and well-structured. The first sentence states the purpose, followed by additional details in two short paragraphs. No redundant or unnecessary information, earning top marks.

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 the complexity (2 params, no output schema, no annotations), the description covers the tool's behavior adequately. It explains the summary output, member limit, and cache file. However, it could better describe the exact metrics (e.g., what 'queue health' entails), but overall it is sufficiently complete.

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 0%, so the description must add parameter meaning. It hints at the 'days_back' parameter via 'lookback window', but does not explain 'worktray_id' or provide full parameter semantics. The added value is marginal, justifying a score of 3.

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 the tool retrieves per-member workload, performance, and queue health metrics for a worktray. The verb 'Get' and specific resource 'per-member metrics' provide precise purpose, distinguishing it from sibling tools like get_worktray (overall info) or get_employee_stats.

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 use for member-level metrics but does not explicitly guide when to use this tool versus alternatives like get_worktray or get_employee_stats. No 'when to use' or 'when not to use' guidance is given, though the context of 'per-member' and 'worktray' is clear.

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

get_worktraysB

List all worktrays. Set active_only=false to include inactive worktrays.

ParametersJSON Schema
NameRequiredDescriptionDefault
active_onlyNo
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 implies a read operation but does not disclose pagination behavior, ordering, authentication needs, or any side effects. The limit parameter is not explained.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose, no superfluous words. Every sentence adds value, making it highly 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?

Though an output schema exists, the description omits what is returned (e.g., list of worktray objects, pagination details). For a simple list operation it is minimally adequate but incomplete for an agent to fully understand behavior.

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

Parameters2/5

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

Schema description coverage is 0%, yet the description only addresses the active_only parameter briefly and ignores limit. It adds minimal meaning beyond the schema titles and defaults.

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 'List all worktrays' with a specific verb and resource, and distinguishes from the sibling tool 'get_worktray' which retrieves a single worktray.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like get_worktray or other listing tools. The description only hints at the active_only parameter but lacks context for decision-making.

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

list_help_sectionsA

List all available PensionPro help center sections with article counts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It correctly indicates the tool lists sections with counts but does not mention any side effects, authentication needs, or behavior under error conditions (e.g., empty list). For a simple read-only list, this is minimally adequate.

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, front-loaded with the action and resource. It is concise without being under-specified. However, the structure could be improved by adding a brief usage context.

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 the tool's simplicity (no parameters, output schema exists), the description is reasonably complete. It tells the agent what the tool does and the output contains article counts. It does not explain when to prefer this over sibling tools, which slightly reduces 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?

There are no parameters, so schema coverage is 100%. With zero parameters, the baseline is 4. The description does not need to add parameter details but is succinct enough.

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 'list all available... sections with article counts', which is a specific verb ('list') and resource ('help center sections'). It distinguishes from siblings like 'get_help_article' and 'search_help_articles' by focusing on listing sections rather than individual articles.

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. It does not mention prerequisites, exclusions, or context such as filtering or searching, which is a significant gap given the presence of sibling search tools.

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

reassign_taskC

Reassign a task to a different employee.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes
assigned_to_idYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations exist, and the description only states basic action. No disclosure of side effects (e.g., notifications, permission requirements) or return behavior.

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

Conciseness3/5

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

Very short (1 sentence), which is concise but lacks sufficient detail for optimal understanding. It could be improved by adding a bit more context without becoming 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?

No output schema, no annotations, and many sibling tools. The description does not cover return values, side effects, or specific scenarios. It leaves many questions for an AI agent.

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

Parameters2/5

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

Schema description coverage is 0%, and the description does not explain the parameters beyond their names (task_id, assigned_to_id). The parameter names are self-explanatory, but the description adds no additional meaning.

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

Purpose4/5

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

The description clearly states the verb 'reassign' on a 'task' to a 'different employee'. It distinguishes from sibling tools like complete_task or add_note, though not explicitly.

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, no exclusions or prerequisites.

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

search_api_pathsA

Search PensionPro API endpoints by keyword. Use this to discover available API paths.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 must carry the full burden. It states the basic operation but does not disclose behavioral details such as whether results are paginated, rate limits, or the format of return values. The presence of an output schema partially compensates.

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: two sentences with no redundant information. The key action is front-loaded in the first sentence.

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 the tool has a single parameter and an output schema exists, the description is mostly adequate for a search/discovery tool. It covers the purpose and usage context, though the parameter semantics could be improved.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must add meaning. It only mentions 'by keyword,' which adds little beyond the parameter name itself. No guidance on valid keywords, format, or examples is provided.

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

Purpose5/5

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

The description clearly states the action: 'Search PensionPro API endpoints by keyword.' The verb 'search' and resource 'API endpoints' are specific. It distinguishes itself from sibling search tools like 'search_api_schemas' and 'search_clients' by focusing on paths.

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 includes 'Use this to discover available API paths,' which tells the agent when to use it. However, it does not explicitly mention alternatives (e.g., 'get_api_endpoint' for a specific endpoint) 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.

search_api_schemasA

Search PensionPro API data models by keyword. Use this to discover field names and types.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/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 implies a read-only search (no mention of side effects), but does not explicitly state safety, authentication needs, or rate limits. For a search tool, this is minimal 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?

Two short sentences, no unnecessary words. The purpose is front-loaded, and every sentence contributes value. Excellent 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?

The tool has an output schema, so the return format is covered. However, given the context of low schema coverage and sibling tools, the description could be more complete by mentioning the scope of the search (e.g., all schemas), case sensitivity, or partial matching behavior. It is adequate but not thorough.

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 has one string parameter 'keyword' with 0% schema description coverage. The description adds the context that the keyword is used to search for field names and types, but does not provide examples, format expectations, or case sensitivity. Given the simplicity of the parameter, the added meaning is marginal but acceptable.

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

Purpose5/5

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

The description clearly states the action 'Search PensionPro API data models by keyword' and the purpose 'discover field names and types'. It uses a specific verb and resource, and implies a search across schemas, which distinguishes it from sibling tools like get_api_schema (which retrieves a single schema) and search_api_paths (which searches paths).

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 gives one explicit use case ('Use this to discover field names and types'), but does not provide when-not-to-use or compare to alternatives. Sibling tools exist for similar purposes, so additional guidance would help avoid mis-selection.

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

search_clientsB

Search and filter clients by company name.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations exist, and the description fails to disclose behavioral traits such as read-only nature, pagination, match behavior (exact vs fuzzy), or effects of the limit parameter.

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 concise at one sentence, but it could be slightly expanded for clarity 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 low complexity and presence of an output schema, the description still lacks guidance on usage, parameter details, and behavioral context, leaving significant gaps.

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?

With 0% schema description coverage, the description should elaborate on parameters. It mentions 'by company name' hinting at the 'name' parameter but does not explain 'limit'.

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

Purpose5/5

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

The description clearly states the action (search and filter) and the target resource (clients) with a specific filter criterion (company name). It distinguishes itself from sibling tools like search_contacts and search_projects.

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. It does not mention exclusions or context for use.

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

search_contactsC

Search and filter contacts by name or client.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
client_idNo
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only states it searches and filters. It does not disclose return format, pagination behavior, or other traits beyond the parameter names.

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

Conciseness3/5

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

A single sentence is concise but lacks structure. It earns its place but could be expanded with critical details without becoming 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 output schema exists, description is still incomplete. It omits how filtering combines parameters, whether matches are exact or partial, and the role of limit. Agent may misuse tool without these 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?

The description mentions 'name or client' but adds no detail beyond parameter names. Schema coverage is 0%, so description must compensate but fails to explain how parameters work, including limit default behavior.

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 searches and filters contacts by name or client. However, it does not differentiate from sibling search tools like search_clients or search_projects, missing an opportunity to clarify 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 is provided on when to use this tool vs alternatives. With several search tools as siblings, the absence of usage context forces the agent to rely on names alone.

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

search_help_articlesA

Search PensionPro help center articles by keyword. Optionally filter by section name. Use list_help_sections to see available sections.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordYes
sectionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

No annotations provided, so description must carry behavioral disclosure. It states basic operation but does not mention pagination, result format, or ordering. 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?

Two sentences, no wasted words. Front-loaded with the core action, followed by a useful cross-reference. Highly efficient.

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

Completeness4/5

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

Given the tool's simplicity (2 params, no enums, has output schema), the description covers the essential purpose and provides sibling guidance. Lacks detail on return type, but output schema fills that gap.

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?

With 0% schema description coverage, the description adds meaning by explaining that keyword is for searching and section is an optional filter. Does not, however, specify format constraints or provide examples.

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 verb 'search', resource 'PensionPro help center articles', and specifies two search dimensions (keyword and optional section filter). It distinguishes from siblings like list_help_sections and get_help_article.

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

Usage Guidelines4/5

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

Explicitly suggests using list_help_sections to see available sections, providing clear guidance. Lacks explicit when-not-to-use or alternatives for other scenarios, but overall helpful.

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

search_plansA

Search and filter pension plans by name, status, type, or client.

Returns a summary list of matching plans.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
statusNo
plan_typeNo
client_nameNo
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/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 carry the full burden of behavioral disclosure. It only says 'search and filter' and 'returns a summary list', with no mention of side effects, authorization needs, result ordering, or limit behavior.

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

Conciseness5/5

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

Two concise sentences front-load the purpose. No redundant information. Every word serves a clear function.

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 has five optional parameters and an output schema, the description covers the core function but lacks details on default limit, pagination, or result behavior. It is minimally adequate but not fully complete.

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 0%. The description adds meaning by listing four of the five parameters (name, status, type, client) but omits 'limit'. The parameter names are somewhat self-explanatory, but the description partially compensates for the missing schema descriptions.

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

Purpose5/5

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

The description clearly states the tool searches and filters pension plans by specific fields (name, status, type, client). This differentiates it from sibling search tools like 'search_clients' and 'search_projects'.

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 does not explicitly provide when to use this tool versus alternatives. It simply states its function, leaving the agent to infer usage from context. No exclusions or alternative recommendations are given.

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

search_projectsC

Search and filter projects by status, type, or plan.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNo
project_typeNo
plan_idNo
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It only states search/filter capability but does not disclose read-only nature, default behavior with no parameters, or any side effects. Minimal behavioral insight.

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, front-loaded with verb, no redundancy. Efficient but could benefit from slightly more detail while remaining concise.

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

Completeness2/5

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

Description lacks context on output, pagination, and default behavior when no filters are applied. Given the output schema exists but is not described, and the tool has 4 parameters with no required ones, the description is insufficient for complete understanding.

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

Parameters2/5

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

Schema coverage is 0%, and description only lists parameter categories (status, type, plan) without explaining valid values, formats, or behavior. Adds some meaning beyond schema names but insufficient to fully understand parameters.

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 it searches/filters projects by status, type, or plan. Verb 'search and filter' combined with the noun 'projects' is specific. However, it does not differentiate from sibling search tools like search_plans or search_clients.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like get_project_details or search_plans. No context on prerequisites or exclusions.

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

search_todosC

Search and filter to-dos by status, priority, plan, or project.

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNo
priorityNo
plan_idNo
project_idNo
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

The description lacks details beyond 'search and filter'. No disclosure of pagination, read-only nature, authentication needs, or other behavioral traits. With no annotations, the description bears full responsibility.

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

Conciseness3/5

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

The description is a single concise sentence, but it is underspecified. Efficient in word count but sacrifices necessary context, making it borderline adequate.

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

Completeness2/5

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

Given the five parameters and sibling tools, the description is incomplete. It does not explain output, pagination (though 'limit' is present), or when to use each filter. Lacks crucial context for correct invocation.

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

Parameters2/5

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

With 0% schema description coverage, the description adds minimal meaning: it lists filter fields but provides no details on accepted values or formats. Compensates slightly by identifying filterable attributes but insufficient for effective use.

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 searches and filters to-dos, listing specific filter fields (status, priority, plan, project). This distinguishes it from sibling tools like 'get_todo' which retrieves a single to-do, and other search tools like 'search_projects'.

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 'get_todo' or 'search_tasks'. No mention of when not to use it or prerequisites.

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

uncomplete_taskB

Undo task completion — revert a task to incomplete.

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYes

TDQS

B3.2/5.0
Behavior3/5

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

Without annotations, the description discloses the basic behavior (revert to incomplete) but omits side effects, permissions, or constraints. Minimal 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?

Single sentence, front-loaded with the action, and no unnecessary words—perfectly concise.

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 and lack of output schema, the description is adequate but misses extra context like validation or prerequisites (e.g., task must be completed first).

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

Parameters1/5

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

Schema description coverage is 0% and the description adds no meaning to the single parameter 'task_id', failing to indicate its 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 'Undo task completion — revert a task to incomplete' clearly states the verb (undo) and resource (task completion), directly distinguishing it from the sibling 'complete_task'.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool vs alternatives (e.g., 'complete_task'), lacks prerequisites, and does not mention 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.

update_todoC

Update an existing to-do's subject, description, status, priority, or due date.

ParametersJSON Schema
NameRequiredDescriptionDefault
todo_idYes
subjectNo
descriptionNo
status_idNo
priority_idNo
due_dateNo

TDQS

C2.7/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits, but it only states 'Update' without explaining side effects, permissions required, error handling, or that only provided fields are modified. This omission leaves the agent unaware of potential risks or constraints.

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

Conciseness4/5

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

The description is a single sentence of 15 words, concise and front-loaded with the action and resource. It wastes no words, though it could benefit from slightly more detail without becoming 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 complexity of 6 parameters, no schema descriptions, no output schema, and no annotations, the description is incomplete. It does not explain return values, partial update semantics, or validation rules, leaving agents with insufficient context for correct invocation.

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

Parameters2/5

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

Schema description coverage is 0%, so the description should add meaning beyond parameter names. It merely lists the fields that can be updated, which are already visible in the schema. No format, allowed values, or behavioral context is provided for parameters like due_date or status_id.

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

Purpose4/5

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

The description clearly states the tool updates an existing to-do and lists the updatable fields (subject, description, status, priority, due date). It uses the verb 'Update' and specifies the resource, distinguishing it from unrelated siblings like get_todo or search_todos, though it does not mention that the update is partial.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like complete_task (which changes status to completed) or create_todo for new items. The description does not specify prerequisites 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.

Tool Schema Changelog

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

  1. 32 tool updatesv0.2.1
    • First observedadd_note
    • First observedcomplete_task
    • First observedcreate_project_from_template
    • First observedcreate_todo
    • First observedget_api_endpoint
    • First observedget_api_schema
    • First observedget_client_details
    • First observedget_employee_stats
    • First observedget_help_article
    • First observedget_notes
    • First observedget_plan_details
    • First observedget_plan_projects
    • First observedget_project_details
    • First observedget_task_details
    • First observedget_task_group
    • First observedget_task_group_cycle_times
    • First observedget_todo
    • First observedget_worktray
    • First observedget_worktray_member_stats
    • First observedget_worktrays
    • First observedlist_help_sections
    • First observedreassign_task
    • First observedsearch_api_paths
    • First observedsearch_api_schemas
    • First observedsearch_clients
    • First observedsearch_contacts
    • First observedsearch_help_articles
    • First observedsearch_plans
    • First observedsearch_projects
    • First observedsearch_todos
    • First observeduncomplete_task
    • First observedupdate_todo

TDQS

B3.1/5.0

Scored across 32 tools

Disambiguation5/5

Each tool targets a distinct entity or operation; search, get, create, and action tools are clearly separated with no overlapping purposes.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern (e.g., add_note, get_plan_details, search_plans) with only minor deviations like uncomplete_task, which still fits the pattern.

Tool Count2/5

32 tools is excessive for a typical MCP server; while the domain is broad, the count overwhelms the coherence and suggests potential redundancy (e.g., multiple API schema tools).

Completeness2/5

Notable gaps exist: no create/update/delete for plans, projects, or tasks (only create_todo and complete_task exist). The surface is incomplete for full lifecycle management.

Maintenance

ActivityInactive
ResponsivenessUnresponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    A personal MCP server for AI assistant integration that provides custom tools, resources, and prompts for use with Claude Desktop and other MCP-compatible clients.
    2
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    A plugin-based MCP server that enables AI assistants to interact with external systems through custom tools, resources, and prompts.
    4
    AGPL 3.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    A generic MCP server that converts any OpenAPI/Swagger specification into MCP tools, enabling AI assistants to search, explore, and execute REST APIs.
    MIT