Skip to main content
Glama
IMPORTANT

๐Ÿ“ฆ This project is now archived

Float has released their own first-class MCP server, and we're archiving this community project in favor of it. Float has the resources and direct API access to continue this work far better than we can.

A huge thank you to the community for the contributions, feedback, and support โ€” and to the Float team for embracing MCP natively. ๐Ÿ™Œ

๐Ÿ‘‰ Use Float's official MCP server going forward: float.com/whats-new/float-mcp-ask-float-in-chatgpt-or-claude


Float MCP Server

MIT License TypeScript MCP

A comprehensive Model Context Protocol (MCP) server that provides seamless integration with Float.com - the resource management and project planning platform. This server exposes Float's complete API as MCP tools, enabling AI assistants like Claude to interact with Float for project management, resource allocation, time tracking, and team coordination.

Related MCP server: Discord MCP Server

๐ŸŒŸ Features

Complete Float API Coverage

  • ๐Ÿ‘ฅ People Management - Full CRUD operations for team members

  • ๐Ÿ“ Project Management - Projects, phases, tasks, and milestones

  • โฑ๏ธ Time Tracking - Logged time, timesheets, and billable hours

  • ๐Ÿ“Š Resource Allocation - Team member assignments and scheduling

  • ๐ŸŽฏ Task Management - Project tasks, dependencies, and workflows

  • ๐Ÿข Organization - Departments, roles, accounts, and permissions

  • ๐Ÿ“… Time Off - PTO requests, approvals, and holiday management

  • ๐Ÿ“ˆ Reports - Time reports, utilization, and project analytics

Advanced Features

  • ๐Ÿ”„ Rate Limiting - Built-in API rate limiting with exponential backoff

  • ๐Ÿ›ก๏ธ Type Safety - Full TypeScript support with Zod schema validation

  • ๐Ÿ“ Comprehensive Logging - Detailed logging for debugging and monitoring

  • โšก Performance - Optimized for fast response times and efficient API usage

  • ๐Ÿงช Testing - Comprehensive integration test suite

  • ๐Ÿณ Docker Support - Ready-to-deploy Docker container

๐Ÿš€ Quick Start

Prerequisites

  • Node.js 22.0.0 or later

  • Float.com account with API access

  • Valid Float API key

1. Installation Options

For DXT-compatible environments, download the latest DXT package:

๐Ÿ“ฆ Download Float MCP Extension (.dxt)

Install the .dxt file through your DXT-compatible application.

B. Manual Installation

# Using npm
npm install

# Using yarn
yarn install

2. Configuration

Create a .env file in the project root:

# Float API Configuration
FLOAT_API_KEY=your_float_api_key_here
FLOAT_API_BASE_URL=https://api.float.com/v3

# Optional: Enable debug logging
LOG_LEVEL=info

3. Build & Run

# Build the project
npm run build

# Start the MCP server
npm start

# For development with auto-reload
npm run dev

4. MCP Client Integration

For DXT Installation

After installing the DXT extension, configure your Float API key in the extension settings. The extension will handle the MCP server configuration automatically.

For Manual Installation

Add to your MCP client configuration (e.g., Claude Desktop):

{
  "mcpServers": {
    "float-mcp": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "-e",
        "FLOAT_API_KEY=YOURAPIKEY",
        "-e",
        "LOG_LEVEL=debug",
        "ghcr.io/asachs01/float-mcp:latest"
      ]
    }
  }
}

๐Ÿš€ Available Tools

The Float MCP server provides 4 optimized decision-tree tools that efficiently replace 246+ granular tools while maintaining complete functionality:

1. manage-entity - Core Entity Management

Consolidates all CRUD operations for core entities with decision tree routing:

manageEntity({
  entity_type: "people" | "projects" | "tasks" | "clients" | "departments" | "roles" | "accounts" | "statuses",
  operation: "list" | "get" | "create" | "update" | "delete" | "get-current-account" | "bulk-update-account-permissions",
  // ... entity-specific parameters
})

Replaces: All CRUD tools for people, departments, roles, accounts, projects, tasks, clients, and statuses (~120 tools)

2. manage-project-workflow - Project Operations

Handles all project-specific workflow operations:

manageProjectWorkflow({
  workflow_type: "phases" | "milestones" | "project-tasks" | "allocations", 
  operation: "list" | "get" | "create" | "update" | "delete" | "complete" | "archive" | "bulk-create" | "reorder",
  // ... workflow-specific parameters
})

Replaces: Project phases, milestones, project tasks, allocations, dependencies, bulk operations (~60 tools)

3. manage-time-tracking - Time Management

Manages all time-related operations with comprehensive reporting:

manageTimeTracking({
  tracking_type: "logged-time" | "timeoff" | "public-holidays" | "team-holidays",
  operation: "list" | "get" | "create" | "update" | "delete" | "approve" | "reject" | "bulk-create",
  report_type?: "person-summary" | "project-summary" | "timesheet" | "billable-analysis",
  // ... time-specific parameters  
})

Replaces: Logged time, time off, holidays, approvals, timesheets, summaries (~45 tools)

4. generate-report - Analytics & Reporting

Comprehensive reporting and analytics engine:

generateReport({
  report_type: "time-report" | "project-report" | "people-utilization-report" | "capacity-report" | "budget-report",
  // Advanced filtering and grouping options
  group_by?: "person" | "project" | "client" | "department" | "date" | "week" | "month",
  include_details?: boolean,
  // ... extensive reporting parameters
})

Replaces: All reporting tools with advanced analytics, grouping, filtering (~20 tools)

๐Ÿ“Š Optimization Benefits

  • ๐Ÿ”ฅ Massive Efficiency: 246+ tools โ†’ 4 optimized tools (98.4% reduction)

  • ๐Ÿง  AI-Friendly: Decision tree parameters instead of tool proliferation

  • โšก Better Performance: Consolidated API calls and reduced overhead

  • ๐Ÿ”’ Full Compatibility: Zero functionality loss, complete backward compatibility

  • ๐Ÿ› ๏ธ Easier Maintenance: Centralized logic with consistent patterns

๐Ÿ”„ Legacy Tools (Backward Compatibility)

All original 246+ granular tools remain available for backward compatibility:

Reporting & Analytics

  • Reports: get-time-report, get-project-report, get-people-utilization-report

  • Analytics: get-person-logged-time-summary, get-project-logged-time-summary

๐Ÿ”ง Configuration

Environment Variables

Variable

Description

Required

Default

FLOAT_API_KEY

Your Float API key

โœ… Yes

-

FLOAT_API_BASE_URL

Float API base URL

โŒ No

https://api.float.com/v3

LOG_LEVEL

Logging level (error, warn, info, debug)

โŒ No

info

MAX_RETRIES

Maximum API retry attempts

โŒ No

3

REQUEST_TIMEOUT

API request timeout (ms)

โŒ No

30000

Getting a Float API Key

  1. Log in to your Float account

  2. Go to Settings > API > Personal Access Tokens

  3. Click Generate New Token

  4. Copy the API key

  5. Add it to your .env file

๐Ÿ“– Usage Examples

Basic Operations

// List all projects
const projects = await listProjects({});

// Get a specific project
const project = await getProject({ project_id: 12345 });

// Create a new person
const person = await createPerson({
  name: 'John Doe',
  email: 'john@example.com',
  department_id: 1,
});

// Schedule an allocation
const allocation = await createAllocation({
  project_id: 12345,
  people_id: 67890,
  start_date: '2024-01-15',
  end_date: '2024-01-31',
  hours: 8,
});

Advanced Workflows

// Get team utilization report
const utilization = await getPeopleUtilizationReport({
  start_date: '2024-01-01',
  end_date: '2024-12-31',
});

// Bulk create project tasks
const tasks = await bulkCreateProjectTasks({
  project_id: 12345,
  tasks: [
    { name: 'Design Phase', start_date: '2024-01-01' },
    { name: 'Development Phase', start_date: '2024-01-15' },
  ],
});

// Process time off request
await createTimeOff({
  people_ids: [67890],
  timeoff_type_id: 1,
  start_date: '2024-02-01',
  end_date: '2024-02-05',
  status: 1, // Pending approval
});

await approveTimeOff({
  timeoff_id: 123,
  approved_by: 456,
  notes: 'Approved for vacation',
});

๐Ÿงช Testing

Running Tests

# Run all tests
npm test

# Run integration tests (requires API key)
npm run test:integration

# Run tests with coverage
npm run test:coverage

# Run specific test suites
npm run test:integration:mock  # Mock API responses
npm run test:integration:real  # Real API calls (use with caution)

Test Configuration

For integration tests with real API calls:

# .env.test
FLOAT_API_KEY=flt_your_test_api_key
TEST_REAL_API=true
TEST_MOCK_MODE=false

๐Ÿณ Docker Support

Using Docker

# Build the image
docker build -t float-mcp .

# Run the container
docker run -d \
  --name float-mcp \
  -e FLOAT_API_KEY=your_float_api_key_here \
  -p 3000:3000 \
  float-mcp

Docker Compose

version: '3.8'
services:
  float-mcp:
    build: .
    environment:
      - FLOAT_API_KEY=your_float_api_key_here
      - LOG_LEVEL=info
    ports:
      - '3000:3000'
    restart: unless-stopped

๐Ÿ” Troubleshooting

Common Issues

API Key Issues

Error: Unauthorized (401)
# Solution: Check your API key format and validity

Rate Limiting

Error: Too Many Requests (429)
# Solution: The server automatically handles rate limiting with exponential backoff

Connection Issues

Error: Network timeout
# Solution: Check your internet connection and Float API status

Debug Mode

Enable detailed logging:

LOG_LEVEL=debug

This will show all API requests/responses and internal operations.

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

Development Setup

# Clone the repository
git clone https://github.com/asachs01/float-mcp.git
cd float-mcp

# Install dependencies
npm install

# Set up environment
cp .env.example .env
# Edit .env with your Float API key

# Run in development mode
npm run dev

Code Quality

# Run linting
npm run lint

# Format code
npm run format

# Type checking
npm run typecheck

๐Ÿ“„ Documentation

๐Ÿ“Š Project Status

  • โœ… Complete Float API Coverage - All Float v3 endpoints implemented

  • โœ… Production Ready - Full error handling, rate limiting, and logging

  • โœ… Well Tested - Comprehensive integration test suite

  • โœ… Type Safe - Full TypeScript with Zod validation

  • โœ… Docker Ready - Production-ready containerization

  • โœ… MCP Compatible - Full Model Context Protocol compliance

๐Ÿ—บ๏ธ Roadmap

  • Float API v4 Support - When released by Float

  • Enhanced Caching - Optional Redis caching layer

  • Webhook Support - Real-time Float event notifications

  • Bulk Operations - Enhanced bulk import/export tools

  • Custom Reports - Advanced reporting and analytics

  • Multi-tenant Support - Multiple Float account support

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ™‹ Support

๐Ÿท๏ธ Tags

float mcp model-context-protocol project-management resource-management time-tracking typescript api-integration claude ai-tools


Built with โค๏ธ for the Float and MCP communities

Available Tools

136 tools
approve-timeoffB

Approve a pending time off request

ParametersJSON Schema
NameRequiredDescriptionDefault
timeoff_idYesThe time off ID
approved_byNoUser ID who is approving
notesNoOptional approval notes

TDQS

B3/5.0
Behavior2/5

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

No annotations provided, so description must fully disclose behavioral traits. It only states 'Approve' without detailing side effects like status change, notifications, or permission requirements.

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

Conciseness3/5

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

Description is only 6 words in one sentence, which is concise but lacks necessary detail. It could be expanded 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 3 parameters, no output schema, and no annotations, the description should explain return values, authorization, and effects. It is too minimal.

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?

Input schema has 100% description coverage for all 3 parameters, so description adds no extra meaning beyond what schema provides. Baseline 3 is appropriate.

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

Purpose5/5

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

Description clearly states verb 'Approve' and resource 'pending time off request', which is specific and distinguishes from siblings like 'reject-timeoff'.

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 (e.g., 'reject-timeoff' or 'update-timeoff'), or what prerequisites are needed (e.g., authorization to approve).

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

archive-project-taskB

Archive or unarchive a project task

ParametersJSON Schema
NameRequiredDescriptionDefault
project_task_idYesThe project task ID
archiveYesTrue to archive, false to unarchive

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as reversibility, permissions required, or side effects of archiving/unarchiving.

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 clear sentence, concise and front-loaded, but could be slightly expanded without losing conciseness.

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

Completeness3/5

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

For a simple toggle tool with no output schema or annotations, the description is minimally complete, but lacks behavioral context that would help an agent understand impacts.

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 100% schema description coverage, the description adds no value beyond the schema, simply restating the parameters. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'archive or unarchive' and the resource 'project task', distinguishing it from siblings like create, update, delete.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like update-project-task or delete-project-task, nor any context on prerequisites or consequences.

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

bulk-create-logged-timeA

Create multiple logged time entries at once for batch time logging

ParametersJSON Schema
NameRequiredDescriptionDefault
logged_time_entriesYesArray of logged time entries to create

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided. Description only states creation without disclosing behavioral details such as success/failure handling, limits, or authorization requirements.

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, clear sentence with no extraneous content. Front-loaded with the key verb and resource.

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?

Description lacks information on output, error handling, or limitations. However, tool complexity is low with a single parameter, so baseline completeness is adequate.

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?

Input schema covers all parameters with descriptions (100% coverage). Description adds minimal value beyond confirming batch creation of entries.

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 it creates multiple logged time entries at once for batch time logging, distinguishing it from the sibling 'create-logged-time' which handles single entries.

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 batch use case but does not explicitly state when to use it versus alternatives like 'create-logged-time' 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.

bulk-create-project-tasksB

Create multiple project tasks at once

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesProject ID
tasksYesArray of tasks to create

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description must fully disclose behavior. It only states the basic action, omitting details on transactional behavior, error handling, rate limits, or required permissions. This is insufficient for a bulk mutation.

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 efficient sentence with no redundancy. However, given the tool's complexity, it could benefit from additional context without being verbose.

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

Completeness2/5

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

For a bulk creation tool with no output schema, the description should cover expected return values, batch limits, and error behavior. It omits all such details, making it incomplete.

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 100% description coverage for all parameters. The description adds no additional meaning beyond what the schema already provides, so baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states 'Create multiple project tasks at once', which accurately describes the bulk creation operation. It distinguishes from sibling tools like 'create-project-task' (single) and 'bulk-create-logged-time' (different resource).

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 creating multiple tasks simultaneously, but lacks explicit guidance on when to prefer this over sequential single creates or alternatives like 'create-project-task'. No exclusions or context are provided.

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

bulk-create-timeoffA

Create multiple time off requests at once

ParametersJSON Schema
NameRequiredDescriptionDefault
timeoff_requestsYesArray of time off requests to create

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, and the description lacks behavioral details such as constraints, idempotency, error handling, or partial success behavior for the bulk operation. The description carries the full burden but does not disclose these traits.

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 concise sentence, front-loaded with the key action and resource, with no redundant information. Every word earns its place.

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 moderate complexity of a bulk create tool with no output schema, the description does not clarify expected return values or error scenarios. While the schema covers parameters well, the description is minimally 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?

The input schema has 100% coverage with descriptions for nested parameters, so the baseline is 3. The top-level description adds no extra meaning beyond the schema, merely stating 'multiple time off requests at once' without elaborating on parameter usage.

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 'Create multiple time off requests at once' clearly states the verb (create) and resource (multiple time off requests), and it effectively distinguishes this tool from its sibling 'create-timeoff' which creates a single request.

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 this tool is for bulk operations, but it does not explicitly state when to use this tool versus alternatives like 'create-timeoff' for single requests. No usage context or exclusions are provided.

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

bulk-update-account-permissionsB

Update permissions for multiple accounts at once

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idsYesArray of account IDs to update
permissionsYesPermissions to apply to all specified accounts

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only states it updates permissions, but omits critical details: whether it's atomic, merges or overwrites, permission requirements, error handling for partial failures, or rate limits. Minimal disclosure for a bulk mutation.

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

Conciseness4/5

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

The description is very concise at 5 words, efficiently conveying the core purpose. However, it could include more context without being verbose, such as hinting at the bulk nature or parameter dependencies.

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 and no annotations. The description does not cover return behavior, success/failure signals, or effects on existing permissions. For a nested parameter tool, more context is needed to prevent misuse.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents both parameters exhaustively. The description adds no additional meaning beyond the schema. Baseline score 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'update' and resource 'permissions for multiple accounts', distinguishing it from sibling tools like 'update-account' (single account) and 'manage-account-permissions' (likely single account). The term 'bulk' further clarifies scope.

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives. For example, it doesn't mention that for single account updates, sibling tools like 'manage-account-permissions' or 'update-account' should be used. No prerequisites or contextual cues.

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

check-role-accessB

Check if a role has specific permissions (useful for RBAC implementation)

ParametersJSON Schema
NameRequiredDescriptionDefault
role_idYesThe role ID (role_id)
require_allNoWhether all permissions are required (true) or just one (false)
required_permissionsYesList of permissions to check for

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description does not disclose whether the tool is read-only, requires authentication, or has side effects. It only states the basic function, omitting important behavioral traits for a potential write operation or permission checks.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that conveys the core purpose without redundant information. Every word adds value, making it concise 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?

For a simple check tool with no output schema, the description covers the primary function but does not specify the return format (e.g., boolean) or error handling. This is mildly incomplete but adequate for a tool with low complexity.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for all three parameters. The description adds no additional meaning beyond the schema, so a baseline score of 3 is appropriate as it neither enhances nor detracts.

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 checks if a role has specific permissions, which distinguishes it from similar tools like get-role-permissions that retrieve all permissions. The verb 'Check if' implies a boolean result, making the purpose unambiguous.

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 siblings such as get-role-permissions or get-roles-by-permission. The description lacks explicit context about prerequisites or exclusion criteria, leaving the agent to infer use cases.

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

complete-milestoneB

Mark a milestone as completed with optional completion date

ParametersJSON Schema
NameRequiredDescriptionDefault
milestone_idYesThe milestone ID (milestone_id)
completed_dateNoCompletion date (YYYY-MM-DD format). If not provided, uses current date
notesNoAdditional notes about the completion

TDQS

B3.3/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 action and optional date. It does not mention idempotency, error handling, or what happens if the milestone is already completed.

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

Conciseness5/5

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

The description is a single, front-loaded sentence that efficiently conveys the core action and key detail (optional date) without unnecessary words.

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 description covers the basic operation but omits return behavior, prerequisites, and side effects. For a simple action with no output schema, it is adequate but not comprehensive.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for each parameter. The description adds minimal value by noting the completion date is optional, but overall it does not significantly enhance parameter understanding.

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 'mark as completed' and the resource 'milestone', distinguishing it from sibling tools like create-milestone and update-milestone.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as update-milestone or other related tools. The description lacks context for appropriate usage.

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

create-accountB

Create a new account (if supported by your Float plan)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesAccount holder name
emailYesEmail address
accessNoAccount access level
activeNoActive status (1=active, 0=inactive)
timezoneNoAccount timezone (e.g., America/New_York)
edit_rightsNoEdit permissions (0=none, 1=limited, 2=full)
view_rightsNoView permissions (0=none, 1=limited, 2=full)
account_typeNoAccount type (1=admin, 2=member, 3=view-only)
department_filter_idNoDepartment filter ID for restricted access

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations provided, the description fails to disclose behavioral traits such as mutation effects, authentication requirements, or what happens if the plan does not support the operation.

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

Conciseness4/5

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

The description is a single, front-loaded sentence without wasted words, but it could include a brief note on required parameters or usage without sacrificing conciseness.

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

Completeness2/5

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

With 9 parameters and no output schema, the description is too short to cover what the tool returns, error conditions, or the impact of plan support, leaving significant gaps for a creation tool.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds no additional meaning beyond what the schema already provides for each parameter.

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 'Create' and the resource 'account', and the conditional note 'if supported by your Float plan' differentiates it from other entity creation tools among siblings.

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

Usage Guidelines3/5

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

Implies a precondition (plan support) but does not explicitly specify when to use this tool over alternatives like update-account or list-accounts, nor does it provide usage guidance.

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

create-allocationC

Create a new allocation

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesProject ID
people_idYesPerson ID
start_dateYesAllocation start date (YYYY-MM-DD)
end_dateNoAllocation end date (YYYY-MM-DD)
hoursYesNumber of hours allocated
notesNoAllocation notes
billableNoBillable flag (0=non-billable, 1=billable)
task_typeNoTask type

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states 'Create a new allocation' without mentioning side effects, required permissions, or error handling.

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

Conciseness4/5

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

The description is a single sentence, front-loaded with the key action. It is efficient but could include minimal context without being verbose.

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

Completeness2/5

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

Given 8 parameters, 4 required, and no output schema, the description is too minimal. It does not explain return values, validation, or behavior on failure.

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?

All 8 parameters are fully described in the input schema, so the description adds no extra meaning. Baseline 3 applies as schema coverage is 100%.

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 indicates the action (create) and resource (allocation). It distinguishes from siblings like update-allocation and delete-allocation, though it does not define what an allocation is.

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 update-allocation or list-allocations. The description lacks context for selection.

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

create-clientB

Create a new client

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesClient name
notesNoClient notes
activeNoActive status (1=active, 0=archived)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral details such as side effects, required permissions, or response format, which is necessary for a mutation tool.

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

Conciseness4/5

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

The description is a single concise sentence with no unnecessary information, but it could benefit from a bit more structure or context.

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 is simple and parameters are well-described in the schema, but the lack of output schema and behavioral details leaves gaps for a create operation.

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

Parameters3/5

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

Input schema has 100% description coverage for parameters, so the description does not need to add more; baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('Create') and the resource ('a new client'), effectively distinguishing it from sibling tools like 'update-client' and 'list-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 is provided on when to use this tool versus alternatives, nor any prerequisites or exclusions.

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

create-departmentC

Create a new department

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesDepartment name
parent_idNoParent department ID

TDQS

C2.8/5.0
Behavior2/5

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

No annotations provided. The description implies mutation (create) but lacks details on side effects, error conditions, or behavior when duplicates exist. 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.

Conciseness3/5

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

The description is a single sentence, which is concise but does not earn its place as it only restates the tool name. It could be considered too minimal.

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

Completeness2/5

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

Given the lack of output schema and only two parameters, the description does not provide enough context about return values, error handling, or usage context. It is incomplete.

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

Parameters3/5

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

Schema description coverage is 100% (both parameters have descriptions). The tool description adds no additional meaning beyond what the schema already provides.

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 and resource: 'Create a new department.' It uses a specific verb and resource name, but does not differentiate from other 'create-*' sibling tools beyond the resource.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like update-department or delete-department. No prerequisites or context provided.

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

create-logged-timeC

Create a new logged time entry for tracking work hours

ParametersJSON Schema
NameRequiredDescriptionDefault
people_idYesThe person ID who logged the time
project_idYesThe project ID for the logged time
task_idNoThe task ID for the logged time
dateYesThe date for the logged time (YYYY-MM-DD)
hoursYesThe number of hours logged
billableNoWhether the time is billable (1 = billable, 0 = non-billable)
notesNoOptional notes describing the work done
reference_dateNoReference date for UI suggestions

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, and the description only states that it creates an entry. It does not disclose behavioral traits such as whether it requires authentication, what happens on success (e.g., returns the created entry), or any side effects.

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

Conciseness4/5

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

The description is a single short sentence with no wasted words. However, it is too minimal and lacks depth, though it is efficiently structured.

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

Completeness2/5

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

Without an output schema, the description should explain what the tool returns (e.g., the created entry ID). It does not. Additionally, no annotations are present, leaving gaps in understanding for this multi-parameter creation tool.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds minimal extra context ('for tracking work hours'), but does not clarify parameter semantics beyond what the schema already provides.

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 it creates a logged time entry for tracking work hours, which is a specific verb+resource. Among siblings, there is a bulk-create variant, implying this is for single entries, but no explicit differentiation.

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 its siblings like bulk-create-logged-time or update-logged-time. The description does not mention prerequisites 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.

create-milestoneB

Create a new milestone for a project or phase

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesMilestone name
project_idYesProject ID
phase_idNoPhase ID (optional)
descriptionNoMilestone description
dateNoMilestone date (YYYY-MM-DD format)
start_dateNoMilestone start date (YYYY-MM-DD format)
end_dateNoMilestone end date (YYYY-MM-DD format)
statusNoMilestone status (numeric)
priorityNoPriority level (1-5, where 1 is highest)
completedNoCompletion status (0=not completed, 1=completed)
completed_dateNoCompletion date (YYYY-MM-DD format)
notesNoAdditional notes
colorNoMilestone color (hex color code)
reminder_dateNoReminder date (YYYY-MM-DD format)
activeNoActive status (1=active, 0=archived)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided; description only says 'Create a new milestone', implying creation but omitting behavioral details like side effects, idempotency, permissions, or response format. With no annotations, description fails to disclose critical traits.

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

Conciseness4/5

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

Single sentence is concise and front-loaded. However, it could benefit from additional context without being verbose. Efficient but minimal.

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?

High complexity (15 params, no output schema, no annotations) requires richer description. Lacks explanation of milestone semantics, typical usage, validation rules, or return value. Incomplete for effective agent invocation.

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?

Input schema has 15 parameters with full descriptions (100% coverage). Description adds no additional meaning beyond what schema already provides. Baseline 3 is appropriate as no extra value from description.

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

Purpose5/5

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

Description clearly states verb 'Create' and resource 'milestone', with context 'for a project or phase'. Effectively distinguishes from siblings like update-milestone or delete-milestone.

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. Does not specify prerequisites, context, or when not to use it. Sibling tools include many create and milestone-related operations, but no differentiation provided.

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

create-personB

Create a new person

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesPerson name
emailNoEmail address
activeNoActive status (1=active, 0=archived)
job_titleNoJob title
department_idNoDepartment ID
employee_typeNoEmployee type (1=full-time, 0=part-time)
people_type_idNoPeople type (1=employee, 2=contractor, 3=placeholder)
default_hourly_rateNoDefault hourly rate

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose behavioral traits such as side effects, required permissions, or what happens after creation (e.g., does it trigger notifications?). For a creation tool, this is insufficient.

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

Conciseness5/5

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

One sentence, no fluff. Efficiently conveys 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?

No output schema, no annotations, and the description is too minimal for an 8-parameter creation tool. Missing details like return value, id generation, or validation rules.

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?

All 8 parameters are fully described in the input schema (100% coverage), so the description adds no additional meaning. Baseline 3 is appropriate.

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

Purpose5/5

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

The description 'Create a new person' clearly states the action (create) and the resource (person), and distinguishes from sibling tools like update-person or delete-person.

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., bulk-create, update-person). No mention of prerequisites or context.

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

create-phaseC

Create a new phase within a project

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesThe ID of the project this phase belongs to
nameYesPhase name
start_dateYesPhase start date (YYYY-MM-DD)
end_dateYesPhase end date (YYYY-MM-DD)
statusNoPhase status (0=Draft, 1=Tentative, 2=Confirmed)
notesNoPhase notes and description
non_billableNoNon-billable flag (0=billable, 1=non-billable)
colorNoPhase color (hex code)
default_hourly_rateNoDefault hourly rate for this phase
budget_totalNoTotal budget for this phase
activeNoActive status (1=active, 0=archived)

TDQS

C2.6/5.0
Behavior1/5

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

No annotations provided, and the description is a bare minimum. It does not disclose any behavioral traits such as validation actions, side effects (e.g., does it affect project timeline?), or authentication requirements. The agent gets no insight into what happens beyond creation.

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

Conciseness4/5

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

The description is a single short sentence, which is concise. It front-loads the core action, but lacks any supporting structure or additional details. While every word earns its place, it could benefit from a bit more context without sacrificing brevity.

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 tool has 11 parameters and no output schema, the description is highly incomplete. It provides no information about return values, error conditions, or behavior when required fields are missing. The tool's complexity demands a richer description.

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?

Input schema coverage is 100%, so baseline is 3. The description adds no extra meaning beyond what is already in the parameter descriptions. It does not clarify usage context or dependencies between 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?

The description clearly states the verb 'Create' and the resource 'a new phase within a project'. It is specific enough to distinguish from other create tools like 'create-milestone' or 'create-project-task', though it could add more context about what a phase represents.

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. The sibling list includes many creation tools, and the description does not explain prerequisites or typical use cases for creating a phase compared to other project elements.

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

create-projectB

Create a new project with comprehensive settings including budget, timeline, client association, and project configuration. Essential for project initialization and setup.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesProject name - clear, descriptive project title
colorNoProject color - hex color code for visual identification (e.g., #FF5733)
notesNoProject notes - detailed description, requirements, or additional context
activeNoActive status (1=active project, 0=archived project)
budgetNoProject budget - total budget amount in your currency
formatNoResponse format - either "json" or "xml"json
end_dateNoProject end date in YYYY-MM-DD format (ISO 8601) - optional for ongoing projects
client_idYesClient ID - must reference existing client from client management
tentativeNoTentative flag (0=confirmed project, 1=tentative/proposed project)
start_dateYesProject start date in YYYY-MM-DD format (ISO 8601)
hourly_rateNoHourly rate - default billing rate for this project
non_billableNoNon-billable flag (0=billable project, 1=non-billable/internal project)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states 'create' without disclosing behavioral traits like authentication requirements, side effects, or error handling. The description is too generic to guide safe usage.

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 two sentences, front-loaded with the verb. It is concise but the second sentence is somewhat redundant. No wasted words, but could be slightly more efficient.

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

Completeness2/5

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

Given 12 parameters, no output schema, and no annotations, the description is insufficient. It does not explain return values, prerequisites (e.g., client_id must exist), or what happens on failure. The tool is complex and the description is too brief.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds little beyond categorizing parameters (budget, timeline, etc.) and does not clarify their interactions or constraints beyond the schema.

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 creates a new project and lists included settings (budget, timeline, client). The verb+resource are explicit. However, it does not differentiate from other create tools like create-account or create-client, which are siblings.

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

Usage Guidelines3/5

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

The description implies usage for project initialization but provides no explicit guidance on when to use this tool versus alternatives (e.g., create-project-task). No when-not or exclusion criteria are mentioned.

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

create-project-taskC

Create a new project task

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesProject ID
task_namesYesTask name/title
phase_idNoPhase ID (if assigning to a specific phase)
notesNoTask notes
budgetNoTask budget (if setting budget at task level)
budget_typeNoBudget type (1=hours, 2=amount, etc.)
colorNoTask color (hex code)
billableNoBillable flag (0=non-billable, 1=billable)
activeNoActive status (1=active, 0=archived)
priorityNoTask priority (1=low, 2=medium, 3=high, etc.)
sort_orderNoSort order within project
dependenciesNoArray of project task IDs this task depends on
estimated_hoursNoEstimated hours for completion
statusNoTask status (numeric)

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 carries the full burden of behavioral disclosure. The single sentence only states it creates a task, but it doesn't mention side effects, permission requirements, rate limits, or what happens on success/failure. For a mutation tool, this is insufficient.

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

Conciseness4/5

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

The description is extremely concise, consisting of a single sentence with no wasted words. However, it lacks structural elements like bullet points or emphasis on key constraints. It is efficient but could be more informative without losing brevity.

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

Completeness2/5

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

Given the tool has 14 parameters (many optional) and no output schema, the description should provide more context about default behaviors, constraints, or return values. The minimal description leaves the agent guessing about what happens when optional fields are omitted.

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 100% description coverage, so the schema already documents all parameters. The description adds no additional meaning beyond what the schema provides. Baseline of 3 is appropriate since the description doesn't detract but also doesn't enhance understanding.

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 task' clearly states the verb (create) and resource (project task), making the basic purpose obvious. However, it does not distinguish this tool from sibling tools like 'create-task' or 'bulk-create-project-tasks', which could cause confusion. It is clear but not differentiated.

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

Usage Guidelines2/5

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

No usage guidance is provided. The description does not indicate when to use this tool versus alternatives, nor does it mention any prerequisites or exclusions. For example, it doesn't clarify if this is for creating a single task vs. bulk creation.

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

create-public-holidayC

Create a new public holiday

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHoliday name
dateYesHoliday date (YYYY-MM-DD)
regionNoRegion or country code
countryNoCountry name
typeNoHoliday type (bank_holiday, observed, etc.)
moveableNoMoveable status (0=fixed, 1=moveable)
recurringNoRecurring status (0=one-time, 1=recurring)
yearNoYear for the holiday
notesNoAdditional notes
activeNoActive status (1=active, 0=archived)

TDQS

C2.8/5.0
Behavior2/5

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

No annotations exist, and the description only says 'Create a new public holiday', implying mutation but providing no details on side effects, permissions, reversibility, or behavior beyond creation.

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

Conciseness3/5

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

The description is very short and concise, but it adds little value beyond the tool name. It lacks front-loading of critical information and is efficient but incomplete.

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

Completeness2/5

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

For a tool with 10 parameters, no output schema, and no annotations, the description lacks essential context about return values, validation, or typical usage patterns, making it incomplete.

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

Parameters3/5

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

Schema description coverage is 100%, so the input schema already documents all parameters. The description adds no additional parameter-level meaning, hence baseline score of 3.

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 ('Create') and resource ('new public holiday'), but it does not differentiate from sibling tools like 'create-team-holiday' or 'update-public-holiday'. It is clear but lacks scaling or distinguishing features.

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 its siblings (e.g., create-team-holiday) or when not to use it. Missing context for selection.

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

create-roleB

Create a new role with permissions and settings

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesRole name (required)
levelNoRole level/hierarchy
activeNoActive status (1=active, 0=archived)
descriptionNoRole description
permissionsNoList of permissions for this role
department_idNoDepartment ID if role is department-specific
is_system_roleNoWhether this is a system role (1=system, 0=custom)
default_hourly_rateNoDefault hourly rate for this role

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose behavioral traits such as destructive nature, required permissions, rate limits, or uniqueness constraints. The description is too vague for a mutation tool.

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

Conciseness4/5

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

Single sentence with clear verb and object. Front-loaded and efficient, though it might be too terse for a complex tool.

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

Completeness2/5

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

No output schema, and the description does not explain return values, side effects, or parameter dependencies. For a tool with 8 parameters, this is insufficient.

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

Parameters3/5

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

Schema coverage is 100%, so parameters are documented. The description adds no additional meaning beyond the schema, meeting the baseline but not exceeding it.

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 (Create), resource (new role), and scope (with permissions and settings), distinguishing it from siblings like update-role or delete-role.

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. Does not mention prerequisites, limitations, 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.

create-statusB

Create a new status for projects or tasks

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesStatus name
colorNoColor for status visualization (hex code)
activeNoActive status (1=active, 0=inactive)
positionNoPosition for ordering statuses
is_defaultNoWhether this should be the default status
status_typeYesType of status (project or task)

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description must disclose behavioral traits but only states the basic action. It does not mention that this is a mutation, any required permissions, or what happens on errors (e.g., duplicate name). The agent lacks key information to safely invoke the tool.

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

Conciseness4/5

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

The description is a single sentence with no wasted words. However, it is too brief, missing important context. It could be slightly more informative 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?

Given 6 parameters, no output schema, and no annotations, the description is insufficient. It does not explain what a status is, its role in workflows, or what the response contains. The agent needs more context to make an informed decision.

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

Parameters3/5

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

Schema coverage is 100%, so all parameters have descriptions. The description adds no additional meaning beyond 'projects or tasks' which is already covered by the 'status_type' enum. Baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('Create') and the resource ('a new status'), specifically for 'projects or tasks'. This distinguishes it from sibling tools like 'delete-status' and 'update-status'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. It does not mention prerequisites, such as needing an existing project or task, nor does it exclude cases like duplicate status names.

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

create-taskD

Create a new task/allocation

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesProject ID
people_idYesPerson ID
nameYesTask name
start_dateYesTask start date (YYYY-MM-DD)
end_dateNoTask end date (YYYY-MM-DD)
notesNoTask notes
estimated_hoursNoEstimated hours
priorityNoTask priority
billableNoBillable flag (0=non-billable, 1=billable)
task_typeNoTask type

TDQS

D1.9/5.0
Behavior1/5

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

No annotations provided and description gives no behavioral details (e.g., side effects, permissions, return values). Agent receives zero insight beyond the bare action.

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

Conciseness2/5

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

Extremely brief but under-specified. One short sentence fails to convey necessary context, making it inefficient rather than concise.

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

Completeness1/5

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

With 10 parameters, no output schema, and no annotations, the description is grossly insufficient. It omits return behavior, prerequisites, and the meaning of 'allocation'.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline 3 applies. Description adds no extra meaning to parameters beyond what schema already provides.

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

Purpose2/5

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

Description 'Create a new task/allocation' is vague and doesn't distinguish from sibling tools like create-allocation and create-project-task. It fails to specify what exactly is being created.

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 any when-to-use or when-not-to-use context.

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

create-team-holidayC

Create a new team holiday

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesHoliday name
descriptionNoHoliday description
start_dateYesHoliday start date (YYYY-MM-DD)
end_dateYesHoliday end date (YYYY-MM-DD)
holiday_typeNoHoliday type (0=full day, 1=partial day)
department_idNoDepartment ID for department-specific holiday
region_idNoRegion ID for region-specific holiday
recurringNoRecurring status (0=one-time, 1=recurring)
recurrence_patternNoRecurrence pattern for recurring holidays
activeNoActive status (0=inactive, 1=active)
notesNoAdditional notes
colorNoHex color code for calendar display
all_dayNoAll day status (0=not all day, 1=all day)
timezoneNoTimezone for the holiday

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 bears full responsibility for behavioral disclosure. It only states 'create' without mentioning permissions, side effects, or any constraints beyond the schema.

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

Conciseness4/5

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

The description is extremely concise (5 words), with no wasted words. It is front-loaded and efficient, though it could benefit from slightly more detail.

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

Completeness2/5

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

Given the tool has 14 parameters, no output schema, and many sibling tools, the description is insufficient. It does not explain return values, prerequisites, or how it fits into the broader tool suite.

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

Parameters3/5

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

Schema coverage is 100%, so the parameters are already documented well. The description adds no additional meaning beyond what the schema provides, meriting a baseline 3.

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 ('create') and the resource ('team holiday'). However, it does not differentiate from sibling tools like 'create-public-holiday' or 'create-timeoff', missing a 5.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as 'create-public-holiday' or 'create-timeoff'. The description lacks any usage context or exclusions.

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

create-timeoffB

Create a new time off request

ParametersJSON Schema
NameRequiredDescriptionDefault
people_idsYesArray of person IDs (people_ids) - Float API expects plural field
timeoff_type_idYesThe time off type ID
start_dateYesStart date (YYYY-MM-DD)
end_dateYesEnd date (YYYY-MM-DD)
hoursNoHours of time off (omit for full day)
full_dayNo1 for full day, 0 for partial day
notesNoOptional notes
statusNoStatus (1 for pending, 2 for approved, 3 for rejected - Float API uses numeric status codes)
repeat_stateNoRepeat configuration
repeat_endNoEnd date for repeating time off (YYYY-MM-DD)

TDQS

B3.1/5.0
Behavior2/5

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

Only states the verb 'create' without disclosing side effects, permissions, or notification behaviors. No annotations are provided, so the description bears full burden, and it fails to convey key behavioral traits.

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, clear sentence that efficiently states the tool's purpose with no redundant information.

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 10 parameters and no output schema, the description is minimal but sufficient for a straightforward create operation. It does not explain return values or success confirmation, which would improve completeness.

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

Parameters3/5

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

Input schema has 100% coverage with clear descriptions for all 10 parameters. The description adds no extra semantic value beyond the schema, but baseline is adequate.

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

Purpose4/5

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

Description clearly states the tool creates a new time off request, distinguishing it from siblings like approve-timeoff or update-timeoff. However, it lacks specificity about the scope (single vs. bulk) and could more explicitly contrast with bulk-create-timeoff.

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. Siblings like approve-timeoff or bulk-create-timeoff are not mentioned, leaving the agent to infer usage context.

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

create-time-off-typeB

Create a new time off type (e.g., vacation, sick leave, personal time)

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesTime off type name (e.g., "Vacation", "Sick Leave", "Personal Time")
activeNoActive status (1=active, 0=archived) - defaults to 1
is_defaultNoDefault status (1=default, 0=not default) - defaults to 0
colorNoHex color code for UI display (e.g., "#FF5733")

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so description must carry full burden. Only states it creates a type; no mention of duplicate handling, permissions, side effects, or whether it returns the created object. Minimal behavioral disclosure.

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 that is direct and to the point. No wasted words. Efficiently communicates purpose with examples.

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?

Tool is simple with 4 parameters all documented. No output schema. Description doesn't mention return value or response. Adequate for a basic create, but could add a note about the created object or uniqueness constraints.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description adds examples (e.g., 'Vacation') but does not enhance meaning beyond the schema. Parameters are well-documented in the input schema.

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

Purpose5/5

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

The description clearly states the action ('create') and the resource ('time off type'), with examples like vacation, sick leave, personal time. It distinguishes from sibling tools like update-time-off-type or delete-time-off-type.

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 (e.g., update-time-off-type). No explicit when-to-use or when-not-to-use statements. The description lacks context for choosing this over other tools.

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

deactivate-accountB

Deactivate an account (sets active status to 0)

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesThe account ID (account_id)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states the status change, omitting important behavioral details like whether the action is reversible, cascading effects, or authorization requirements.

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, concise sentence with no filler. It immediately conveys 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?

For a mutation tool with no output schema, the description lacks any mention of return values or error conditions. It is minimally adequate but leaves 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?

Schema description coverage is 100%, so baseline is 3. The description adds no additional meaning beyond what is in the schema; it only restates 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 clearly states the action ('deactivate') and resource ('account') and explains the mechanism ('sets active status to 0'). It distinguishes from sibling tools like 'reactivate-account' and 'delete-account'.

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, nor does it mention prerequisites, such as required permissions or reversibility.

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

delete-allocationC

Delete an allocation

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesThe allocation ID (task_id in Float API)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only says 'Delete', which implies destruction, but does not mention irreversibility, required permissions, or side effects (e.g., cascading deletes).

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

Conciseness4/5

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

Extremely concise at three words, front-loaded with the action. However, it may be too terse to be fully helpful, lacking context.

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

Completeness2/5

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

Given low complexity (one parameter, no output schema, no annotations), the description is incomplete. It does not explain whether the deletion is permanent or what happens to related entities.

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

Parameters3/5

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

Schema coverage is 100% with a clear description for the only parameter. The description adds no extra meaning beyond what the schema provides, so baseline score of 3 applies.

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

Purpose4/5

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

The description clearly states the verb 'Delete' and the resource 'allocation', making the action obvious. However, it does not differentiate from other delete tools (e.g., delete-task, delete-client) beyond the resource name, which is already in the tool name.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like update-allocation or other delete tools. For example, it does not mention prerequisites or consequences of deletion.

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

delete-clientB

Delete a client (archives it in Float)

ParametersJSON Schema
NameRequiredDescriptionDefault
client_idYesThe client ID (client_id)

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 states 'archives it in Float', which hints at soft deletion, but does not explain reversibility, side effects on related data, or permission requirements. This is insufficient for a delete 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 concise sentence with no extraneous information. It is appropriately sized and front-loaded.

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 simplicity (1 parameter, no output schema), the description is too brief. It omits critical context about what 'archive' means, whether the operation is reversible, and how it affects related records. A more complete description would cover these points.

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

Parameters3/5

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

Schema coverage is 100% because the client_id parameter has a description. The tool description does not add further semantic detail beyond what the schema provides, so a baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('Delete') and resource ('client'), and distinguishes itself from siblings like 'delete-allocation' by specifying the resource. It also adds context that the client is archived in Float, clarifying the behavior.

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 (e.g., archiving vs. permanent deletion, or prerequisites like client having no active projects). The description lacks any 'when to use' or 'when not to use' information.

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

delete-departmentB

Delete a department

ParametersJSON Schema
NameRequiredDescriptionDefault
department_idYesThe department ID

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description does not disclose behavioral traits like whether deletion is irreversible, what happens to associated data (e.g., people, projects), or required permissions. The agent has no additional insights beyond the destructive implication of 'delete'.

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

Conciseness5/5

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

The description is a single sentence with no redundancy, efficiently stating the tool's 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?

For a simple delete operation with one parameter and no output schema, the description is minimally viable but lacks context on consequences, prerequisites, or post-deletion state.

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

Parameters3/5

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

The description adds no meaning beyond the input schema, which already describes the department_id parameter with 100% coverage. While the baseline is met, there is no enrichment (e.g., format hints, 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 'Delete a department' clearly states the verb (delete) and resource (department), distinguishing it from sibling tools like create-department, get-department, list-departments, and update-department.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, such as deactivating a department or using update-department. There is no mention of exclusions, prerequisites, or context.

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

delete-logged-timeC

Delete a logged time entry

ParametersJSON Schema
NameRequiredDescriptionDefault
logged_time_idYesThe logged time ID (hexadecimal)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only states 'delete', implying a destructive operation, but does not disclose whether it is soft or hard delete, required permissions, side effects (e.g., impact on reports), or if it can be undone. The minimal description provides no behavioral context beyond the verb.

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

Conciseness4/5

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

The description is a single, short sentence with no extraneous words. It is front-loaded and efficient. However, it could be slightly more informative (e.g., mentioning the need for a valid ID) without losing conciseness, so it is not a perfect 5.

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

Completeness2/5

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

Given the tool's simplicity (one param, no output schema, no annotations), the description is incomplete. It does not explain return behavior (e.g., success vs. error), prerequisites (e.g., entry exists), or any caveats (e.g., irreversible operation). The absence of this context makes it less helpful for an agent.

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

Parameters3/5

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

Schema description coverage is 100%โ€”the parameter 'logged_time_id' has a clear description 'The logged time ID (hexadecimal)'. The tool description adds no additional parameter information. Per guidelines, baseline is 3 when schema does the heavy lifting, and the description does not enhance it.

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

Purpose4/5

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

The description 'Delete a logged time entry' clearly states the verb (delete) and resource (logged time entry). It distinguishes from other delete tools (e.g., delete-client, delete-allocation) and other logged-time tools (create, update, get, list). However, it is essentially a restatement of the tool name without additional specificity, so it is not a 5.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. Sibling tools include create-logged-time, update-logged-time, and bulk actions, but the description does not explain when deletion is appropriate or mention prerequisites. The agent gets no context for selecting this over similar tools.

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

delete-milestoneA

Delete a milestone (archives it in Float)

ParametersJSON Schema
NameRequiredDescriptionDefault
milestone_idYesThe milestone ID (milestone_id)

TDQS

A3.5/5.0
Behavior4/5

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

The description discloses that deletion is actually an archival operation, which is a key behavioral trait. No annotations are present, so the description carries the burden; it adequately signals the non-destructive nature.

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: one sentence with no filler. Every word contributes to understanding the tool's purpose and behavior.

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

Completeness3/5

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

Given the simplicity (one parameter, no output schema), the description is minimally adequate but lacks details on reversibility, permissions, or any side effects beyond archival.

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 already covers the parameter with 100% description coverage. The tool description adds no extra meaning beyond what the schema provides.

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 (Delete) and the resource (milestone). The parenthetical 'archives it in Float' adds context, though it slightly blurs whether it's true deletion or archival. It distinguishes from siblings like 'complete-milestone' and 'update-milestone'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as 'complete-milestone' or 'update-milestone'. The description does not specify prerequisites or context.

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

delete-personA

Delete a person (archives them in Float)

ParametersJSON Schema
NameRequiredDescriptionDefault
people_idYesThe person ID (people_id)

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 burden for behavioral disclosure. The phrase 'archives them in Float' adds some transparency by indicating the operation is not a hard delete. However, it does not mention permissions, side effects on associated data, or reversibility, which are important for a delete-like 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 extremely conciseโ€”a single sentence with a parenthetical clarification. Every word is informative, and the key action is front-loaded. There is no superfluous content.

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

Completeness3/5

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

For a simple delete tool with one parameter, the description is largely adequate. It states the action and the archival nature. However, it lacks any mention of consequences, such as irreversibility (though 'archive' implies some form of recovery) or what happens to linked data. Given no output schema, a bit more completeness would be helpful.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents the parameter. The description adds no extra meaning beyond what the schema provides (the parameter description 'The person ID (people_id)' is already present). Therefore, baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'delete' and resource 'person', and clarifies that the operation archives the person in Float. This distinguishes it from other delete tools among siblings, as it's the only one targeting a person.

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 is provided on when to use this tool versus alternatives like deactivate-account or other deletes. The usage is implied by the tool's name and resource, but there are no exclusions or context for when to prefer this over related operations.

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

delete-phaseB

Delete a phase (archives it in Float)

ParametersJSON Schema
NameRequiredDescriptionDefault
phase_idYesThe phase ID (phase_id)

TDQS

B3.3/5.0
Behavior3/5

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

The description mentions that deletion archives the phase in Float, which is a key behavioral trait beyond a simple delete. However, it does not disclose side effects, authorization requirements, or whether the operation is irreversible, which are important for a destructive action.

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

Conciseness4/5

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

The description is a single sentence that conveys the core purpose. It is not verbose, but could include more essential information (e.g., side effects) without losing conciseness.

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

Completeness2/5

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

For a destructive tool with no annotations or output schema, the description is incomplete. It omits important context such as whether the deletion is reversible, any constraints on the phase (e.g., cannot delete if it has tasks), and who can perform the operation.

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

Parameters3/5

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

The schema already fully describes the single parameter 'phase_id' (100% coverage), and the description adds no additional meaning beyond what the schema provides. Thus, baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('Delete') and the resource ('phase'), and adds the context that it archives the phase in Float. This distinguishes it from sibling tools like create-phase, update-phase, and list-phases.

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 lacks any guidance on when to use this tool vs. alternatives, prerequisites (e.g., phase must exist, no active tasks), or when not to use it. No alternatives or context for invocation are provided.

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

delete-projectA

Delete a project (archives it in Float). This action sets the project status to archived rather than permanently deleting it, preserving historical data and references.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNoResponse format - either "json" or "xml"json
project_idYesThe project ID (project_id)

TDQS

A4/5.0
Behavior3/5

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

No annotations are present, so the description must compensate. It discloses that the action archives rather than deletes permanently, which is helpful, but lacks details on permissions, side effects, or reversibility.

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

Conciseness5/5

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

The description is a single sentence with a clarifying parenthetical, containing no unnecessary words and efficiently conveying the key information.

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 delete/archive tool with no output schema and well-documented parameters, the description provides adequate context about the archival behavior, though it could mention return values or error states.

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

Parameters3/5

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

Schema coverage is 100% with clear parameter descriptions. The description adds no additional parameter meaning beyond the schema, which is sufficient for baseline score.

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

Purpose5/5

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

The description clearly states the verb 'Delete' and resource 'project', and importantly clarifies that it archives rather than permanently deletes, distinguishing it from a destructive delete.

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

Usage Guidelines4/5

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

The description implies when to use (to archive a project) but does not explicitly state when not to use or provide alternatives; however, the archival clarification effectively guides usage.

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

delete-project-taskB

Delete a project task (archives it in Float)

ParametersJSON Schema
NameRequiredDescriptionDefault
project_task_idYesThe project task ID

TDQS

B3.3/5.0
Behavior3/5

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

The description discloses that deletion is actually an archival in Float, which is a behavioral trait beyond a simple delete. However, it does not mention any side effects, authorization requirements, or other impacts. Since no annotations are provided, the description bears the full burden for 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?

The description is a single sentence that effectively communicates the core purpose without any unnecessary words. It is well-structured and front-loaded.

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

Completeness3/5

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

While the description covers the basic purpose and behavioral nuance, it lacks detail on prerequisites, error handling, and differentiation from related tools. For a simple tool with one parameter, 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 coverage is 100%, so the description adds no additional meaning beyond what the schema already provides. The parameter 'project_task_id' is described in the schema, and the description does not elaborate further.

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 (delete) and the resource (project task) and adds that it archives the task in Float. However, it does not differentiate from the sibling tool 'archive-project-task' which may perform an identical operation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives like 'archive-project-task'. It does not mention any conditions or exclusions.

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

delete-public-holidayA

Delete a public holiday (archives it in Float)

ParametersJSON Schema
NameRequiredDescriptionDefault
holiday_idYesThe public holiday ID

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations provided, the description carries full behavioral burden. The phrase 'archives it in Float' partially clarifies that it is not a hard delete but an archival. However, it omits critical details like required permissions, side effects on related data, or whether the operation is reversible.

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 that conveys the core action and a clarifying detail. No unnecessary words, and the parenthetical adds value without bloat.

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 simplicity (one required parameter, no output schema), the description is mostly complete. It clarifies the archival nature, but could improve by hinting at the response structure (e.g., success confirmation).

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 covers 100% of the parameter with a description ('The public holiday ID'), and the tool description adds no additional semantic context beyond what the schema already provides. Baseline score of 3 applies.

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

Purpose5/5

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

The description clearly states the verb 'Delete' and the resource 'public holiday', with the added clarification 'archives it in Float'. This effectively distinguishes it from sibling tools like 'create-public-holiday' or 'update-public-holiday'.

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. There is no mention of prerequisites, context, or conditions that warrant deletion versus other actions like archiving or updating.

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

delete-roleA

Delete a role (archives it in Float). Note: Roles assigned to users should be reassigned first.

ParametersJSON Schema
NameRequiredDescriptionDefault
role_idYesThe role ID (role_id)

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description adds value by noting the archival behavior ('archives it in Float') and the reassignment warning. However, it does not disclose authorization requirements, rate limits, or other 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 two concise sentences, front-loading the purpose and key constraint. Every sentence adds value with no wasted words.

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 delete operation with one parameter and no output schema, the description covers the essential purpose and a key prerequisite. It could mention reversibility or confirmation steps, but it is fairly 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 coverage is 100% and the parameter description is minimal ('The role ID (role_id)'). The tool description adds no further semantics beyond the schema, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action ('Delete a role') and the resource ('role'), and adds the nuance that it archives in Float. This distinguishes it from sibling tools like 'create-role' and 'update-role'.

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 note 'Roles assigned to users should be reassigned first' provides a clear prerequisite and when-to-use context. However, it does not explicitly state when to use this tool over alternatives or list exclusions.

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

delete-statusB

Delete a status (archives it in Float)

ParametersJSON Schema
NameRequiredDescriptionDefault
status_idYesThe status ID (status_id)

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It reveals that the operation archives rather than permanently deletes, which is useful, but does not mention idempotency, permissions, or side effects on associated data.

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

Conciseness4/5

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

The description is very concise with a single front-loaded sentence. It is appropriately sized for a simple delete tool, though it could benefit from a brief usage hint without sacrificing conciseness.

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

Completeness3/5

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

Given the tool's simplicity (1 param, no output schema, no annotations), the description covers the basic purpose and one behavioral aspect. However, it lacks information about return values, error conditions, and prerequisites, making it adequate but not 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 coverage is 100% with a description for the single parameter. The tool description adds no extra meaning beyond what the schema already provides, so the default baseline of 3 applies.

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

Purpose5/5

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

The description clearly states the action (delete) and the resource (status), and adds nuance that it archives rather than permanently deletes. This distinguishes it from other delete-type tools in the sibling list.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, such as checking if a status exists first or using other methods to modify statuses. There are no explicit conditions or exclusions.

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

delete-taskC

Delete a task/allocation

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesThe task ID (task_id)

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are present, so the description must cover behavior. It only states the action without any details about consequences (e.g., cascading effects, irreversibility, required permissions). This is insufficient for a destructive operation.

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

Conciseness4/5

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

The description is very concise, using only 4 words. However, this brevity sacrifices completeness, so while it is efficient, it is not well-structured for clarity.

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

Completeness2/5

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

Given the tool's destructive nature and lack of annotations or output schema, the description should provide more context (e.g., effects, error conditions, typical use cases). It is too brief to be considered 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?

The input schema already documents the single parameter 'task_id' with 100% coverage. The description adds no additional meaning, so it meets the baseline but does not enhance understanding beyond the schema.

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

Purpose3/5

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

The description states 'Delete a task/allocation', which identifies the verb and resource, but it ambiguously groups two resources with a slash. This could confuse whether it deletes tasks, allocations, or both. Sibling tool 'delete-allocation' exists, but description does not differentiate, so purpose is only moderately clear.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus sibling delete tools (e.g., delete-allocation, delete-project-task). There is no mention of prerequisites, context, or alternatives, leaving the agent to infer usage.

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

delete-team-holidayB

Delete a team holiday

ParametersJSON Schema
NameRequiredDescriptionDefault
holiday_idYesThe team holiday ID (holiday_id)

TDQS

B3.3/5.0
Behavior2/5

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

The description only says 'delete' without disclosing side effects, authorization needs, error handling, or whether the operation is reversible. With no annotations, this is insufficient.

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, efficient sentence with no wasted words. It captures the essential purpose concisely.

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 delete tool with one parameter and no output schema, the description is minimally complete but lacks context like return value or idempotency.

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

Parameters3/5

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

Schema coverage is 100%, and the parameter description exists. The tool description adds no extra meaning beyond the schema, but meets the baseline.

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

Purpose5/5

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

The description 'Delete a team holiday' clearly states the verb (delete) and resource (team holiday), distinguishing it from sibling tools like delete-public-holiday or delete-timeoff.

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 notes on prerequisites or conditions for deletion.

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

delete-timeoffC

Delete a time off entry

ParametersJSON Schema
NameRequiredDescriptionDefault
timeoff_idYesThe time off ID

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states 'Delete', which implies mutation/destruction, but does not confirm permanence, required permissions, error handling, or any side effects. This is insufficient for an AI agent to understand consequences.

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 that clearly front-loads the action and resource. No unnecessary words, making it efficient. It could benefit from additional context without losing conciseness.

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

Completeness3/5

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

For a simple delete operation with one parameter and no output schema, the description is minimal but functionally complete. However, it lacks critical context like irreversibility and potential consequences, which would be expected for a destructive action. It barely meets the minimum viable threshold.

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 100% coverage with a single parameter 'timeoff_id' described as 'The time off ID'. The description adds no extra meaning beyond the schema, which is minimal but adequate. Baseline 3 is appropriate.

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 'Delete a time off entry' clearly states the action (delete) and the resource (time off entry). It is straightforward and distinguishes from sibling tools like approve-timeoff or update-timeoff. However, it could be more specific about the scope (e.g., by ID).

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool, prerequisites (e.g., need the timeoff ID), or alternatives. It does not caution against accidental deletion or mention that this action is destructive. No context for selection among siblings.

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

delete-time-off-typeA

Delete a time off type (archives it in Float). Cannot delete if time off entries exist for this type.

ParametersJSON Schema
NameRequiredDescriptionDefault
timeoff_type_idYesThe time off type ID (timeoff_type_id)

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that deletion archives the type and notes the constraint with existing entries, but lacks details on authentication, reversibility, 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?

The description is extremely concise: a single clear sentence followed by a critical caution. No wasted words.

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 delete operation with one required parameter, the description covers the core purpose, the archival behavior, and a crucial precondition. 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 coverage is 100%, and the description does not add extra meaning beyond what the schema already provides for the single parameter.

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 ('Delete a time off type') and the resource ('time off type'), and distinguishes it from sibling tools like create, update, or list time-off types.

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 mentions a key precondition ('Cannot delete if time off entries exist'), which guides when to use the tool. However, it does not explicitly state when to use it versus other tools, though the action name implies it.

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

generate-reportC

Consolidated tool for generating comprehensive reports and analytics from Float data. Supports various report types including time tracking, project performance, resource utilization, budget analysis, and team metrics with flexible filtering and formatting options.

ParametersJSON Schema
NameRequiredDescriptionDefault
activeNoFilter by active status (0=archived, 1=active)
formatNoResponse format - either "json" or "xml"json
statusNoFilter by status
billableNoFilter by billable status (0=non-billable, 1=billable)
end_dateNoEnd date for report data (YYYY-MM-DD)
group_byNoGroup report data by specified field
client_idNoFilter by specific client ID
people_idNoFilter by specific person ID
project_idNoFilter by specific project ID
start_dateNoStart date for report data (YYYY-MM-DD)
report_typeYesThe type of report to generate
time_periodNoTime period aggregation
department_idNoFilter by specific department ID
report_formatNoOutput format for the report (json, csv, xml)json
forecast_weeksNoNumber of weeks to forecast capacity
include_totalsNoInclude totals and summaries
include_detailsNoInclude detailed breakdown in report
exclude_holidaysNoExclude holidays from utilization calculations
exclude_weekendsNoExclude weekends from utilization calculations
capacity_thresholdNoCapacity threshold percentage
include_percentagesNoInclude percentage calculations
target_hours_per_dayNoTarget hours per day for utilization calculations
compare_previous_periodNoInclude comparison with previous period
include_budget_varianceNoInclude budget variance analysis
budget_warning_thresholdNoBudget warning threshold percentage

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavior. It says 'generating' but doesn't clarify if this is a read-only operation, side effects, or required permissions. This is inadequate for a mutation-like verb.

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 lacks structure for a complex 25-parameter tool. It is front-loaded but omits critical details, making it somewhat under-specified.

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

Completeness2/5

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

Given the tool's complexity (25 parameters, no output schema) and the presence of many sibling get-* tools, the description is insufficient. It doesn't explain how report_type selects different behaviors or how parameters interact, leaving the agent underinformed.

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 100% schema coverage, all parameters have descriptions, so the baseline is 3. The description adds only generic context about filtering and formatting, adding no specific semantic value beyond what the schema already provides.

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 generates comprehensive reports and analytics from Float data, listing several report types. It distinguishes from siblings by being a consolidated tool, though it could more explicitly state that it combines multiple report types.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this consolidated tool versus the specific get-* report siblings. The description lacks context about use cases and alternatives, leaving the agent to infer from tool names.

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

get-accountA

Get comprehensive details about a specific user account including permissions, access rights, department assignments, and account settings. Essential for user management and access control.

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesThe account ID (account_id)

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations, the description should disclose behavioral traits. It does not mention that the tool is read-only, requires specific permissions, or any potential side effects. The purpose suggests a safe read, but transparency is lacking.

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

Conciseness4/5

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

Two sentences with no wasted words. The first sentence is action-oriented; the second adds context but is slightly generic. Could be more front-loaded but still concise.

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

Completeness4/5

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

Given no output schema, the description lists categories of returned data (permissions, access rights, department assignments, account settings), providing useful completeness for a simple get tool. It does not cover response structure but is adequate.

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

Parameters3/5

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

Schema coverage is 100% for the single parameter, which already has a description. The tool description does not add extra meaning about the parameter beyond what the schema provides. Baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states it retrieves comprehensive details about a specific user account, listing included data (permissions, access rights, department assignments, account settings). It distinguishes from siblings like get-current-account (for current user) and list-accounts (list all).

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

Usage Guidelines3/5

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

No explicit when or when-not to use. It says 'Essential for user management and access control' but does not compare with alternatives like get-current-account or list-accounts. Context is implied but not explicit.

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

get-active-phasesB

Get all active phases, optionally filtered by project

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idNoFilter by project ID
statusNoFilter by phase status (0=Draft, 1=Tentative, 2=Confirmed)

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 define 'active' (e.g., which status values indicate active) or disclose behavior like pagination, sorting, or whether the status filter overrides the active filter. The agent is left guessing.

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

Conciseness4/5

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

The description is a single sentence with no wasted words, front-loading the purpose. It could include more detail without being overly long, but for a simple tool, it is appropriately 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?

Given no output schema, no annotations, and two optional parameters, the description should explain what 'active' means and the relationship with the status filter. It lacks essential context for correct usage.

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

Parameters3/5

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

Schema description coverage is 100%, so parameters are documented. However, the description does not add meaning beyond the schema; notably, it omits the 'status' filter entirely while only mentioning 'project_id'.

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 'all active phases' with optional filtering by project, specifying verb and resource. It distinguishes from siblings like 'list-phases' (likely all phases) and 'get-phase' (single phase) by focusing on active status.

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 over alternatives such as 'list-phases' or 'list-phases-by-project'. The description lacks explicit context for choosing this tool.

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

get-allocationC

Get detailed information about a specific allocation

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesThe allocation ID (task_id in Float API)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description should disclose behavioral traits. It only states 'get detailed information' without mentioning read-only nature, idempotency, or side effects. Incomplete for a tool without annotations.

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 with no fluff. However, it could be slightly more informative without adding length. Efficient and front-loaded with key action.

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 returns detailed information but no output schema exists. The description does not hint at what fields are returned. For a simple get-by-ID, it is minimally adequate but leaves questions about response structure.

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

Parameters3/5

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

Schema coverage is 100% and the schema description already explains task_id. The description adds no further meaning beyond the schema, so baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states the verb 'Get' and resource 'allocation', specifying 'detailed information' and 'specific'. It differentiates from sibling tools like list-allocations (which lists many) and create/update/delete alternatives.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like list-allocations or get-task. No indication of 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.

get-billable-time-reportA

Get a detailed report of billable vs non-billable logged time with breakdown by person and project

ParametersJSON Schema
NameRequiredDescriptionDefault
start_dateYesStart date for report (YYYY-MM-DD)
end_dateYesEnd date for report (YYYY-MM-DD)
people_idNoFilter by person ID
project_idNoFilter by project ID

TDQS

A3.7/5.0
Behavior3/5

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

The description labels the tool as 'get-' suggesting a read-only operation, but lacks explicit behavioral details such as read-only nature, rate limits, or response structure. Without annotations, the description carries the burden and is only minimally informative.

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, well-structured sentence that communicates the core functionality without extraneous words. Every part adds value.

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?

With no output schema, the description does not clarify the report's structure, fields, or pagination. It is adequate for understanding the tool's purpose but leaves gaps in what the agent can expect as output.

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?

Input schema coverage is 100% with clear descriptions for all four parameters. The description does not add meaningful extra semantics beyond summarizing the breakdown dimensions already covered by the 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 retrieves 'a detailed report of billable vs non-billable logged time with breakdown by person and project,' which is specific and distinct from sibling tools like get-time-report or get-people-utilization-report.

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 analyzing billable vs non-billable time but does not explicitly state when to use this tool over alternatives or provide any exclusion criteria. No guidance on prerequisites or context.

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

get-clientA

Get detailed information about a specific client

ParametersJSON Schema
NameRequiredDescriptionDefault
client_idYesThe client ID (client_id)
formatNoResponse format - either "json" or "xml"json

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 the full burden of behavioral disclosure. It only states 'Get detailed information', offering no details about authentication requirements, rate limits, data sensitivity, or what 'detailed information' includes. For a read tool, more transparency is expected.

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 concise sentence with no wasted words. It is front-loaded with the core purpose, making it easy to scan.

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

Completeness3/5

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

Given the tool's simplicity (2 params, read-only) and no output schema, the description is minimally complete. It covers the basic purpose but lacks any indication of the return structure or scope of 'detailed information'. With no annotations, it could be more informative.

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 100% parameter description coverage, so the baseline is 3. The description adds no additional meaning beyond the schema: it does not explain or contextualize the parameters (client_id, format) further.

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 detailed information about a specific client' clearly states the verb 'Get' and the resource 'detailed information about a specific client'. It effectively distinguishes from sibling tools like 'list-clients' which lists all clients, and 'create-client', 'update-client', 'delete-client' which perform other operations.

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 detailed info on a single client is needed, but provides no explicit guidance on when not to use it or alternatives. Sibling tools like 'list-clients' are evident from context, but the description does not mention them or clarify usage boundaries.

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

get-current-accountA

Get information about the current authenticated account

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It states it's a read operation ('Get information') but doesn't mention auth requirements, rate limits, or what specific data is returned. Minimal disclosure.

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

Conciseness5/5

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

Single sentence, no fluff, efficient. Every word earns its place.

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

Completeness3/5

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

Adequate for a simple getter with no parameters, but could specify typical return fields or state it returns the full account object. Lacks detail about the output.

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

Parameters4/5

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

No parameters exist, so schema coverage is 100% trivially. Baseline for 0 parameters is 4, as the description adds no parameter info 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 'Get information about the current authenticated account' uses a specific verb ('Get') and resource ('current authenticated account'), clearly distinguishing it from siblings like get-account (which gets a specific account by ID) and list-accounts.

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 when needing info about the authenticated user's account, but lacks explicit guidance on when not to use it or alternatives. No mention of when to prefer this over get-account or list-accounts.

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

get-default-statusA

Get the default status for a specific type (project or task)

ParametersJSON Schema
NameRequiredDescriptionDefault
status_typeYesType of status (project or task)

TDQS

A3.9/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It states it gets the default status, implying a read-only operation, but does not describe the output format or confirm side-effect-free behavior. Basic transparency is present but could be more explicit.

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 that directly states the purpose. It is front-loaded with the action and resource, with no unnecessary words or fluff.

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

Completeness5/5

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

For a simple getter tool with one enum parameter and no output schema, the description is sufficiently complete. It conveys the necessary information for an agent to invoke it correctly.

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

Parameters3/5

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

Schema coverage is 100% for the single parameter, which already has a description. The description adds no extra meaning beyond the schema, so baseline score of 3 applies.

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

Purpose5/5

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

The description clearly states the tool gets the default status for a specific type (project or task). The verb 'Get' and resource 'default status' are specific, and it distinguishes itself from siblings like 'get-status' and 'set-default-status'.

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

Usage Guidelines3/5

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

The description implies usage when needing the default status for a project or task type, but does not provide explicit guidance on when not to use or mention alternatives. No exclusion criteria are given.

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

get-departmentB

Get detailed information about a specific department

ParametersJSON Schema
NameRequiredDescriptionDefault
department_idYesThe department ID

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only says 'Get detailed information' without specifying what details are included, required permissions, side effects (none expected), or response characteristics. The description is too vague.

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, focused sentence with no extraneous content. It is 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?

For a simple retrieval tool with no output schema, the description is minimally adequate. However, it lacks details about the response format (e.g., field list), potential errors, or behavioral constraints, leaving gaps for an AI agent.

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

Parameters3/5

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

Schema coverage is 100% with a single parameter (department_id) described as 'The department ID'. The tool description does not add any further meaning or usage guidance for this parameter, so it meets the baseline but adds no value.

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 'Get detailed information about a specific department' clearly states the action (get) and the resource (department). It distinguishes from list-departments by implying specificity, but does not explicitly differentiate from sibling tools.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like list-departments or update-department. The description lacks any context about prerequisites or appropriate scenarios.

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

get-logged-timeA

Get detailed information about a specific logged time entry

ParametersJSON Schema
NameRequiredDescriptionDefault
logged_time_idYesThe logged time ID (hexadecimal)

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 the full burden. It only says 'Get detailed information', but does not disclose what fields are returned, whether it is read-only, or any permission requirements. Minimal behavioral context.

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

Conciseness5/5

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

The description is a single concise sentence that starts with the main action. Every word is necessary and there is no redundant information.

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 read tool with one parameter, the description is minimally adequate. However, it could mention what kind of 'detailed information' is returned (e.g., time, project, user) since no output schema is provided.

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 covers the single parameter 'logged_time_id' with a description. The tool description adds no additional meaning beyond the schema, so it meets the baseline for high schema 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' and the resource 'specific logged time entry', distinguishing it from sibling tools like 'list-logged-time' which lists entries, and 'get-logged-time-timesheet' which likely returns a timesheet view.

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 it is for retrieving a single entry by ID, but lacks explicit guidance on when to use this tool versus alternatives like 'list-logged-time' or 'get-logged-time-timesheet'. 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-logged-time-timesheetB

Get logged time in timesheet format for a specific date range, organized by person and date

ParametersJSON Schema
NameRequiredDescriptionDefault
start_dateYesStart date for timesheet (YYYY-MM-DD)
end_dateYesEnd date for timesheet (YYYY-MM-DD)
people_idNoFilter by person ID
project_idNoFilter by project ID
billableNoFilter by billable status (1 = billable, 0 = non-billable)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided; description carries the full burden. It mentions organization by person and date but does not disclose other behavioral traits such as whether it aggregates time, what happens with missing data, or required permissions for reading this data.

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 that front-loads the core purpose and formatting info. No redundant words; each part adds value.

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

Completeness2/5

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

No output schema exists, so description should explain return format or structure. It only says 'organized by person and date' but lacks specifics about grouping, totals, or pagination. For a tool with 5 parameters and no output schema, the description is insufficiently 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?

Input schema has 100% description coverage for all 5 parameters. Description adds no extra parameter-specific meaning beyond the schema. Baseline score of 3 is appropriate.

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

Purpose5/5

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

Description clearly states verb 'Get', resource 'logged time in timesheet format', and specifies organization by person and date. Differentiates from siblings like get-logged-time or list-logged-time which likely return raw data.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives like get-logged-time, list-logged-time, or get-project-logged-time-summary. The description implies a timesheet view but doesn't state when it's appropriate.

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

get-milestoneB

Get detailed information about a specific milestone

ParametersJSON Schema
NameRequiredDescriptionDefault
milestone_idYesThe milestone ID (milestone_id)

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 carries full burden for behavioral disclosure. It only states 'Get detailed information' but does not specify what 'detailed information' includes, any required permissions, or whether the operation is read-only. This is insufficient.

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 with one sentence. It is appropriately sized for a simple get operation, though it could be slightly more informative without losing conciseness.

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

Completeness3/5

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

Given low complexity (one parameter, no output schema), the description is adequate but not complete. It does not explain what the returned 'detailed information' contains, which would help an agent understand the output.

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?

Since schema description coverage is 100% (the input schema already documents milestone_id), the description adds no additional parameter meaning. Baseline 3 is appropriate.

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

Purpose5/5

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

The description 'Get detailed information about a specific milestone' clearly indicates the verb (get) and resource (milestone). It distinguishes itself from sibling tools like list-milestones (which returns multiple) and get-project-milestones (which filters by 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?

The description provides no guidance on when to use this tool versus alternatives like list-milestones (to get all milestones) or get-project-milestones (to get milestones for a project). 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-milestone-remindersC

Get milestones that have reminders set within a specified date range

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idNoFilter by project ID
phase_idNoFilter by phase ID
reminder_date_fromNoFilter reminders from this date (YYYY-MM-DD format)
reminder_date_toNoFilter reminders to this date (YYYY-MM-DD format)
reminder_sentNoFilter by reminder sent status (0=not sent, 1=sent)
days_aheadNoNumber of days ahead to look for reminders (default: 7)
activeNoFilter by active status (0=archived, 1=active)
pageNoPage number for pagination
per-pageNoNumber of items per page (max 200)

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 carries full burden. It does not disclose behavioral traits such as pagination, performance implications, or whether reminders are returned with milestone details. The description is too brief to compensate for the lack of annotations.

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

Conciseness4/5

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

The description is a single sentence with no wasted words, but it could be more structured (e.g., bullet points for key aspects). It is appropriately concise for its 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?

Given 9 parameters and no output schema, the description fails to explain response format, reminder semantics, or pagination behavior. It is complete in stating the basic purpose but lacks depth for effective tool use.

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

Parameters3/5

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

Schema coverage is 100% with each parameter having a description in the schema. The tool description adds no additional parameter-level information, so it meets the baseline of 3.

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 'Get milestones that have reminders set within a specified date range', specifying the resource (milestones with reminders) and operation (get) with a date range filter. It distinguishes from siblings like 'get-milestone' (single milestone) and 'get-overdue-milestones' (overdue status), but not explicitly from 'get-upcoming-milestones' or 'get-project-milestones'.

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. It only describes what it does, leaving the agent to infer usage based on the name and sibling context.

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

get-overdue-milestonesB

Get milestones that are overdue (past their due date and not completed)

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idNoFilter by project ID
phase_idNoFilter by phase ID
priorityNoFilter by priority level (1-5)
activeNoFilter by active status (0=archived, 1=active)
pageNoPage number for pagination
per-pageNoNumber of items per page (max 200)

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 only states the core function (returning overdue milestones) but does not clarify read-only nature, pagination behavior, or any side effects (none expected). This is insufficient for safe invocation.

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, concise sentence that front-loads the purpose. No unnecessary words, and it earns its place by being direct.

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 output schema and annotations, the description is too minimal. It does not explain return structure, pagination limits (max 200 per page), or any constraints beyond the schema. A more complete description would include these details.

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?

All 6 parameters are documented in the input schema (100% coverage), so the description adds no additional meaning. Baseline 3 is appropriate as the schema already provides the necessary semantics.

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

Purpose5/5

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

The description clearly states the verb 'Get' and the resource 'milestones that are overdue' with a precise condition (past due and not completed), distinguishing it from siblings like 'get-milestone', 'list-milestones', and 'get-upcoming-milestones'.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives like 'get-upcoming-milestones' or 'get-project-milestones'. It does not mention exclusions or prerequisites, 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-people-utilization-reportC

Get people utilization report

ParametersJSON Schema
NameRequiredDescriptionDefault
start_dateYesStart date for report (YYYY-MM-DD)
end_dateYesEnd date for report (YYYY-MM-DD)
people_idNoFilter by person ID
department_idNoFilter by department ID

TDQS

C2.5/5.0
Behavior2/5

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

No annotations are present, and the description fails to disclose behavioral traits like data freshness, required permissions, or whether the report is generated on-the-fly. This is a significant gap for a report-generation tool.

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

Conciseness3/5

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

The description is a single sentence, which is concise but lacks structure and informative content. It is not overly verbose, but brevity here comes at the cost of completeness.

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

Completeness2/5

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

For a report tool with no output schema, the description should specify what the report contains (e.g., utilization metrics per person). It does not, and it also lacks context on date range interpretation or filter limitations.

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?

Input schema has 100% parameter description coverage, so the schema already documents each parameter's purpose. The description adds no additional meaning beyond the schema, warranting a baseline score of 3.

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

Purpose3/5

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

The description states the verb 'Get' and the resource 'people utilization report', indicating a retrieval action for a specific report. However, it does not differentiate from sibling report tools like get-billable-time-report or get-time-report, leaving ambiguity about what 'utilization' entails.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, such as get-person-logged-time-summary or get-project-report. There is no mention of prerequisites or context for usage.

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

get-personA

Get comprehensive details about a specific team member including role, department, skills, contact information, and employment details. Essential for team management and resource allocation.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNoResponse format - either "json" or "xml"json
people_idYesThe person ID (people_id)

TDQS

A4/5.0
Behavior3/5

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

No annotations provided; description indicates a read-only retrieval operation. Does not mention safety, authorization, or side effects, which is acceptable for a simple fetch tool but leaves some uncertainty.

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 that communicates purpose and return data without any wasted words. Excellent conciseness.

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?

With full schema coverage and a clear description of return fields, the tool context is mostly complete. Could mention the optional format parameter, but the description still provides adequate context for calling 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?

Schema covers all parameters with descriptions (100% coverage). The description adds no additional meaning about the parameters themselves (e.g., format options, ID format). Baseline of 3 is appropriate.

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

Purpose5/5

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

Clearly specifies the action ('Get comprehensive details'), the resource ('specific team member'), and the scope of data returned ('role, department, skills, contact information, employment details'). Distinguishes itself from sibling tools like list-people (which lists all) and other get tools.

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?

States the tool is 'Essential for team management and resource allocation', implying when it is appropriate. Does not explicitly exclude other tools, but the focus on a single person by ID is clear enough for correct selection.

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

get-person-logged-time-summaryB

Get logged time summary for a specific person including billable/non-billable hours

ParametersJSON Schema
NameRequiredDescriptionDefault
people_idYesThe person ID
start_dateNoStart date for summary (YYYY-MM-DD)
end_dateNoEnd date for summary (YYYY-MM-DD)
project_idNoFilter by project ID
billableNoFilter by billable status (1 = billable, 0 = non-billable)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states it 'gets a summary' and mentions billable/non-billable hours, but does not detail the aggregation, return format, any limitations, authentication needs, or whether it is read-only. The read-only nature is implied but not explicitly stated.

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 that succinctly conveys the tool's purpose. It is front-loaded, contains no redundancies, and every word provides value.

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 5 parameters, no output schema, and no annotations, the description is minimally adequate. It explains the tool's core function but omits details about what the summary contains (e.g., total hours, daily breakdown) and how results are structured. The agent has to infer behavior from the tool name and parameters.

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

Parameters3/5

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

All 5 parameters have descriptions in the input schema, achieving 100% coverage. The description adds the context that the summary includes billable/non-billable hours, aligning with the 'billable' parameter. However, it does not clarify parameter value formats or relationships beyond the schema.

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

Purpose4/5

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

The description clearly states the tool retrieves a logged time summary for a specific person, including billable/non-billable hours. It differentiates from sibling tools like get-project-logged-time-summary by specifying the scope 'for a specific person', though it could explicitly contrast with similar report tools.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as get-project-logged-time-summary or get-time-report. There are no conditions, prerequisites, or when-not-to-use hints.

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

get-person-timeoff-summaryB

Get time off summary for a specific person including balance and usage

ParametersJSON Schema
NameRequiredDescriptionDefault
people_idYesThe person ID (people_id)
yearNoYear for the summary (defaults to current year)
timeoff_type_idNoFilter by time off type ID

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so description must carry full burden. It only says 'Get', implying read-only, but lacks details on side effects, idempotency, or what the summary includes beyond 'balance and usage'.

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, 13 words, front-loaded with verb and resource. No unnecessary words. Highly 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 no output schema, the description hints at response content ('balance and usage') but is vague. It suffices for a simple read tool with few params, but could specify what fields or units are returned.

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?

Input schema has 100% description coverage, so each parameter is already described. The description adds no further meaning or examples beyond the schema.

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

Purpose5/5

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

The description clearly states the verb 'Get' and the resource 'time off summary for a specific person', including 'balance and usage'. It distinguishes from sibling tools like list-timeoff (list many) and get-person-logged-time-summary (different resource).

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-timeoff for single entry, list-timeoff for many). The description does not indicate prerequisites or exclusions.

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

get-phaseC

Get detailed information about a specific phase

ParametersJSON Schema
NameRequiredDescriptionDefault
phase_idYesThe phase ID (phase_id)

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description must bear the full burden of behavioral disclosure. It states 'detailed information' but gives no specifics about what that entails, side effects, or permissions needed. The agent cannot infer the tool's safety or behavioral traits.

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 8-word sentence, which is concise but lacks any structural elements like examples or key details. It is not verbose, but it is too sparse to be considered well-crafted.

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

Completeness2/5

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

Given the absence of an output schema, the description should explain what 'detailed information' includes. It does not, leaving the agent uncertain about the return value. Additionally, no context is provided on how to obtain a valid 'phase_id', making the tool less actionable.

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 100% description coverage for the single parameter 'phase_id', so the description adds no additional meaning beyond the schema. The baseline of 3 is appropriate; the description neither enhances nor detracts from the parameter documentation.

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 that the tool retrieves detailed information about a specific phase, using the verb 'Get' and the resource 'phase'. This distinguishes it from list-style tools like 'list-phases', though it does not explicitly differentiate from similar 'get' tools such as 'get-phase-schedule'.

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

Usage Guidelines2/5

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

The description offers no guidance on when to use this tool versus alternatives. With many sibling tools like 'list-phases', 'get-active-phases', and 'get-phases-by-date-range', the agent receives no context for choosing this specific tool.

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

get-phases-by-date-rangeC

Get phases that fall within a specific date range

ParametersJSON Schema
NameRequiredDescriptionDefault
start_dateYesStart date for the range (YYYY-MM-DD)
end_dateYesEnd date for the range (YYYY-MM-DD)
project_idNoFilter by project ID
statusNoFilter by phase status (0=Draft, 1=Tentative, 2=Confirmed)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description bears full responsibility for behavioral disclosure. The description only states what the tool does, not its side effects, safety, permissions, or return behavior. This is insufficient for a read-like operation.

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

Conciseness4/5

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

The description is a single concise sentence that efficiently conveys the core functionality. No unnecessary words. However, it could benefit from slight expansion for clarity, but overall it is well-structured and front-loaded.

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 and no annotations, the description fails to provide context about the return format, what a 'phase' is, or nuances like date range inclusivity. For a retrieval tool with 4 parameters and no output schema, this is incomplete.

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?

All four parameters have descriptions in the input schema (100% coverage), so the description does not need to add parameter details. The description itself does not mention parameters, making it neutral. Baseline 3 is appropriate as schema already provides 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 'Get phases that fall within a specific date range' clearly states the action (get) and resource (phases) with the date range filter. However, it does not explicitly differentiate this tool from siblings like list-phases or list-phases-by-project, which may have overlapping purposes.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, context, or exclusions. The description stands alone without helping an agent decide between related sibling tools.

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

get-phase-scheduleC

Get scheduling information for phases including dependencies and timeline

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesThe project ID to get phase schedule for
include_tasksNoInclude tasks within phases

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, and the description does not disclose behavioral traits such as whether the operation is read-only, performance implications, or error handling. It only states the function without deeper context.

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

Conciseness4/5

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

The description is a single sentence that is concise and front-loaded with the core action. It has no unnecessary words, though it could benefit from slightly more detail without losing brevity.

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 is simple (2 params, no nested objects), but the description does not mention the return structure or any limitations. Given no output schema, a hint about response fields would improve completeness.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description does not add meaning beyond the schema's property descriptions, which are already clear. No extra parameter context is provided.

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 gets scheduling information for phases, specifying dependencies and timeline. However, it does not explicitly differentiate from siblings like get-phase or list-phases, which weakens clarity slightly.

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 (e.g., get-phase, list-phases-by-project). The description lacks context about suitable scenarios or exclusions.

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

get-projectA

Get comprehensive details about a specific project including budget, timeline, client information, and project settings. Use this to retrieve complete project information for planning and analysis.

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNoResponse format - either "json" or "xml"json
project_idYesThe project ID (project_id)

TDQS

A4/5.0
Behavior3/5

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

With no annotations provided, the description bears full responsibility. It describes the tool as retrieving comprehensive details, but does not disclose behavioral traits such as read-only nature, permissions, rate limits, or side effects. The safe read-only behavior is implied but not explicit.

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 with no extraneous information. The purpose is front-loaded with the verb and resource, making it efficient and clear.

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 two parameters and no nested objects, the description is fairly complete. Lacking an output schema, it could benefit from specifying the return structure, but the mention of 'comprehensive details' is acceptable given the context of sibling tools.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters. The description adds no additional meaning beyond what the schema provides, meeting the baseline expectation but not exceeding it.

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 specific project', and lists included details (budget, timeline, client information, project settings), distinguishing it from sibling tools like list-projects (returns list) and get-project-report (more specialized).

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 explicitly says 'Use this to retrieve complete project information for planning and analysis', providing clear context. However, it does not mention when not to use it or offer specific alternatives, though the sibling set makes the tool's role clear.

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

get-project-logged-time-summaryC

Get logged time summary for a specific project including team member contributions

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesThe project ID
start_dateNoStart date for summary (YYYY-MM-DD)
end_dateNoEnd date for summary (YYYY-MM-DD)
people_idNoFilter by person ID
billableNoFilter by billable status (1 = billable, 0 = non-billable)

TDQS

C2.7/5.0
Behavior1/5

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

No annotations are provided, so the description carries full burden for behavioral transparency. The description does not mention read-only status, authentication needs, rate limits, or any side effects. For a read operation like fetching a summary, this is a critical gap.

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

Conciseness4/5

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

The description is a single sentence (12 words), efficient and front-loaded. It wastes no words. However, it sacrifices detail for brevity; some behavioral or usage context could be added without harming conciseness.

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

Completeness2/5

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

For a tool with 5 parameters and no output schema, the description is insufficient. It does not explain what the summary contains (e.g., aggregated hours per person, daily breakdown, totals). The gap is notable given sibling tools like 'get-logged-time' and 'list-logged-time' which have more descriptive names. The agent lacks critical information to decide if this tool returns the required data.

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?

Input schema coverage is 100%, with descriptions for all 5 parameters. The description adds no new parameter-level meaning beyond the schema. It hints at 'team member contributions' which loosely relates to the people_id filter but does not clarify its role. Baseline 3 is appropriate given high 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?

The description clearly states the tool gets a logged time summary for a project and includes team member contributions. It distinguishes from sibling tools like 'get-person-logged-time-summary' and 'list-logged-time' by specifying the aggregation at project level with team contributions. However, 'logged time summary' is somewhat vague and could be more specific about the aggregation 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 explicit guidance on when to use this tool over siblings like 'get-person-logged-time-summary' or 'get-billable-time-report'. The description implies project-level usage, but there is no exclusion criteria or alternative suggestions. The agent must infer from context alone.

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

get-project-milestonesC

Get all milestones for a specific project with optional filtering

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesProject ID to get milestones for
statusNoFilter by milestone status (numeric)
completedNoFilter by completion status (0=not completed, 1=completed)
activeNoFilter by active status (0=archived, 1=active)
priorityNoFilter by priority level (1-5)
date_fromNoFilter milestones from this date (YYYY-MM-DD format)
date_toNoFilter milestones to this date (YYYY-MM-DD format)
pageNoPage number for pagination
per-pageNoNumber of items per page (max 200)

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 carries full burden for behavioral disclosure. It states 'Get all milestones' which implies a read operation, but does not mention pagination behavior, rate limits, or result ordering. The tool is a read operation but lacks transparency on 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.

Conciseness4/5

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

The description is concise (one sentence, 9 words) and front-loaded with the core action. It earns its place by being clear and direct, though it could be slightly more informative without losing conciseness.

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

Completeness2/5

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

The tool has 9 parameters, pagination, and no output schema. The description is too brief to cover important context like result format, pagination behavior, or that filters are optional. Given the complexity, the description is incomplete.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents each parameter clearly. The description adds 'optional filtering' but no additional meaning beyond the schema. Baseline 3 is appropriate as the description does not significantly enhance parameter understanding.

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

Purpose4/5

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

The description clearly states the tool retrieves milestones for a specific project with optional filtering. It effectively communicates the primary function, though it does not explicitly differentiate from siblings like 'list-milestones' or 'get-milestone'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as 'list-milestones', 'get-milestone', or 'get-upcoming-milestones'. The description implies usage for project-specific milestones but lacks explicit context or exclusions.

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

get-project-reportC

Get project summary report

ParametersJSON Schema
NameRequiredDescriptionDefault
start_dateNoStart date for report (YYYY-MM-DD)
end_dateNoEnd date for report (YYYY-MM-DD)
project_idNoFilter by project ID
client_idNoFilter by client ID
statusNoFilter by project status

TDQS

C2.4/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose behavioral traits such as read-only nature, access requirements, or output characteristics. The minimal description fails to compensate for missing annotations.

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

Conciseness2/5

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

The description is extremely concise at 3 words, but lacks necessary detail, making it under-specified rather than efficiently focused.

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 and vague description, the tool is incomplete for an agent to understand what the report contains. The optional parameters suggest filtering but no hint of report content.

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 provides 100% coverage with descriptions for all 5 parameters, so the description need not add further details. However, it adds no contextual value about parameter interactions or usage.

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

Purpose3/5

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

The description 'Get project summary report' states the verb and resource but lacks specificity on what data is summarized. Compared to sibling tools like 'get-project-logged-time-summary', it does not differentiate itself clearly.

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-billable-time-report' or 'get-project-logged-time-summary'. The absence of usage context makes it hard for an agent to choose correctly.

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

get-project-taskC

Get detailed information about a specific project task

ParametersJSON Schema
NameRequiredDescriptionDefault
project_task_idYesThe project task ID
fieldsNoComma-separated list of fields to return

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided; description only says 'Get detailed information'. It does not disclose read-only nature, error handling, or authentication needs. For a read operation, minimal transparency is provided despite the absence of annotations.

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 of 9 words is concise. While it could include more context, it is not verbose and front-loads 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?

Given the presence of many sibling tools and no output schema, the description is too brief. It does not clarify what 'detailed information' includes, nor does it explain the optional 'fields' parameter, leaving the agent uncertain about the return value.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both parameters. The description adds no additional meaning beyond what the schema already provides, so baseline score of 3 is appropriate.

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

Purpose4/5

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

Description clearly states the verb and resource: 'Get' and 'project task'. It is specific but does not differentiate from sibling tools like 'list-project-tasks' or 'get-project-task-dependencies', which also operate on project tasks.

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

Usage Guidelines2/5

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

No guidance on when to use this tool compared to siblings. The description does not mention alternatives or context (e.g., when you need a single task vs a list).

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

get-project-task-dependenciesC

Get dependency information for project tasks

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesProject ID
project_task_idNoSpecific project task ID (if checking dependencies for one task)

TDQS

C2.5/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states 'Get dependency information', but does not disclose if the operation is read-only, what data is returned, or any side effects. The description is insufficient for understanding tool 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?

The description is a single sentence of 5 words, which is concise. However, it lacks structure and does not provide any hierarchical information or key details. It is appropriately short but under-specified.

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

Completeness2/5

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

Given the tool has two parameters, no output schema, and no annotations, the description is incomplete. It does not explain return format, pagination, error handling, or when to use the optional parameter. More context is needed for effective use.

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

Parameters3/5

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

The input schema has 100% coverage with descriptions for both parameters. The tool description does not add additional meaning beyond the schema. Per the guidelines, baseline is 3 when coverage is high, and the description does not enhance parameter semantics.

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

Purpose3/5

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

The description 'Get dependency information for project tasks' is clear about the verb and resource, but it is generic and does not distinguish this tool from sibling tools like 'get-project-task' or 'list-project-tasks'. No specific details on what kind of dependency information (e.g., predecessors, successors) are provided, resulting in a score of 3.

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 other task-related tools. It does not mention prerequisites, when not to use it, or alternative tools. This lack of context makes it harder for an agent to decide correctly.

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

get-project-tasks-by-phaseB

Get all project tasks for a specific project phase

ParametersJSON Schema
NameRequiredDescriptionDefault
phase_idYesPhase ID
activeNoFilter by active status (0=archived, 1=active)
fieldsNoComma-separated list of fields to return

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 should describe behavioral traits like read-only nature, error handling, or pagination. It only states 'get all project tasks' without mentioning that it is safe/read-only or any side effects. The agent cannot anticipate what happens with invalid phase_id or performance implications.

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, precise sentence. No redundant words or unnecessary details. It conveys the essential purpose efficiently.

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 number of sibling tools and the lack of output schema, the description is too minimal. It does not explain return format, ordering, default values for optional parameters, or behavior when no tasks exist. An agent would need to guess details that could affect tool selection.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already describes each parameter. The description adds no extra meaning beyond 'for a specific project phase', which is already implied by the tool name. It does not provide examples or constraints beyond the schema, but baseline 3 is appropriate given high schema 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 action (Get), resource (all project tasks), and filter (for a specific project phase). Unlike ambiguous names, this description makes it easy for an agent to distinguish from siblings like get-project-tasks-by-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 is provided on when to use this tool versus alternatives such as get-project-task, list-project-tasks, or get-phases-by-date-range. The agent is left to infer appropriate usage without any contextual hints.

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

get-project-tasks-by-projectC

Get all project tasks for a specific project

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesProject ID
activeNoFilter by active status (0=archived, 1=active)
include_phasesNoInclude phase information
fieldsNoComma-separated list of fields to return

TDQS

C2.7/5.0
Behavior2/5

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

No annotations exist, so the description must disclose behavioral traits. It only states 'Get all project tasks' but omits details like read-only behavior, pagination, error handling for invalid project IDs, or ordering of results. This leaves the agent with insufficient understanding of the tool's runtime behavior.

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

Conciseness2/5

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

The description is extremely short at one sentence, but it fails to convey essential information like usage context or return value structure. It is under-specified rather than efficiently concise, lacking the substance needed to guide an agent.

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

Completeness2/5

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

Given that there are 4 parameters, no output schema, and no annotations, the description is incomplete. It does not explain return format, pagination, error conditions, or required permissions. The agent would need to infer or experiment to use the tool correctly, indicating 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?

Schema description coverage is 100%, providing basic parameter descriptions. The tool description adds no additional meaning beyond the schema, such as default parameter values or interaction effects (e.g., how fields and include_phases work together). The baseline score of 3 is appropriate given the fully self-documenting schema.

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

Purpose4/5

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

The description clearly states the tool retrieves project tasks for a specific project, using a specific verb and resource. However, it does not explicitly differentiate from sibling tools like list-project-tasks, which might return all tasks without a project filter, potentially causing confusion.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as list-project-tasks or get-project-tasks-by-phase. There is no mention of prerequisites or when not to use it, leaving the agent without 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-public-holidayB

Get detailed information about a specific public holiday

ParametersJSON Schema
NameRequiredDescriptionDefault
holiday_idYesThe public holiday ID

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations provided, the description must disclose behavioral traits. It only states 'Get detailed information', implying a read operation, but does not mention error handling (e.g., if holiday_id is invalid), authentication needs, or any side effects. The absence of such details is a significant gap.

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

Conciseness4/5

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

The description is one sentence, which is concise and front-loaded with the key action and resource. However, it lacks additional useful details that could be added without significant bloat, such as mentioning the unique identifier requirement.

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

Completeness2/5

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

For a simple tool with one parameter and no output schema, the description does not specify what 'detailed information' entails (e.g., fields returned), error behavior for missing holidays, or any prerequisites. The agent may struggle to understand the full context of using this tool.

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

Parameters3/5

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

The input schema has 100% coverage, documenting holiday_id as 'The public holiday ID'. The tool description does not add any additional meaning or context for the parameter, such as expected format or examples. Baseline 3 is appropriate since the schema already describes the parameter adequately.

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 detailed information about a specific public holiday' clearly states the action (Get) and the resource (detailed information about a specific public holiday). It distinguishes from sibling list-public-holidays by implying a single holiday focus.

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 list-public-holidays for multiple holidays or create-public-holiday for adding new ones. The agent is left to infer usage from the name alone.

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

get-roleB

Get detailed information about a specific role

ParametersJSON Schema
NameRequiredDescriptionDefault
role_idYesThe role ID (role_id)

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It only states 'Get detailed information', implying a read operation, but fails to disclose any behavioral traits like authentication needs, error responses, or what happens if the role_id is invalid.

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, concise sentence that immediately conveys the tool's purpose without any fluff 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?

While the tool is simple with one parameter and no output schema, the description could benefit from mentioning what 'detailed information' includes (e.g., permissions, hierarchy). 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 schema covers the single parameter 'role_id' with a basic description. The tool description adds no additional meaning beyond the schema, which already provides the parameter name and type. Given 100% schema coverage, baseline is 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?

The description clearly states 'Get detailed information about a specific role', which includes a specific verb (get), resource (role), and distinguishes itself from sibling tools like 'get-role-hierarchy' and 'get-role-permissions' by focusing on the role itself.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as 'get-role-permissions' or 'get-role-hierarchy'. The description does not exclude any contexts 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-role-hierarchyC

Get roles organized by hierarchy levels

ParametersJSON Schema
NameRequiredDescriptionDefault
activeNoFilter by active status (0=archived, 1=active)
department_idNoFilter by department ID

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 should disclose behavioral traits; it only states the output, omitting details like whether roles are active/inactive, tree structure, or ordering.

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

Conciseness4/5

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

A single, efficient sentence that clearly states the purpose without fluff, though it could be slightly expanded.

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

Completeness2/5

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

Lacks output schema and does not explain return values; no annotations compensate, leaving the agent with incomplete context for invocation.

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

Parameters3/5

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

Schema coverage is 100% with both parameters described; the description adds no additional meaning but baseline is met.

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

Purpose4/5

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

The description uses a specific verb 'Get' and resource 'roles organized by hierarchy levels', clearly distinguishing it from sibling tools like 'get-role' or 'get-role-permissions'.

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, nor any prerequisites or context for invocation.

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

get-role-permissionsB

Get all permissions for a specific role

ParametersJSON Schema
NameRequiredDescriptionDefault
role_idYesThe role ID (role_id)

TDQS

B3.1/5.0
Behavior1/5

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

No annotations provided; description does not disclose any behavioral traits beyond the action. For example, it doesn't specify if the output includes inherited permissions, or if any special authentication is required.

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, direct and to the point. No extraneous words.

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 getter with one parameter, the description is adequate but could mention the output format (e.g., list of permission strings). No output schema exists, so some return value context would be helpful.

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

Parameters3/5

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

Schema coverage is 100% (minimal description for role_id). The description does not add any additional meaning beyond the schema, so baseline 3 applies.

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

Purpose5/5

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

Description clearly states the action ('Get') and resource ('all permissions for a specific role'). It distinguishes from sibling tools like get-role (which gets role metadata) and update-role-permissions (which modifies permissions).

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 check-role-access or get-roles-by-permission. No context on prerequisites or limitations.

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

get-roles-by-permissionB

Get all roles that have a specific permission

ParametersJSON Schema
NameRequiredDescriptionDefault
activeNoFilter by active status (0=archived, 1=active)
permissionYesThe permission to search for

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided. Description only says 'roles that have a specific permission', but omits behavioral details such as default active status, matching behavior (exact/partial), pagination, or return format.

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

Conciseness4/5

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

Single sentence with no fluff, but might benefit from mentioning the optional active parameter or return value. Still, it is clear and quick to read.

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

Completeness2/5

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

Without output schema and no behavioral details, the description is incomplete for an AI agent to understand return structure, sorting, or pagination. Agent would need to infer or test.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both parameters. Tool description adds no additional meaning beyond the schema, so baseline of 3 is appropriate.

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

Purpose5/5

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

Description clearly states the action (Get), resource (roles), and filter (by a specific permission). It distinguishes itself from siblings like list-roles (all roles) and get-role-permissions (permissions for a role).

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 when needing roles filtered by permission, but does not explicitly state when to avoid or alternatives. No prerequisites or context provided.

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

get-statusB

Get detailed information about a specific status

ParametersJSON Schema
NameRequiredDescriptionDefault
status_idYesThe status ID (status_id)

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries the burden of disclosing behavior. It implies a read operation but does not explicitly state that it is non-destructive or detail any requirements (e.g., authentication), limitations, or error handling.

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

Conciseness5/5

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

The description is a single concise sentence that front-loads the action and resource. Every word serves a purpose with no redundancy.

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

Completeness3/5

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

For a simple retrieval tool with one parameter, the description is minimally adequate. However, since no output schema is provided, the agent is left uncertain about the structure of the returned 'detailed information,' which would enhance completeness.

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

Parameters3/5

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

The schema fully documents the status_id parameter, and the description adds no additional semantic value beyond the schema's own field description. A score of 3 reflects adequate but unenhanced 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 tool retrieves detailed information for a specific status, which is distinct from listing statuses. However, it does not explicitly differentiate from siblings like get-statuses-by-type or get-default-status.

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 related tools like list-statuses, get-statuses-by-type, or get-default-status. The agent must infer usage from the name alone.

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

get-statuses-by-typeC

Get all statuses for a specific type with default status information

ParametersJSON Schema
NameRequiredDescriptionDefault
activeNoFilter by active status (0=inactive, 1=active)
status_typeYesType of status (project or task)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states 'get all statuses...with default status information', which is vague about side effects, auth requirements, or what 'default status information' entails. The tool is likely read-only but this is not confirmed.

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

Conciseness4/5

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

The description is a single, concise sentence that front-loads the core purpose. However, the phrase 'with default status information' is slightly ambiguous, reducing clarity slightly.

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 modest complexity (2 parameters, one enum), the description is minimally adequate. However, without an output schema, it does not explain the return format or pagination, leaving some gaps for a filtered list tool.

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

Parameters3/5

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

Schema coverage is 100%, with both parameters described in the schema. The description adds no extra meaning beyond the schema, e.g., it does not explain 'default status information' in relation to the parameters. Baseline 3 is appropriate.

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

Purpose4/5

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

The description clearly states the tool retrieves all statuses for a specific type, and adds 'with default status information'. The name and description align to differentiate from siblings like 'get-status' (single) and 'list-statuses' (all), 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?

The description provides no guidance on when to use this tool versus alternatives such as 'list-statuses' or 'get-status'. Context from sibling tool names suggests differentiation, but the description itself offers no usage direction.

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

get-taskC

Get detailed information about a specific task/allocation

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesThe task ID (task_id)

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 carries the full burden of behavioral disclosure. It only says 'get detailed information', but does not specify what fields are returned, whether authentication is needed, or any potential side effects. More context is needed.

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, concise sentence with no unnecessary words, front-loading the purpose effectively.

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

Completeness2/5

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

Given the lack of output schema and annotations, the description should explain what 'detailed information' includes or note any constraints. It fails to distinguish from similar tools, leaving ambiguity about the exact resource.

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

Parameters3/5

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

Schema coverage is 100% with one parameter already described as 'task_id'. The description adds minimal value by mentioning 'task/allocation' but does not provide additional semantic detail beyond the schema.

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 gets detailed information about a specific task/allocation, with a specific verb and resource. However, it does not differentiate from sibling tools like 'get-allocation' or 'get-project-task', which may be similar.

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. The description does not explain the distinction between 'task' and 'allocation', nor when to prefer this over other get-* tools.

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

get-team-holidayB

Get detailed information about a specific team holiday

ParametersJSON Schema
NameRequiredDescriptionDefault
holiday_idYesThe team holiday ID (holiday_id)

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 for behavioral disclosure. It only states 'Get detailed information', implying a read operation, but does not address aspects like permissions, error handling, or data freshness. For a read tool, this is minimal but not misleading.

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

Conciseness4/5

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

The description is a single sentence with no wasted words, achieving conciseness. However, it could be slightly more informative (e.g., mentioning required parameter) without becoming verbose.

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 is simple (one parameter, no output schema), the description is minimally adequate. It covers the basic function but does not describe return format or content, leaving the agent to infer details from the tool name and schema.

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

Parameters3/5

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

Schema description coverage is 100% for the single parameter holiday_id, which already explains its purpose. The tool description adds no additional meaning beyond the schema, so baseline 3 is appropriate.

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

Purpose5/5

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

The description uses the verb 'Get' and specifies the resource 'detailed information about a specific team holiday', clearly indicating a read operation on a single holiday. It distinguishes from sibling tools like create-team-holiday, delete-team-holiday, and list-team-holidays.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as list-team-holidays or get-upcoming-team-holidays. The description does not mention prerequisites 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.

get-timeoffB

Get detailed information about a specific time off entry

ParametersJSON Schema
NameRequiredDescriptionDefault
timeoff_idYesThe time off ID

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only says 'Get', which implies read-only, but does not mention auth requirements, response size, or any side effects. The lack of detail means the agent cannot fully anticipate behavior.

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, efficient sentence that front-loads the purpose ('Get detailed information'). No wasted words, but it could be slightly more informative without sacrificing conciseness.

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

Completeness2/5

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

No output schema exists, so the description should hint at return fields. 'Detailed information' is vague; the agent doesn't know what fields (e.g., dates, status, type) to expect. For a simple get tool, this is a notable 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?

Schema coverage is 100% (timeoff_id is documented in the schema). The description does not add meaning beyond the schema; both say essentially the same thing. Baseline of 3 is appropriate since the schema already handles parameter context.

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

Purpose5/5

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

The description clearly states the verb ('Get') and resource ('detailed information about a specific time off entry'), distinguishing it from sibling tools like list-timeoff (which returns multiple entries) and approve-timeoff/reject-timeoff (which modify state). The specificity of 'a specific time off entry' differentiates it from get-timeoff-calendar.

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 when needing details of one entry, but provides no explicit when-to-use, when-not-to-use, or alternative tools. Given the many sibling tools, explicit guidance (e.g., 'use list-timeoff to see all entries') would improve clarity.

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

get-timeoff-calendarC

Get time off calendar view for a specific date range

ParametersJSON Schema
NameRequiredDescriptionDefault
start_dateYesStart date (YYYY-MM-DD) - inclusive
end_dateYesEnd date (YYYY-MM-DD) - inclusive
people_idNoFilter by person ID
department_idNoFilter by department ID
timeoff_type_idNoFilter by time off type ID

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 reveal behavioral traits, but it only states 'calendar view' without explaining what that means (e.g., aggregated or overlapping events, output format, or any constraints). The behavior remains opaque.

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, direct sentence with no unnecessary words. It is appropriately front-loaded and efficient.

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

Completeness2/5

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

Despite having 5 parameters and no annotations or output schema, the description provides minimal context. It fails to explain what 'calendar view' entails, the return format, or pagination, leaving significant gaps for an agent to use effectively.

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 covers 100% of parameters with clear descriptions, so the tool description adds no meaningful extra semantics. Per guidelines, baseline is 3, and the description does not enhance understanding beyond the schema.

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 identifies the action ('Get') and resource ('time off calendar view') with a scope ('specific date range'). It hints at a broader view compared to single-entry tools like 'get-timeoff' but does not explicitly differentiate from 'list-timeoff' or 'get-person-timeoff-summary', leaving some ambiguity.

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 its siblings (e.g., list-timeoff, get-person-timeoff-summary). There are no when-to-use, when-not-to-use, or alternative suggestions, making it hard for the agent to select appropriately.

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

get-time-off-typeB

Get detailed information about a specific time off type

ParametersJSON Schema
NameRequiredDescriptionDefault
timeoff_type_idYesThe time off type ID (timeoff_type_id)

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 full behavioral transparency burden. It states 'Get detailed information' implying a read operation, but does not disclose any behavioral traits such as authentication requirements, rate limits, or what 'detailed information' includes.

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

Conciseness4/5

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

The description is a single sentence with no wasted words, but it is slightly vague. Concise but could be more informative without adding length.

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 single parameter and no output schema, the description adequately states the tool's purpose. However, it lacks details on what 'detailed information' entails, which would be helpful given no output schema.

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?

Input schema has 100% coverage, providing a description for the only parameter. The tool description does not add extra meaning beyond what the schema provides, so baseline of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'get' and the resource 'time off type', and specifies 'detailed information about a specific time off type', distinguishing it from sibling tools like 'list-time-off-types' which list all types.

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 like 'list-time-off-types'. The description implies it's for a specific type, but does not provide explicit when-to-use or when-not-to-use advice.

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

get-time-reportC

Get time tracking report with various filters

ParametersJSON Schema
NameRequiredDescriptionDefault
start_dateYesStart date for report (YYYY-MM-DD)
end_dateYesEnd date for report (YYYY-MM-DD)
people_idNoFilter by person ID
project_idNoFilter by project ID
client_idNoFilter by client ID
department_idNoFilter by department ID
billableNoFilter by billable status (0=non-billable, 1=billable)
formatNoReport format (default: json)

TDQS

C2.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. The description only says 'Get time tracking report with various filters' but does not explain return values, authentication needs, performance implications, or what happens if filters are invalid. This is insufficient 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 brief at five words, which is concise but lacks necessary detail. It could include a sentence on report scope or alternative tools without becoming overly long. A middle score reflects that it is not bloated but is under-specified.

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 8 parameters, no output schema, and no behavioral notes, the description is incomplete. It does not describe the report's format, aggregation level, or constraints (e.g., maximum date range). Given the tool's complexity, the description should provide more context for proper use.

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

Parameters3/5

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

Schema description coverage is 100%, so the description does not need to add parameter details. However, the description adds no semantic value beyond 'various filters' โ€“ it does not explain how parameters interact or which combinations are typical. Baseline 3 is appropriate given the schema already documents parameters.

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

Purpose3/5

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

The description states it gets a time tracking report with filters, which is clear but vague. It doesn't specify what the report contains (summary, details) or differentiate from siblings like get-billable-time-report or get-project-report, which also generate reports. A more specific verb and resource description would improve clarity.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. With many sibling tools for reports and filtering (e.g., get-billable-time-report, get-logged-time), the description provides no context for selection or exclusions, leaving the agent to guess.

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

get-upcoming-milestonesC

Get milestones that are upcoming within a specified date range

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idNoFilter by project ID
phase_idNoFilter by phase ID
days_aheadNoNumber of days ahead to look for milestones (default: 30)
priorityNoFilter by priority level (1-5)
completedNoFilter by completion status (0=not completed, 1=completed)
activeNoFilter by active status (0=archived, 1=active)
pageNoPage number for pagination
per-pageNoNumber of items per page (max 200)

TDQS

C2.9/5.0
Behavior2/5

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

Without annotations, the description must fully disclose behavioral traits. It only states the basic operation, omitting details like read-only nature, pagination behavior, default days_ahead, or results format.

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

Conciseness4/5

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

Single sentence, efficient in length. However, it is too vague to be fully informative, but still 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?

Given 8 parameters, no output schema, no annotations, and no explanation of how 'upcoming' is determined (e.g., using days_ahead), the description is incomplete for effective tool understanding.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents all parameters. The description adds no additional meaning or usage details beyond the generic statement.

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

Purpose4/5

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

Description clearly states it retrieves upcoming milestones within a date range. However, it does not differentiate from sibling tools like get-overdue-milestones or get-project-milestones, which have similar scopes.

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. The agent receives no context about when this is preferred over list-milestones, get-milestone, or other milestone retrieval tools.

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

get-upcoming-team-holidaysB

Get team holidays occurring from today onwards

ParametersJSON Schema
NameRequiredDescriptionDefault
days_aheadNoNumber of days ahead to look for holidays (default: 30)
department_idNoFilter by department ID
region_idNoFilter by region ID
activeNoFilter by active status (0=inactive, 1=active)
pageNoPage number for pagination
per-pageNoNumber of items per page (max 200)

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 carries full burden. It only restates the name and fails to disclose safety, permission requirements, or default filtering behavior beyond the basic 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.

Conciseness3/5

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

The single sentence is concise but too brief for a tool with 6 parameters; it lacks structure like bullet points or parameter mentions, but has no wasted words.

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?

Despite parameters for pagination and filtering, the description omits default days_ahead, pagination behavior, and response format. The tool's completeness is low given no output schema.

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?

All parameters are described in the input schema (100% coverage), so the description adds no extra meaning. Baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool retrieves team holidays from today onwards, effectively distinguishing it from siblings that return all holidays or by specific date ranges.

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

Usage Guidelines3/5

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

The description implies usage for upcoming holidays but does not explicitly compare to siblings like list-team-holidays or list-team-holidays-by-date-range, leaving the agent to infer without exclusions.

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

list-accountsA

Retrieve a paginated list of all user accounts with advanced filtering options. Use for user management, access control, and organizational oversight. Supports filtering by account type, active status, and department access.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (starts from 1)
activeNoFilter by active status (0=inactive/archived, 1=active)
per-pageNoNumber of items per page (max 200, default varies by API configuration)
account_typeNoFilter by account type (1=admin with full access, 2=member with standard access, 3=view-only with read permissions)
department_filter_idNoFilter by department access - shows only accounts with access to specific department

TDQS

A4.2/5.0
Behavior4/5

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

As a read-only listing tool, the description implies no side effects. No annotations exist, but the description adequately covers pagination and filtering. Could mention it's non-destructive.

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 succinct sentences with front-loaded key information. No unnecessary words.

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?

Covers purpose, use cases, and filtering. Lacks mention of ordering or default page size, but given tool simplicity and schema richness, it's nearly 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 coverage is 100% with good param descriptions. The tool description does not add new meaning beyond what the schema already provides.

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

Purpose5/5

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

The description clearly states it retrieves a paginated list of user accounts with filtering. It distinguishes itself from siblings like get-account, create-account, etc.

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?

Provides clear use cases (user management, access control, organizational oversight) but does not explicitly exclude alternatives or 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.

list-allocationsC

List all allocations with optional filtering (same as tasks in Float API)

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idNoFilter by project ID
people_idNoFilter by person ID
start_dateNoFilter by start date (YYYY-MM-DD)
end_dateNoFilter by end date (YYYY-MM-DD)
statusNoFilter by status (numeric)
pageNoPage number for pagination
per-pageNoNumber of items per page (max 200)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, and the description only says 'List all allocations', implying a read operation. It lacks explicit disclosure of behaviors like pagination, rate limits, or data scope beyond what the schema suggests.

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, very concise and front-loaded. Could be improved with brief structuring (e.g., listing available filters), but it communicates the core action efficiently.

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

Completeness2/5

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

Lacks explanation of return values (no output schema), pagination behavior, date format requirements, or how 'status' is interpreted. The description is too minimal to fully guide complex usage.

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

Parameters3/5

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

Schema coverage is 100%, so each parameter already has a description. The tool description does not add additional meaning or clarify the numeric status parameter, hence baseline score.

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 'List all allocations with optional filtering', a specific verb+resource. However, it does not differentiate from sibling tools like list-project-tasks, which could be confused.

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 list-project-tasks or get-allocation. The description merely says 'same as tasks in Float API', which is vague and does not provide explicit usage context.

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

list-clientsA

List all clients with optional filtering

ParametersJSON Schema
NameRequiredDescriptionDefault
activeNoFilter by active status (0=archived, 1=active)
pageNoPage number for pagination
per-pageNoNumber of items per page (max 200)
formatNoResponse format - either "json" or "xml"json

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 convey behavioral traits. It indicates a read-only operation ('list'), but does not disclose details such as pagination limits (max 200 per 'per-page' param), default response format, or whether it returns archived clients by default. The description is minimal and lacks important behavioral context.

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

Conciseness5/5

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

The description is a single, clear sentence with no unnecessary words. It is appropriately sized for a simple list tool.

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

Completeness3/5

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

For a list tool with four optional parameters, the description is very brief. It does not mention pagination, response structure, or defaults, despite the input schema providing some details. However, given the simplicity of the tool and the comprehensive schema, it is minimally adequate.

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 100% description coverage, so the schema already documents each parameter. The description adds no extra meaning beyond 'optional filtering', which is already implied by the optional parameters. Baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'List' and the resource 'clients', and mentions optional filtering. This distinguishes it from sibling tools like 'get-client' (single client retrieval) and CRUD operations such as 'create-client' and 'delete-client'.

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 this tool is for listing all clients with optional filters, but it does not explicitly state when to use it over alternatives like 'get-client' for a single client. There is no guidance on 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.

list-departmentsC

List all departments

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination
activeNoFilter by active status (0=archived, 1=active)
per-pageNoNumber of items per page (max 200)

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It fails to disclose that the tool is read-only, paginated, or that filters are available via parameters. Basic behavioral traits are omitted.

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

Conciseness2/5

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

The description is only three words, which is too terse for a tool with three parameters and no output schema. It sacrifices necessary detail for brevity, resulting in under-specification.

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 three parameters, no output schema, and many sibling tools, the description lacks essential context: return format, pagination behavior, and differentiation from other list tools. It is insufficient for an agent to use correctly.

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

Parameters3/5

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

Schema description coverage is 100%, so baseline is 3. The description does not add any meaning beyond the schema; it does not explain the 'page', 'active', or 'per-page' parameters, but the schema itself is clear.

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

Purpose4/5

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

The description states 'List all departments', clearly indicating it retrieves a list of departments, distinguishing from the sibling 'get-department' which retrieves a single department. However, the phrase 'all' may be slightly misleading given the presence of pagination parameters.

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 other list tools like 'list-people' or 'list-clients', nor any exclusions or prerequisites. The description is silent on context, leaving the agent to infer usage.

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

list-logged-timeA

List all logged time entries with optional filtering by person, project, date range, and billable status

ParametersJSON Schema
NameRequiredDescriptionDefault
people_idNoFilter by person ID
project_idNoFilter by project ID
task_idNoFilter by task ID
start_dateNoFilter by start date (YYYY-MM-DD) - inclusive
end_dateNoFilter by end date (YYYY-MM-DD) - inclusive
billableNoFilter by billable status (1 = billable, 0 = non-billable)
lockedNoFilter by locked status (1 = locked, 0 = unlocked)
pageNoPage number for pagination
per-pageNoNumber of items per page (max 200)
fieldsNoComma-separated list of fields to return

TDQS

A3.5/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 disclose behavioral traits. It states 'List all logged time entries...' implying a read operation, but does not mention pagination defaults, maximum results, or output format. The presence of pagination params suggests default behavior, but it's undocumented.

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, front-loaded sentence that conveys the core purpose and key options without unnecessary words. Every piece of information is relevant.

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 list tool with no output schema and no annotations, the description is minimal. It omits details like default page size, maximum per-page, and return value structure. While simply 'list' plus filters is understandable, it leaves some gaps for an agent.

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

Parameters3/5

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

Schema coverage is 100% with each parameter having a description. The description adds general context of optional filtering but no additional specifics beyond the schema. Baseline 3 applies.

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

Purpose5/5

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

The description clearly specifies the verb 'List' and the resource 'logged time entries', and mentions optional filtering by person, project, date range, and billable status, which distinguishes it from sibling tools like 'get-logged-time' (likely singular) and summary tools.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as 'get-logged-time', 'get-logged-time-timesheet', or summary endpoints. The description does not provide usage context or exclusions.

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

list-milestonesB

List all milestones with optional filtering by project, phase, status, or date range

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idNoFilter by project ID
phase_idNoFilter by phase ID
statusNoFilter by milestone status (numeric)
completedNoFilter by completion status (0=not completed, 1=completed)
activeNoFilter by active status (0=archived, 1=active)
start_dateNoFilter by start date (YYYY-MM-DD format)
end_dateNoFilter by end date (YYYY-MM-DD format)
date_fromNoFilter milestones from this date (YYYY-MM-DD format)
date_toNoFilter milestones to this date (YYYY-MM-DD format)
priorityNoFilter by priority level (1-5)
created_byNoFilter by creator user ID
pageNoPage number for pagination
per-pageNoNumber of items per page (max 200)

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose behavioral aspects such as read-only nature, pagination defaults, or side effects. It only states 'list' which implies reading, but lacks detail on data freshness, ordering, or limitations.

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

Conciseness5/5

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

A single, clear sentence that is front-loaded with the verb and resource. No superfluous words, achieving maximum conciseness for the 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?

Given the complexity (13 parameters, no output schema, no annotations), the description is too sparse. It lacks details on pagination behavior, default results, ordering, or return format, which are important for an agent to use the tool effectively.

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 provides full descriptions for all 13 parameters (100% coverage), so the description's mention of 'filtering by project, phase, status, or date range' adds only a high-level summary without new meaning. Baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool lists milestones with optional filters by project, phase, status, or date range. This distinguishes it from sibling tools like 'get-milestone' (single item) or 'get-project-milestones' (pre-filtered by 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. With many sibling list tools (e.g., list-phases, list-project-tasks), the description does not provide criteria for selecting this over others, nor does it 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.

list-peopleA

Retrieve a paginated list of all team members with advanced filtering options. Use for team management, resource planning, and organizational oversight. Supports filtering by department, role, and active status.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination
activeNoFilter by active status (0=archived, 1=active)
formatNoResponse format - either "json" or "xml"json
statusNoFilter by person status
per-pageNoNumber of items per page (max 200)
departmentNoFilter by department

TDQS

A4/5.0
Behavior4/5

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

The description discloses that it's a paginated read operation with filtering, which covers most behavioral traits. However, it does not mention response structure or potential performance implications. With no annotations, it carries the full burden and does well.

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 two sentences that efficiently convey the purpose and use cases. It is front-loaded with the main action. Slightly more structure (e.g., listing filters) could improve it, but it is concise and clear.

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 list tool with 6 optional parameters and no output schema, the description covers pagination and filtering but omits details about sorting, response format, and that no filters returns all members. It is adequate but not fully comprehensive.

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 coverage is 100% with clear parameter descriptions. The description adds value by grouping filters (department, role, active status) but does not provide additional context beyond what the schema already conveys.

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 paginated list of team members with advanced filtering. It distinguishes from sibling tools like get-person (single person) and create-person (creation) by focusing on listing with filtering.

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 context for use: team management, resource planning, and organizational oversight. It implies when to use this tool but does not explicitly mention when not to use or compare with alternatives like get-person.

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

list-phasesC

List all phases with optional filtering by project, status, or date range

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idNoFilter by project ID
statusNoFilter by phase status (0=Draft, 1=Tentative, 2=Confirmed)
start_dateNoFilter by start date (YYYY-MM-DD)
end_dateNoFilter by end date (YYYY-MM-DD)
activeNoFilter by active status (0=archived, 1=active)
pageNoPage number for pagination
per-pageNoNumber of items per page (max 200)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states listing behavior with filters, but fails to mention read-only nature, pagination specifics (e.g., default page size), or data freshness. This is a significant gap for a 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 sentence that efficiently conveys the core functionality. Every word contributes value, with no redundancy or filler.

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 7 parameters, no output schema, and no annotations, the description is too sparse. It does not explain pagination behavior, result limits, or response structure. For a list tool, completeness is lacking.

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

Parameters3/5

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

Schema coverage is 100% with each parameter described. The description adds a summary of filter types, but does not provide additional context such as default values, data formats, or relationships between parameters. Baseline of 3 is appropriate.

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 lists all phases with optional filtering, which is specific and actionable. It distinguishes from siblings like 'get-phases-by-date-range' by offering combined filters, but could be more explicit about the resource (project phases) to avoid ambiguity.

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 siblings like 'list-phases-by-project' or 'get-phases-by-date-range'. The description does not mention alternatives or exclusions, leaving the agent to infer usage.

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

list-phases-by-projectB

List all phases for a specific project

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesThe project ID to get phases for
statusNoFilter by phase status (0=Draft, 1=Tentative, 2=Confirmed)
activeNoFilter by active status (0=archived, 1=active)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, and the description fails to disclose behavioral details like default filtering (e.g., active status), sorting, pagination, or output format. It only restates the basic action.

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

Conciseness5/5

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

Single sentence with no unnecessary words. It is front-loaded and efficient for its 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?

The tool is simple, and the input schema is well-defined. However, without an output schema, the description should explain what the tool returns (e.g., list of phase objects). It is minimally adequate.

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

Parameters3/5

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

Schema coverage is 100%, with each parameter already described (e.g., project_id, status, active). The description adds no additional semantics beyond the schema, so baseline of 3 is appropriate.

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 'List all phases for a specific project', which explicitly identifies the action (list), resource (phases), and scope (by project). It is distinct from siblings like 'list-phases' (all phases) and 'get-phase' (single phase), 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 such as 'list-phases' or 'get-phases-by-date-range'. The description does not mention context or exclusions.

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

list-projectsA

Retrieve a paginated list of all projects with advanced filtering options. Use this for project overview, status tracking, and finding specific projects by client or status. Supports pagination for large project datasets.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination (starts from 1)
activeNoFilter by active status (0=archived/inactive, 1=active)
formatNoResponse format - either "json" or "xml"json
statusNoFilter by project status (numeric status ID from status management)
per-pageNoNumber of items per page (max 200, default varies by API)
client_idNoFilter by client ID to show only projects for a specific client

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It mentions pagination and filtering but does not explicitly state it is a read-only operation, disclose rate limits, or describe data freshness, leaving key behavioral traits unclear.

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 focused sentences that front-load the core purpose and usage, with no redundant or wasteful 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?

While the description covers purpose and basic usage, it lacks details on pagination behavior (default per-page, response format nuances) and error scenarios. With no output schema, more context would be beneficial for a 6-parameter tool.

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

Parameters3/5

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

Schema coverage is 100% with detailed parameter descriptions. The description adds no semantic value beyond 'advanced filtering options,' so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the tool retrieves a paginated list of projects with filtering, distinguishing it from sibling list tools like list-clients.

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 specific use cases (overview, status tracking, finding by client/status) but lacks explicit when-not-to-use or alternative recommendations.

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

list-project-tasksC

List all project tasks with optional filtering by project, phase, or status

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idNoFilter by project ID
phase_idNoFilter by phase ID
activeNoFilter by active status (0=archived, 1=active)
billableNoFilter by billable status (0=non-billable, 1=billable)
statusNoFilter by task status (numeric)
pageNoPage number for pagination
per-pageNoNumber of items per page (max 200)
fieldsNoComma-separated list of fields to return

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, and the description does not disclose behavioral traits such as read-only nature, pagination behavior, sorting, or performance implications. The description merely states 'list' without additional context.

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 13 words, concise and front-loaded with the main action. However, it could be slightly more structured or informative 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 tool has 8 optional parameters including pagination and field selection, the description lacks details on pagination, default behavior, response format, or any constraints. It is incomplete for effective use.

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

Parameters3/5

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

All 8 parameters have descriptions in the input schema (100% coverage), so the description adds minimal extra value beyond listing the filter types. The baseline is 3, and the description does not provide examples or clarify parameter interactions.

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 lists project tasks with optional filtering by project, phase, or status. However, it does not differentiate from siblings like 'get-project-tasks-by-project' or 'get-project-tasks-by-phase', which are more specific.

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. The description only implies usage for listing tasks with filters, but does not mention when not to use it or suggest other tools for specific filtering needs.

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

list-public-holidaysB

List all public holidays with optional filtering by date range, region, and status

ParametersJSON Schema
NameRequiredDescriptionDefault
start_dateNoStart date filter (YYYY-MM-DD)
end_dateNoEnd date filter (YYYY-MM-DD)
regionNoFilter by region or country code
countryNoFilter by country name
activeNoFilter by active status (0=archived, 1=active)
moveableNoFilter by moveable status (0=fixed, 1=moveable)
recurringNoFilter by recurring status (0=one-time, 1=recurring)
yearNoFilter by year
pageNoPage number for pagination
per-pageNoNumber of items per page (max 200)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must carry full burden. It states 'List all public holidays' implying a safe read operation, but fails to disclose pagination behavior, performance implications, or any effects on state.

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 that is clear and front-loaded. No unnecessary words, though it could be slightly more structured to list filter categories.

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 10 optional parameters and no output schema, the description lacks context on return value format, pagination behavior, or valid filter combinations. This is incomplete for a list endpoint with many filters.

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 100% coverage, so baseline is 3. The description adds 'optional filtering by date range, region, and status', but 'status' is ambiguous and does not significantly enhance understanding beyond the schema.

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

Purpose4/5

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

The description clearly states the verb 'List' and resource 'public holidays', and mentions optional filtering. However, it does not differentiate from sibling list tools like list-team-holidays or list-allocations.

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

Usage Guidelines3/5

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

The description implies usage for listing public holidays with filters, but does not provide explicit guidance on when to use this tool versus alternatives (e.g., get-public-holiday for a single holiday). No when-not-to-use or exclusion criteria.

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

list-recurring-team-holidaysC

List all recurring team holidays

ParametersJSON Schema
NameRequiredDescriptionDefault
department_idNoFilter by department ID
region_idNoFilter by region ID
activeNoFilter by active status (0=inactive, 1=active)
pageNoPage number for pagination
per-pageNoNumber of items per page (max 200)

TDQS

C2.6/5.0
Behavior1/5

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

With no annotations, the description must disclose behavioral traits. It only states the purpose without mentioning safety, authentication, or what 'recurring' means. No side effects or rate limits are discussed.

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

Conciseness2/5

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

The description is very concise but lacks necessary detail for an adequate understanding. Under-specification reduces value despite brevity.

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?

The description is extremely incomplete given the tool's complexity (5 optional parameters, no output schema, many siblings). It does not explain pagination, output format, or distinction from similar tools.

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

Parameters3/5

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

Schema description coverage is 100% (all 5 parameters have descriptions). The description adds no extra meaning, so baseline score of 3 is appropriate.

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

Purpose5/5

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

The description 'List all recurring team holidays' clearly states the verb and resource, and the tool name distinguishes it from siblings like list-team-holidays or list-team-holidays-by-date-range.

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 like list-team-holidays or list-team-holidays-by-department. There is no mention of when it is appropriate or not.

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

list-rolesC

List all roles with optional filtering by status, department, or active status

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination
levelNoFilter by role level/hierarchy
activeNoFilter by active status (0=archived, 1=active)
per-pageNoNumber of items per page (max 200)
department_idNoFilter by department ID

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 fully disclose behavioral traits. It states 'list all roles' implying a read operation, but fails to mention pagination, default filtering, maximum results, or response structure. The lack of detail on behavior like whether results are sorted or limited reduces 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?

The description is a single concise sentence that conveys the core functionality without fluff. It is front-loaded with the action and scope, making it easy to parse. Every word earns its place.

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

Completeness2/5

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

Given 5 parameters, no output schema, and multiple sibling tools, the description lacks completeness. It omits details on pagination, default behavior, return type, and how filters interact. The agent is not equipped to use the tool fully based on this description alone.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description adds minimal value beyond the schema by listing filterable fields (status, department, active status), but 'status' does not match a parameter. It does not explain 'level' or 'per-page', which are in the schema, so no significant additional semantics.

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 'List all roles' with a specific verb and resource. It mentions optional filtering by status, department, or active status, which are mostly present in the schema (active and department_id). However, 'status' is not a parameter, causing minor confusion. It distinguishes from sibling tools like get-role but does not explicitly differentiate from other list-* tools.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., get-role for a single role, get-role-permissions for permissions). The description does not specify context or exclusions, leaving the agent to infer usage without support.

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

list-statusesC

List all statuses with optional filtering by status type (project or task)

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination
activeNoFilter by active status (0=inactive, 1=active)
per-pageNoNumber of items per page (max 200)
status_typeNoFilter by status type (project or task)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It does not disclose whether the tool is read-only, whether pagination is handled, or any details about the active filter (though it exists in the schema). The description oversimplifies the tool's behavior.

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

Conciseness4/5

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

The description is a single sentence that is concise and front-loaded with the key action. However, it is too brief and omits important details that could have been added without sacrificing conciseness, such as mentioning the active filter or pagination.

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 4 parameters and no annotations or output schema, the description is inadequate. It only covers one parameter (status_type) and does not address pagination, active filtering, or the per-page limit. A more complete description would include these details to help an agent use the tool correctly.

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

Parameters3/5

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

All parameters have descriptions in the schema (100% coverage), so the baseline is 3. The description only adds meaning for 'status_type', which is already documented in the schema. No additional value is provided for other parameters like 'page' or 'active'.

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 'List all statuses' with the verb 'list' and resource 'statuses', and mentions optional filtering by status type, which adds specificity. However, it does not differentiate from sibling tools like 'get-statuses-by-type' or 'get-status', which could cause confusion for an AI agent.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as 'get-status' or 'get-statuses-by-type'. It lacks context about when to apply the filter or any exclusionary criteria.

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

list-tasksC

List all tasks/allocations with optional filtering by project, person, or date range

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination
statusNoFilter by task status (numeric)
end_dateNoFilter by end date (YYYY-MM-DD)
per-pageNoNumber of items per page (max 200)
people_idNoFilter by person ID
project_idNoFilter by project ID
start_dateNoFilter by start date (YYYY-MM-DD)

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 should disclose behavior like pagination, ordering, or safety. It only states 'list all' and optional filters, omitting that results are paginated (page, per-page params) and that it's a read-only operation. Agent may not know about pagination constraints or default 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?

Single sentence with no extraneous words. It front-loads the action and resource, and immediately lists filtering capabilities. Every word earns its place.

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

Completeness2/5

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

Despite 7 parameters and no output schema, the description only mentions three filter categories. It omits pagination, status filtering, and what the output looks like (e.g., list of task objects). This is insufficient for an agent to confidently use the tool without inspecting the schema.

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 covers all 7 parameters with descriptions. The description adds value by summarizing filter categories (project, person, date range) that map to specific parameters, but does not mention status or pagination parameters. Baseline 3 is appropriate as schema does most of the work.

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 ('list') and resource ('tasks/allocations'), and mentions optional filtering by project, person, or date range. However, it does not differentiate from sibling tools like 'list-allocations' or 'list-project-tasks', which could cause confusion.

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. There are many list and get tools (e.g., 'list-project-tasks', 'get-task') but the description provides no context on when this tool is appropriate or when to defer to others.

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

list-team-holidaysC

List all team holidays with optional filtering by department, date range, or active status

ParametersJSON Schema
NameRequiredDescriptionDefault
department_idNoFilter by department ID
region_idNoFilter by region ID
start_dateNoFilter holidays starting from this date (YYYY-MM-DD)
end_dateNoFilter holidays ending before this date (YYYY-MM-DD)
activeNoFilter by active status (0=inactive, 1=active)
recurringNoFilter by recurring status (0=one-time, 1=recurring)
holiday_typeNoFilter by holiday type (0=full day, 1=partial day)
pageNoPage number for pagination
per-pageNoNumber of items per page (max 200)

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 fails to disclose behavioral traits such as pagination, response format, or default behavior when no filters are applied. It only mentions optional filtering, omitting important 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 description is a single clear sentence with no redundancy. However, it could be slightly expanded to include pagination or response details without losing conciseness.

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

Completeness2/5

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

Given 9 optional parameters and no output schema, the description is too minimal. It does not explain pagination, when to use filters, or what the response contains, making it incomplete for complex usage.

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

Parameters3/5

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

Schema coverage is 100%, so each parameter is already described. The description repeats some filters (department, date range, active) but adds no new meaning beyond the schema. Baseline of 3 is appropriate.

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 it lists all team holidays with optional filtering. However, it does not distinguish this general list from specialized sibling tools like list-team-holidays-by-date-range and list-team-holidays-by-department.

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 its specialized siblings. The description does not mention alternatives or contexts that favor one over the others.

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

list-team-holidays-by-date-rangeB

List team holidays within a specific date range

ParametersJSON Schema
NameRequiredDescriptionDefault
start_dateYesStart date for the range (YYYY-MM-DD)
end_dateYesEnd date for the range (YYYY-MM-DD)
department_idNoFilter by department ID
region_idNoFilter by region ID
activeNoFilter by active status (0=inactive, 1=active)
pageNoPage number for pagination
per-pageNoNumber of items per page (max 200)

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavioral traits. It only states the action and scope. It omits common list behaviors such as pagination, authentication needs, 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.

Conciseness4/5

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

The description is a single efficient sentence that front-loads the core purpose. It is concise without being under-specified.

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 is provided, yet the description does not indicate what the response contains (e.g., list of holiday objects). It also lacks details on pagination behavior or error cases. For a list tool with many siblings, it is incomplete.

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 100% description coverage for all 7 parameters, so the schema already explains each parameter. The description adds no further meaning beyond the schema, resulting in baseline score.

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

Purpose5/5

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

The description clearly states the verb 'List' and resource 'team holidays' with a specific scope 'within a specific date range'. It distinguishes from siblings like list-team-holidays (no date filter) and list-team-holidays-by-department (department filter).

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 date-range filtering but does not explicitly state when to use it vs. alternatives like list-team-holidays or list-team-holidays-by-department. No when-not-to-use or context is provided.

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

list-team-holidays-by-departmentB

List team holidays filtered by specific department

ParametersJSON Schema
NameRequiredDescriptionDefault
department_idYesDepartment ID to filter holidays
start_dateNoFilter holidays starting from this date (YYYY-MM-DD)
end_dateNoFilter holidays ending before this date (YYYY-MM-DD)
activeNoFilter by active status (0=inactive, 1=active)
pageNoPage number for pagination
per-pageNoNumber of items per page (max 200)

TDQS

B3.3/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as pagination behavior, default active status, or date range handling. The schema descriptions partially fill this gap, but the description adds no additional behavioral context.

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

Conciseness4/5

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

The description is a single sentence that is succinct and front-loaded. However, given the tool has 6 parameters, it could benefit from slightly more detail without being verbose.

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

Completeness2/5

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

With 6 parameters, no output schema, and no annotations, the description is too brief. It does not explain pagination, default filtering for active status, or date range behavior. The tool is moderately complex, and the description lacks sufficient context.

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

Parameters3/5

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

Schema coverage is 100%, so the baseline is 3. The description does not add meaning beyond the schema; it merely restates the filter. No additional parameter semantics are 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 verb 'List' and the resource 'team holidays' with a specific filter 'by department'. This distinguishes it from siblings like 'list-team-holidays' (no filter) and 'list-team-holidays-by-date-range' (date filter).

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 implicitly suggests use when filtering by department, but provides no explicit guidance on when to use this tool over alternatives or when not to use it. No alternatives are mentioned.

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

list-timeoffB

List all time off entries with optional filtering by person, project, status, and date range

ParametersJSON Schema
NameRequiredDescriptionDefault
people_idNoFilter by person ID
timeoff_type_idNoFilter by time off type ID
start_dateNoFilter by start date (YYYY-MM-DD) - inclusive
end_dateNoFilter by end date (YYYY-MM-DD) - inclusive
statusNoFilter by status (pending, approved, rejected)
pageNoPage number for pagination
per-pageNoNumber of items per page (max 200)

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided; description fails to disclose key behaviors like pagination (despite schema having page and per-page), default sorting, or that it lists all entries (not scoped to current user). Agent lacks critical usage context.

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

Conciseness5/5

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

Single sentence of 13 words, no redundancy. Front-loaded with action and key features.

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 list tool with 7 parameters and no output schema, description is minimal. Doesn't mention pagination behavior, default values, or result format. Adequate but not comprehensive given complexity.

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

Parameters3/5

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

Schema already covers all 7 parameters with descriptions. Description adds value by summarizing filter categories ('person, project, status, date range') but introduces error by saying 'project' instead of 'timeoff_type_id'. Marginal net benefit.

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

Purpose4/5

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

Description clearly states the tool lists time off entries with optional filters, distinguishing it from get-timeoff or create-timeoff. However, it inaccurately mentions 'project' filter while schema has 'timeoff_type_id' for time-off type, which may cause confusion.

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 siblings like get-timeoff, get-person-timeoff-summary, or list-time-off-types. No when-not-to-use or alternative recommendations.

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

list-time-off-typesB

List all time off types with optional filtering by active status

ParametersJSON Schema
NameRequiredDescriptionDefault
activeNoFilter by active status (0=archived, 1=active)
pageNoPage number for pagination
per-pageNoNumber of items per page (max 200)

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose pagination behavior, default active status filtering, or other side effects (e.g., rate limits), relying solely on the schema for parameters.

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 key information, no fluff.

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?

Despite having 3 optional parameters and no output schema, the description omits default behaviors, return format, and pagination limits (max 200 from schema), making it incomplete for an agent.

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

Parameters3/5

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

Schema description coverage is 100% (all parameters documented), so the description adds minimal value beyond stating 'optional filtering by active status' which is already in the schema.

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

Purpose5/5

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

The description clearly states the tool lists all time off types with optional active status filtering, distinguishing it from siblings like 'get-time-off-type' (single) and 'list-timeoff' (time off requests).

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 specify when to use this tool vs alternatives (e.g., for a single type) or provide context on filtering defaults, leaving implicit usage.

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

list-timeoff-typesB

List all available time off types

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNoPage number for pagination
per-pageNoNumber of items per page (max 200)

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must disclose behavior but only states 'list all available time off types', omitting details like authentication, pagination behavior (though schema hints), or whether it returns only active types.

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 efficient sentence with no redundancy, though slightly too minimal for a tool with no annotations.

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 and no annotations, the description does not explain return values, ordering, or any constraints beyond the schema, leaving significant gaps for a simple list tool.

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

Parameters3/5

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

Schema coverage is 100% (both parameters described), so the description adds no extra meaning beyond what the schema already provides, earning baseline score.

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

Purpose5/5

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

The description clearly states the action (list) and resource (all available time off types), differentiating it from siblings like get-time-off-type (single) or list-timeoff (time off requests).

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives, nor any mention of prerequisites or typical use cases, leaving the agent to infer.

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

manage-account-permissionsC

Manage and update account permissions and access rights including view/edit permissions, department filters, and access levels. Critical for security and access control management.

ParametersJSON Schema
NameRequiredDescriptionDefault
accessNoAccount access level
account_idYesThe account ID (account_id)
edit_rightsNoEdit permissions (0=none, 1=limited, 2=full)
view_rightsNoView permissions (0=none, 1=limited, 2=full)
department_filter_idNoDepartment filter ID for restricted access (null for all departments)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided; the description only says 'Manage and update', implying mutation but lacks details on side effects, security implications beyond a vague mention, or any prerequisites. For a critical security tool, more transparency is needed.

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

Conciseness4/5

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

Two sentences efficiently convey the tool's purpose and importance. Could be more structured but is clear and front-loaded.

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

Completeness2/5

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

Lacks information about return values, success/error conditions, and required permissions. Given the tool's security-critical nature and lack of output schema, more context is needed for complete understanding.

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

Parameters3/5

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

Schema coverage is 100%, so baseline is 3. The description summarizes parameter categories (view/edit, department filters, access levels) but adds no significant new meaning beyond what the schema already provides.

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 manages and updates account permissions with specific examples (view/edit, department filters, access levels). However, it does not differentiate from sibling tools like 'bulk-update-account-permissions' or 'set-account-department-filter'.

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 'bulk-update-account-permissions' or 'update-account'. No context for prerequisites or intended workflow.

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

manage-entityC

Consolidated tool for managing all core Float entities (people, projects, tasks, clients, departments, roles, accounts, statuses). Supports all CRUD operations and specialized functions through a decision-tree approach. Use entity_type to specify the entity and operation to specify the action.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoThe entity ID (people_id, project_id, task_id, client_id, department_id, role_id, account_id, or status_id)
nameNoName of the entity
pageNoPage number for pagination
colorNoColor (hex code)
emailNoEmail address
levelNoRole level
notesNoNotes or description
accessNoAccess level
activeNoFilter by active status (0=archived, 1=active)
avatarNoAvatar URL
budgetNoBudget amount
formatNoResponse format - either "json" or "xml"json
statusNoFilter by status
accountsNoArray of account updates for bulk operations
billableNoBillable flag (0=non-billable, 1=billable)
end_dateNoEnd date in YYYY-MM-DD format
per-pageNoNumber of items per page (max 200)
positionNoPosition for ordering
priorityNoPriority level
timezoneNoAccount timezone
client_idNoFilter by client ID (for projects)
job_titleNoJob title
operationYesThe operation to perform (list, get, create, update, delete, or specialized operations)
parent_idNoParent department ID
people_idNoFilter by person ID
task_typeNoTask type
tentativeNoTentative flag (0=confirmed, 1=tentative)
departmentNoFilter by department (for people)
is_defaultNoWhether this is the default status
permissionNoFilter roles by permission
project_idNoFilter by project ID
repeat_endNoRepeat end date
start_dateNoStart date in YYYY-MM-DD format
descriptionNoRole description
edit_rightsNoEdit rights
entity_typeYesThe type of entity to manage (people, projects, tasks, clients, departments, roles, accounts, statuses)
hourly_rateNoHourly rate
permissionsNoRole permissions
status_typeNoType of status
view_rightsNoView rights
account_typeNoAccount type
actual_hoursNoActual hours
non_billableNoNon-billable flag (0=billable, 1=non-billable)
repeat_stateNoRepeat state
department_idNoFilter by department ID
employee_typeNoEmployee type (1=full-time, 0=part-time)
is_system_roleNoSystem role flag (1=system, 0=custom)
people_type_idNoPeople type (1=employee, 2=contractor, 3=placeholder)
estimated_hoursNoEstimated hours
permission_nameNoPermission name to check
permissions_dataNoPermissions data for account management
role_permissionsNoRole permissions to update
default_status_idNoDefault status ID to set
default_hourly_rateNoDefault hourly rate
department_filter_idNoDepartment filter ID

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must fully disclose behavior. It mentions 'decision-tree approach' but does not explain constraints, authentication, side effects, or how parameters interact. With 55 parameters and many operations, the lack of behavioral detail is a significant gap.

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

Conciseness5/5

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

The description is only two sentences and immediately conveys the tool's purpose and core parameters. Every sentence is useful, and there is no redundancy. It is well-structured and efficient.

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

Completeness2/5

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

Given the tool's complexity (55 parameters, 8 entity types, 19 operations, numerous siblings), the description is far too brief. It does not cover parameter dependencies, expected outputs, or how to combine parameters for specialized operations. The absence of an output schema exacerbates this lack of completeness.

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

Parameters3/5

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

The input schema has 100% description coverage for all 55 parameters, so each property already has a description. The tool description only adds a high-level mention of entity_type and operation, not supplementing the schema details. Baseline 3 is appropriate as the schema carries the weight.

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 it is a consolidated tool for managing all core Float entities and supports CRUD and specialized operations. It specifies the two key parameters (entity_type, operation). However, it does not detail which operations are applicable to which entities, which may leave some ambiguity for the agent.

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

Usage Guidelines2/5

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

The description does not provide guidance on when to use this consolidated tool versus the many specific sibling tools (e.g., create-person, delete-client). It merely states it is 'consolidated' without explaining trade-offs or selection criteria. The agent is left to infer usage context.

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

manage-project-workflowC

Consolidated tool for managing project workflow entities (phases, milestones, project-tasks, allocations). Handles all project-specific operations including scheduling, task management, and resource allocation through a decision-tree approach.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoThe entity ID (phase_id, milestone_id, project_task_id, or task_id for allocations)
dateNoMilestone date (YYYY-MM-DD)
nameNoName/title of the entity
pageNoPage number for pagination
colorNoColor (hex code)
hoursNoAllocated hours
notesNoNotes or description
activeNoActive status (0=archived, 1=active)
budgetNoTask budget
formatNoResponse format - either "json" or "xml"json
statusNoStatus code
billableNoBillable flag (0=non-billable, 1=billable)
end_dateNoEnd date (YYYY-MM-DD)
per-pageNoNumber of items per page (max 200)
phase_idNoFilter by phase ID
priorityNoPriority level (1-5)
completedNoCompletion status (0=incomplete, 1=complete)
operationYesThe workflow operation to perform
people_idNoFilter by person ID
task_typeNoTask type
created_byNoUser ID who created the milestone
project_idNoFilter by project ID
repeat_endNoRepeat end date
sort_orderNoSort order
start_dateNoStart date (YYYY-MM-DD)
task_namesNoTask name/title
task_orderNoArray of task IDs with new sort orders
budget_typeNoBudget type
descriptionNoMilestone description
entity_typeYesThe type of workflow entity (phases, milestones, project-tasks, allocations)
modified_byNoUser ID who last modified
budget_totalNoTotal budget
dependenciesNoTask dependencies
non_billableNoNon-billable flag (0=billable, 1=non-billable)
repeat_stateNoRepeat state
project_tasksNoArray of project tasks for bulk creation
reminder_dateNoReminder date
reminder_sentNoReminder sent flag (0=not sent, 1=sent)
completed_dateNoCompletion date
estimated_hoursNoEstimated hours
default_hourly_rateNoDefault hourly rate

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so the description must disclose behavioral traits. It mentions a 'decision-tree approach' but does not explain what that entails, side effects, authentication needs, or how operations affect state. The tool has 41 parameters and 18 operations, yet the description lacks behavioral context.

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

Conciseness4/5

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

The description is a single sentence that efficiently conveys the tool's purpose and entity scope. While concise, it could be improved by front-loading key usage guidance.

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

Completeness2/5

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

Given the tool's complexity (41 parameters, 18 operations, 4 entity types, no output schema, no annotations), the description is insufficient. It does not explain how parameters relate to operations, what responses look like, or how to construct valid requests.

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

Parameters3/5

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

Schema coverage is 100% with detailed parameter descriptions (e.g., 'The entity ID (phase_id, milestone_id, project_task_id, or task_id for allocations)'). The description does not add additional parameter-level meaning, so it merits a baseline 3 for compensating 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?

The description clearly states it's a consolidated tool for managing four workflow entity types (phases, milestones, project-tasks, allocations) and mentions scheduling, task management, and resource allocation. However, it does not distinguish itself from the many sibling tools that handle specific operations for each entity, leaving ambiguity about when to use this tool over those.

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 consolidated tool versus the many existing per-entity tools (e.g., create-phase, list-phases, update-milestone). No when-not-to-use 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.

manage-time-trackingC

Consolidated tool for managing all time tracking entities (logged-time, timeoff, timeoff-types, public-holidays, team-holidays). Handles time logging, leave management, and holiday tracking through a decision-tree approach with comprehensive reporting capabilities.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoThe entity ID (logged_time_id, timeoff_id, timeoff_type_id, holiday_id)
dateNoFilter by specific date (YYYY-MM-DD)
nameNoName of the time off type or holiday
pageNoPage number for pagination
typeNoHoliday type
yearNoYear for the holiday
colorNoColor (hex code)
hoursNoHours logged or time off hours
notesNoNotes or description for logged time entries or holidays
activeNoFilter by active status (0=archived, 1=active)
fieldsNoComma-separated list of fields to return
formatNoResponse format - either "json" or "xml"json
lockedNoFilter by locked status (1=locked, 0=unlocked)
regionNoRegion or country code
statusNoFilter by status (pending, approved, rejected)
all_dayNoAll day flag (0=not all day, 1=all day)
countryNoCountry name
task_idNoFilter by task ID
billableNoFilter by billable status (1=billable, 0=non-billable)
end_dateNoFilter by end date (YYYY-MM-DD)
full_dayNoFull day flag (1=full day, 0=partial day)
moveableNoMoveable flag (0=fixed, 1=moveable)
per-pageNoNumber of items per page (max 200)
timezoneNoTimezone
operationYesThe time tracking operation to perform
people_idNoFilter by person ID
recurringNoFilter by recurring status (0=one-time, 1=recurring)
region_idNoFilter by region ID
created_byNoUser ID who created
is_defaultNoDefault flag (0=not default, 1=default)
project_idNoFilter by project ID
repeat_endNoRepeat end date
start_dateNoFilter by start date (YYYY-MM-DD)
approved_atNoApproval timestamp
approved_byNoUser ID who approved
descriptionNoHoliday description
entity_typeYesThe type of time tracking entity (logged-time, timeoff, timeoff-types, public-holidays, team-holidays)
rejected_atNoRejection timestamp
rejected_byNoUser ID who rejected
holiday_typeNoHoliday type (0=full day, 1=partial day)
repeat_stateNoRepeat state
department_idNoFilter by department ID
reference_dateNoReference date for UI suggestions
timeoff_entriesNoArray of time off entries for bulk creation
timeoff_type_idNoFilter by time off type ID
recurrence_patternNoRecurrence pattern
logged_time_entriesNoArray of logged time entries for bulk creation

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are present, so the description carries full burden. It does not disclose behavioral traits such as authentication requirements, rate limits, error handling, or what happens with incorrect usage. The mention of 'comprehensive reporting' is vague and insufficient.

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 sentence, making it concise, but it is a run-on sentence that lacks structure. It attempts to cover too much without clear segmentation.

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

Completeness2/5

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

Given the tool's complexity (47 parameters, 27 operations, 5 entity types), the description is far too brief. It does not explain the decision-tree logic, parameter dependencies per operation, or output format. No output schema is provided, leaving agents with inadequate context.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents all parameters. The description adds no extra meaning beyond stating 'decision-tree approach' and 'comprehensive reporting', which does not enhance parameter understanding.

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 identifies the tool as a consolidated endpoint for time tracking entities (logged-time, timeoff, etc.) and mentions a decision-tree approach. It differentiates from sibling tools by being a unified gateway, but could be more specific about which operations are covered.

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 consolidated tool versus the numerous sibling tools for specific CRUD operations. The description mentions a 'decision-tree approach' but does not explain how to navigate it or when it is preferable to individual endpoints.

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

reactivate-accountA

Reactivate an account (sets active status to 1)

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesThe account ID (account_id)

TDQS

A3.6/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 fully disclose behavior. It reveals the core effect (setting active status to 1) but omits important details like required permissions, failure conditions (e.g., if account is already active), and whether the operation is idempotent.

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 contains no unnecessary words. It is concise but could be slightly expanded to include more context without losing brevity.

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 mutation tool with one parameter and no output schema, the description is adequate but lacks completeness. Missing details include error scenarios, prerequisites, and side effects beyond setting the flag. Given the sibling tools, more context would improve usability.

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

Parameters3/5

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

Schema coverage is 100% with a description for the single parameter 'account_id'. The tool description does not add additional meaning beyond the schema, so it meets the baseline expectation without adding value.

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

Purpose5/5

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

Description clearly states the action 'Reactivate an account' and specifies the effect 'sets active status to 1'. The verb 'reactivate' distinguishes this from sibling tools like 'deactivate-account' and 'update-account', making its purpose unambiguous.

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 such as 'update-account' or prerequisites (e.g., account must be deactivated). The purpose is clear, but the lack of contextual usage instructions reduces clarity for an AI agent.

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

reject-timeoffB

Reject a pending time off request

ParametersJSON Schema
NameRequiredDescriptionDefault
timeoff_idYesThe time off ID
rejected_byNoUser ID who is rejecting
notesNoOptional rejection notes

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 fails to disclose the consequences of rejection, such as notifications, reversibility, or state changes. The word 'reject' implies mutation but lacks detail.

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 concise sentence that directly states the tool's action without unnecessary words.

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?

Despite being a simple tool, the description lacks critical context such as constraints (only pending requests) and post-rejection behavior, making it insufficiently 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 coverage is 100%, meeting the baseline. The description adds no additional meaning beyond the parameter descriptions already in 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 uses a specific verb ('reject') and resource ('pending time off request'), clearly distinguishing from sibling tools like 'approve-timeoff' or 'create-timeoff'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, such as 'approve-timeoff' or 'delete-timeoff'. There is no mention of prerequisites or conditions for rejection.

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

reorder-project-tasksB

Reorder project tasks by updating their sort_order

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYesProject ID
task_orderYesArray of task IDs with their new sort order

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided; the minimal description does not disclose behavioral details such as idempotency, conflict handling, or whether the entire order is replaced. This is insufficient for a mutation tool.

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

Conciseness4/5

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

The description is a single concise sentence with no wasted words; front-loaded with the action and resource.

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 is simple with two well-described parameters and no output schema. The description is minimally sufficient but lacks behavioral context that would improve completeness.

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

Parameters3/5

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

Schema coverage is 100% with clear descriptions; the tool description adds no extra meaning beyond what the schema provides, so baseline score is appropriate.

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

Purpose5/5

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

The description clearly states the tool reorders project tasks by updating their sort_order, distinguishing it from related tools like update-project-task.

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

Usage Guidelines3/5

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

The description implies usage for reordering tasks but lacks explicit guidance on when to use versus alternatives like update-project-task or bulk operations.

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

set-account-department-filterB

Set department filter to restrict account access to specific departments

ParametersJSON Schema
NameRequiredDescriptionDefault
account_idYesThe account ID (account_id)
department_filter_idYesDepartment ID to filter by, or null to remove filter

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It lacks details on side effects (e.g., overriding existing filters), required permissions, or whether the change is immediate or reversible. The null behavior is only implied by the schema, not the description.

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, concise sentence that front-loads the core purpose. Every word is necessary; there is no fluff or 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?

Given the mutation nature (setting a filter) and lack of output schema or annotations, the description is insufficient. It fails to explain the effect of setting or removing filters, what happens to existing access, or how to revert. The schema provides some detail, but the description should contextualize it.

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

Parameters3/5

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

Schema coverage is 100% and both parameters have descriptions. The tool description adds no extra meaning beyond the schemaโ€”it does not explain parameter formats, constraints, or relationships. Baseline 3 is appropriate as the schema does the heavy lifting.

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 ('Set department filter') and its purpose ('to restrict account access to specific departments'), using a specific verb and resource. It differentiates from sibling tools like update-account or manage-account-permissions by focusing solely on department filtering.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, such as other account management tools. It does not mention contextual prerequisites or that setting department_filter_id to null removes the filter, which is critical usage information.

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

set-default-statusB

Set a status as the default for its type

ParametersJSON Schema
NameRequiredDescriptionDefault
status_idYesThe status ID to set as default
status_typeYesType of status (project or task)

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 bears the full burden of disclosing behavioral traits. It does not indicate if the operation overrides an existing default, requires certain permissions, or is idempotent. The minimal description leaves significant behavioral uncertainty.

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

Conciseness4/5

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

The description is a single sentence with no unnecessary words. It is concise and front-loaded with the key action. However, it could be slightly more informative without sacrificing brevity, hence not a perfect 5.

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 only two parameters and no output schema, the description is adequate but superficial. It does not mention that a corresponding 'get-default-status' tool exists for verification, nor does it address potential side effects like overriding an existing default. A more complete description would provide this context without being verbose.

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 already provides clear descriptions for both parameters (status_id as 'The status ID', status_type as 'Type of status (project or task)'). The description adds no extra meaning beyond reiterating the tool's overall purpose, so it meets the baseline for high schema 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 action ('Set'), the resource ('status'), and the context ('as default for its type'). It effectively distinguishes from sibling tools like 'get-default-status' and 'update-status' by focusing specifically on the default-setting 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. It does not mention prerequisites (e.g., status must exist), that only one status can be default per type, or when to use 'update-status' instead.

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

update-accountB

Update an existing user account with new information including contact details, permissions, timezone settings, and account configuration. Use for profile management and access control updates.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoAccount holder name
emailNoEmail address
accessNoAccount access level
activeNoActive status (1=active, 0=inactive)
avatarNoAvatar URL or file path
timezoneNoAccount timezone (e.g., America/New_York)
account_idYesThe account ID (account_id)
edit_rightsNoEdit permissions (0=none, 1=limited, 2=full)
view_rightsNoView permissions (0=none, 1=limited, 2=full)
account_typeNoAccount type (1=admin, 2=member, 3=view-only)
department_filter_idNoDepartment filter ID for restricted access

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 must disclose behavioral details. It states 'Update an existing user account,' implying mutation but does not mention potential side effects (e.g., deactivation via the 'active' field), required permissions, or any irreversible impacts. This is insufficient for a tool with no other behavioral hints.

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 long and front-loads the key action and resource. Every sentence adds value: first defines scope, second clarifies use cases. No unnecessary filler.

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

Completeness2/5

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

Given the tool has 11 parameters, no output schema, and no annotations, the description is too brief. It does not explain return values, validation requirements, or the implications of specific fields like 'active' or 'account_type.' The description alone does not provide enough context for complete agent understanding.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description adds a high-level categorization of parameters (contact details, permissions, etc.), which provides some semantic grouping but no additional constraints or usage nuances beyond what the schema already offers.

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 user account and lists specific aspects like contact details, permissions, timezone settings, and account configuration. It provides a clear purpose but does not explicitly differentiate from sibling tools like update-account-timezone or bulk-update-account-permissions.

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 mentions 'Use for profile management and access control updates,' which gives context on when to use. However, it lacks explicit guidance on when not to use or alternative tools, leaving some ambiguity among related siblings.

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

update-account-timezoneC

Update the timezone for a specific account

ParametersJSON Schema
NameRequiredDescriptionDefault
timezoneYesTimezone identifier (e.g., America/New_York, Europe/London, Asia/Tokyo)
account_idYesThe account ID (account_id)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, and the description offers no information about side effects, permissions, idempotency, or other behaviors beyond the basic update 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 sentence with no wasted words, appropriate for a simple tool.

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

Completeness2/5

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

Given the lack of annotations and output schema, the description is too terse. It does not explain success/error responses or format constraints beyond those in the schema, leaving gaps for an agent to understand behavior fully.

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 100% coverage, fully describing both parameters with examples. The description adds no additional meaning beyond what the schema provides.

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

Purpose4/5

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

The description 'Update the timezone for a specific account' clearly states the action ('Update') and the resource ('timezone for a specific account'). It distinguishes from sibling tools like 'update-account' which likely updates multiple fields, though not explicitly stated.

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 'update-account', which might also modify the timezone. 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.

update-allocationC

Update an existing allocation

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesThe allocation ID (task_id in Float API)
project_idNoProject ID
people_idNoPerson ID
start_dateNoAllocation start date (YYYY-MM-DD)
end_dateNoAllocation end date (YYYY-MM-DD)
hoursNoNumber of hours allocated
notesNoAllocation notes
billableNoBillable flag (0=non-billable, 1=billable)
task_typeNoTask type
statusNoStatus (numeric)

TDQS

C2.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden. It only says 'update', implying mutation, but lacks details on side effects, permissions, idempotency, or error 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?

Single sentence is concise but overly minimal. Could include additional context without being verbose. Every word earns its place, but misses opportunity to inform.

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 10 parameters, no output schema, and no annotations, the description is insufficient. It does not explain return values, required fields beyond schema, or common usage patterns.

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?

Input schema has 100% coverage with descriptions for all 10 parameters. The description adds no extra meaning beyond the schema, so baseline 3 is appropriate.

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

Purpose4/5

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

The description 'Update an existing allocation' clearly states the verb (update) and resource (allocation). It distinguishes from sibling tools like create-allocation and delete-allocation, though it does not explicitly contrast them.

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 create-allocation or other update tools. 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.

update-clientC

Update an existing client

ParametersJSON Schema
NameRequiredDescriptionDefault
client_idYesThe client ID (client_id)
nameNoClient name
notesNoClient notes
activeNoActive status (1=active, 0=archived)

TDQS

C2.8/5.0
Behavior2/5

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

No annotations exist, and the description does not disclose behavioral traits such as idempotency, return value, required permissions, or error handling. For a mutation tool, this is insufficient.

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 minimal and lacks structure (e.g., no breakdown of update behavior). It is adequately short but not optimally structured.

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 4 parameters, no output schema, and no annotations, the description fails to explain return values, error cases, or partial update semantics. It is incomplete for effective agent use.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for each parameter. The description adds no additional meaning beyond what is already in the schema, meeting the baseline.

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 (update) and resource (client), distinguishing it from create and get/list tools. However, it lacks specificity about partial vs full update.

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., create-client for new clients, delete-client for removal). No prerequisites or context provided.

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

update-departmentB

Update an existing department

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoDepartment name
parent_idNoParent department ID
department_idYesThe department ID

TDQS

B3/5.0
Behavior2/5

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

The description only implies mutation via 'update', but does not disclose behavioral traits such as whether partial updates are supported, required permissions, or the return value. Since no annotations are provided, the description carries full burden but fails to add context.

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

Conciseness3/5

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

The description is very concise at one sentence, but it is nearly tautological with the tool name. It lacks substantive information that would leverage its brevity for clarity.

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

Completeness2/5

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

Given the lack of output schema and annotations, the description should compensate but does not. It does not explain what the update operation returns or any side effects, leaving gaps for an AI agent.

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

Parameters3/5

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

The input schema already includes descriptions for all three parameters (100% coverage). The tool description adds no additional semantic meaning beyond what the schema provides, so baseline score of 3 is appropriate.

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

Purpose5/5

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

The description 'Update an existing department' clearly specifies the action (update) and the resource (department). It distinguishes itself from sibling tools like create-department, delete-department, and get-department.

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 any prerequisites or context for use. The description merely states the action without exclusions or recommendations.

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

update-logged-timeB

Update an existing logged time entry

ParametersJSON Schema
NameRequiredDescriptionDefault
logged_time_idYesThe logged time ID (hexadecimal)
people_idNoThe person ID who logged the time
project_idNoThe project ID for the logged time
task_idNoThe task ID for the logged time
dateNoThe date for the logged time (YYYY-MM-DD)
hoursNoThe number of hours logged
billableNoWhether the time is billable (1 = billable, 0 = non-billable)
notesNoOptional notes describing the work done
reference_dateNoReference date for UI suggestions

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 carries full burden of disclosing behavioral traits. It only states 'update an existing logged time entry', omitting details like whether it performs a partial or full replacement, required permissions, side effects on related records, or error handling (e.g., what happens if the entry doesn't exist).

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 concise sentence with no unnecessary words or information. It is front-loaded and efficient.

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

Completeness2/5

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

Despite having 9 parameters and no output schema or annotations, the description is too brief to fully inform an agent. It lacks information about expected responses, validation rules, and operational details critical for an update operation.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents each parameter. The description adds no additional meaning beyond the schema, such as constraints, interdependencies, or usage examples. Baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the verb 'update' and the resource 'logged time entry', distinguishing it from sibling tools like create-logged-time, delete-logged-time, and list-logged-time. It is specific and unambiguous.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives such as create-logged-time (for new entries) or delete-logged-time (for removals). It lacks any context about prerequisites or scenarios.

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

update-milestoneC

Update an existing milestone

ParametersJSON Schema
NameRequiredDescriptionDefault
milestone_idYesThe milestone ID (milestone_id)
nameNoMilestone name
project_idNoProject ID
phase_idNoPhase ID
descriptionNoMilestone description
dateNoMilestone date (YYYY-MM-DD format)
start_dateNoMilestone start date (YYYY-MM-DD format)
end_dateNoMilestone end date (YYYY-MM-DD format)
statusNoMilestone status (numeric)
priorityNoPriority level (1-5, where 1 is highest)
completedNoCompletion status (0=not completed, 1=completed)
completed_dateNoCompletion date (YYYY-MM-DD format)
notesNoAdditional notes
colorNoMilestone color (hex color code)
reminder_dateNoReminder date (YYYY-MM-DD format)
activeNoActive status (1=active, 0=archived)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so the description carries full burden. It does not disclose behavioral traits such as idempotency, error handling, permissions, or side effects. Basic mutation behavior is implied but not elaborated.

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

Conciseness5/5

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

Single sentence with no unnecessary words. Perfectly concise and efficient.

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

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 16 parameters, no output schema, and no annotations, the description is too sparse. It should at least mention that milestone_id is required and that only provided fields are updated. Fails to provide sufficient context for complete understanding.

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?

Input schema has 100% coverage with descriptions for all 16 parameters. The description adds no additional meaning beyond what the schema provides, so baseline score of 3 is appropriate.

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 verb 'update' and resource 'milestone', making the action explicit. However, it does not differentiate from sibling tools like 'complete-milestone' or 'archive-project-task' that also modify milestones.

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 create-milestone, complete-milestone, or delete-milestone. The description lacks context for selecting this tool over others.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-personB

Update an existing person

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoPerson name
emailNoEmail address
activeNoActive status (1=active, 0=archived)
job_titleNoJob title
people_idYesThe person ID (people_id)
department_idNoDepartment ID
employee_typeNoEmployee type (1=full-time, 0=part-time)
people_type_idNoPeople type (1=employee, 2=contractor, 3=placeholder)
default_hourly_rateNoDefault hourly rate

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden of behavioral disclosure. It merely states the action without explaining key traits such as idempotency, partial update support, error handling, or what happens if the people_id does not exist. The agent lacks critical behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise, consisting of a single phrase with no superfluous words. However, it lacks structure or prioritization, making it less effective for quick scanning by an AI agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 9 parameters and no output schema or annotations, the description is insufficiently complete. It does not explain the update behavior, return value, error states, or relationship to other tools, leaving agents with 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?

Schema coverage is 100%, with each parameter having a description. The tool description adds no additional meaning beyond the schema, so it meets the baseline of 3. It does not clarify parameter relationships or usage nuances.

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 'Update an existing person' clearly states the verb (update) and resource (person), distinguishing it from sibling tools like 'create-person', 'delete-person', and update tools for other entities such as 'update-account' or 'update-client'.

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, its prerequisites (e.g., person must exist), or when to prefer alternatives like 'create-person' for new entries or 'get-person' for reading. The agent receives no contextual cues beyond the tool's name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-phaseC

Update an existing phase

ParametersJSON Schema
NameRequiredDescriptionDefault
phase_idYesThe phase ID (phase_id)
project_idNoThe ID of the project this phase belongs to
nameNoPhase name
start_dateNoPhase start date (YYYY-MM-DD)
end_dateNoPhase end date (YYYY-MM-DD)
statusNoPhase status (0=Draft, 1=Tentative, 2=Confirmed)
notesNoPhase notes and description
non_billableNoNon-billable flag (0=billable, 1=non-billable)
colorNoPhase color (hex code)
default_hourly_rateNoDefault hourly rate for this phase
budget_totalNoTotal budget for this phase
activeNoActive status (1=active, 0=archived)

TDQS

C2.4/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description carries full burden. It only says 'Update an existing phase' with no disclosure of side effects (e.g., partial update behavior, permission requirements, what happens if phase not found, or whether it returns the updated phase). This is insufficient for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely short (5 words), which is concise but sacrifices necessary detail. It is front-loaded but misses critical context about usage and behavior. A 3 reflects minimum viability.

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 12 parameters, no annotations, and no output schema, the description is vastly incomplete. It fails to explain what the tool returns, validation behavior, or how to handle errors. Far below the level needed for effective agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with detailed descriptions for each parameter (e.g., start_date format, status values, non_billable flag). The description adds no extra meaning beyond what the schema already provides, so baseline 3 is appropriate.

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 states 'Update an existing phase' which clearly identifies the action on a specific resource. While it does not differentiate from sibling tools like create-phase or delete-phase, the name itself implies mutation, so purpose is clear.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives such as create-phase or get-phase. Missing prerequisites like requiring the phase_id, or that only provided fields will be updated. The description is silent on usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-projectC

Update an existing project with new information including timeline changes, budget updates, status modifications, and project configuration adjustments.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoProject name
colorNoProject color
notesNoProject notes
activeNoActive status (1=active, 0=archived)
budgetNoProject budget
formatNoResponse format - either "json" or "xml"json
statusNoProject status (numeric)
end_dateNoProject end date (YYYY-MM-DD)
client_idNoClient ID
tentativeNoTentative flag (0=confirmed, 1=tentative)
project_idYesThe project ID (project_id)
start_dateNoProject start date (YYYY-MM-DD)
hourly_rateNoHourly rate
non_billableNoNon-billable flag (0=billable, 1=non-billable)

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavioral traits. It describes the tool as updating a project but does not mention side effects, required permissions, partial update behavior, or whether changes are immediately persisted. For a mutation tool, this is insufficient 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?

The description is a single sentence of 18 words, front-loaded with the verb and resource. Every phrase serves a purpose, listing example modifications concisely. There is no unnecessary repetition or filler.

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 14 parameters and no output schema, the description is too brief. It omits important context such as the required 'project_id', the effect of omitting parameters (partial update), and what the tool returns (if anything). The tool is complex, but the description does not address that 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?

The schema covers all 14 parameters with descriptions, so baseline is 3. The description adds value by grouping parameters into categories (timeline, budget, etc.), but does not explain individual parameter semantics beyond what the schema already provides.

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 'Update' and identifies the resource as 'existing project'. It lists example modifications (timeline, budget, status, configuration), which distinguishes it from create and delete tools. However, it does not explicitly state that it cannot create projects, though the required 'project_id' parameter implies that.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like update-project-task or other update tools. It does not specify prerequisites, limitations, or scenarios where this tool is more appropriate than others.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-project-taskC

Update an existing project task

ParametersJSON Schema
NameRequiredDescriptionDefault
project_task_idYesThe project task ID
task_namesNoTask name/title
project_idNoProject ID
phase_idNoPhase ID
notesNoTask notes
budgetNoTask budget
budget_typeNoBudget type
colorNoTask color (hex code)
billableNoBillable flag (0=non-billable, 1=billable)
activeNoActive status (1=active, 0=archived)
priorityNoTask priority
sort_orderNoSort order within project
dependenciesNoArray of project task IDs this task depends on
estimated_hoursNoEstimated hours for completion
statusNoTask status (numeric)

TDQS

C2.8/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. Only confirms mutation ('update') but does not disclose side effects, error behaviors, or permissions required.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Extremely concise one-sentence description, but sacrifices necessary detail. Could be improved with structured information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 15 optional parameters and no output schema, the description fails to explain return values, optionality, or valid parameter combinations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are already described in schema. The description adds no additional meaning or constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the verb 'Update' and resource 'existing project task', distinguishing it from siblings like archive-project-task or delete-project-task. However, it lacks specificity about which fields can be updated.

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 archive-project-task or reorder-project-tasks. No prerequisites or context provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-public-holidayB

Update an existing public holiday

ParametersJSON Schema
NameRequiredDescriptionDefault
holiday_idYesThe public holiday ID
nameNoHoliday name
dateNoHoliday date (YYYY-MM-DD)
regionNoRegion or country code
countryNoCountry name
typeNoHoliday type (bank_holiday, observed, etc.)
moveableNoMoveable status (0=fixed, 1=moveable)
recurringNoRecurring status (0=one-time, 1=recurring)
yearNoYear for the holiday
notesNoAdditional notes
activeNoActive status (1=active, 0=archived)

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 should disclose behavioral traits. It only indicates mutation ('Update') but omits any side effects, permissions, or update semantics (e.g., partial updates).

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, efficient sentence that is front-loaded and contains no unnecessary information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity (11 parameters, no output schema, no annotations), the description lacks context on return values, error handling, and field update behavior, making it incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with descriptions for all parameters. The description adds no additional meaning beyond the schema, resulting in a baseline 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?

The description 'Update an existing public holiday' clearly states the action (update) and the resource (public holiday), distinguishing it from siblings like create-public-holiday or delete-public-holiday.

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 any prerequisites or exclusions. The description is minimal.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-roleC

Update an existing role with new information or permissions

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoRole name
levelNoRole level/hierarchy
activeNoActive status (1=active, 0=archived)
role_idYesThe role ID (role_id)
descriptionNoRole description
permissionsNoList of permissions for this role
department_idNoDepartment ID if role is department-specific
is_system_roleNoWhether this is a system role (1=system, 0=custom)
default_hourly_rateNoDefault hourly rate for this role

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must fully disclose behavior. It only says 'update', implying mutation, but fails to mention whether updates are partial or full replacements, effect on permissions, idempotency, or required authorization.

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 sentence, making it concise, but it lacks important details that could be added without excessive verbosity.

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 9 parameters, no output schema, and no annotations, the description is too sparse. It does not explain behavior like partial updates, permission overwriting, or return values, making it incomplete for effective tool use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already describes all parameters. The description adds no extra meaning beyond the schema, so a baseline score of 3 is appropriate.

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 'Update an existing role with new information or permissions', which is a specific verb-resource combination. However, it does not differentiate from the sibling tool 'update-role-permissions', which may cause confusion.

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 'update-role-permissions' or 'create-role'. The absence of context leaves the agent without decision criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-role-permissionsC

Update permissions for a specific role

ParametersJSON Schema
NameRequiredDescriptionDefault
replaceNoWhether to replace all permissions (true) or merge with existing (false)
role_idYesThe role ID (role_id)
permissionsYesNew list of permissions for this role

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided. The description only indicates a write operation ('Update') but lacks details about side effects, authorization requirements, or whether changes are reversible. The behavioral footprint is under-described.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence with no filler. It front-loads the core action but could be more informative without sacrificing 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?

For a mutation tool without annotations or output schema, the description is too minimal. It does not explain return values, side effects, or prerequisites, leaving the agent with insufficient context for safe invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with clear descriptions for all three parameters (role_id, permissions, replace). The overall description adds no extra meaning beyond the schema, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Update permissions for a specific role' clearly states the action (update) and resource (role permissions). It distinguishes from siblings like get-role-permissions (read) or manage-account-permissions (broader scope). However, it does not specify the replace vs. merge behavior explicitly, which is covered in the schema but not in the description.

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 over alternatives like manage-account-permissions or get-role-permissions. Given the large number of sibling tools, explicit usage context is missing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-statusC

Update an existing status

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoStatus name
colorNoColor for status visualization (hex code)
activeNoActive status (1=active, 0=inactive)
positionNoPosition for ordering statuses
status_idYesThe status ID (status_id)
is_defaultNoWhether this should be the default status
status_typeNoType of status (project or task)

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. 'Update an existing status' is vague: it doesn't specify whether updates are partial or full, what side effects occur, or required permissions. No mention of reversibility or limitations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no fluff, achieving high conciseness. However, it sacrifices completeness, which is a trade-off. Structure is straightforward.

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 7 parameters and no annotations or output schema, the description is insufficient. It lacks return value details, update semantics, and any behavioral nuance. The agent would need to guess or rely on previous context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the input schema already describes each parameter. The description adds no additional meaning beyond the schema, earning the baseline score. No compensation needed.

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 ('Update') and resource ('an existing status'), distinguishing it from create/delete/get/list status tools. However, it lacks specific scoping (e.g., 'by status_id') and doesn't differentiate from other update tools beyond the resource name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives like create-status, delete-status, or set-default-status. The description does not mention prerequisites, context, or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-taskC

Update an existing task/allocation

ParametersJSON Schema
NameRequiredDescriptionDefault
task_idYesThe task ID (task_id)
nameNoTask name
project_idNoProject ID
people_idNoPerson ID
start_dateNoTask start date (YYYY-MM-DD)
end_dateNoTask end date (YYYY-MM-DD)
notesNoTask notes
estimated_hoursNoEstimated hours
actual_hoursNoActual hours spent
priorityNoTask priority
statusNoTask status (numeric)
billableNoBillable flag (0=non-billable, 1=billable)
task_typeNoTask type

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided. Description does not disclose behavioral traits such as whether it is destructive, idempotent, or requires specific permissions. Minimal information.

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?

Description is very short and front-loaded with the verb and resource. However, it could be slightly expanded without becoming verbose to improve clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, and description does not mention return values or update behavior. For a tool with 13 parameters, the description is too minimal and incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with clear descriptions for all 13 parameters. The tool description adds no extra meaning beyond what the schema already provides, so it meets the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description states verb 'Update' and resource 'task/allocation', but the resource is ambiguous because there is a separate sibling tool 'update-allocation', suggesting this tool should only update tasks. It does not clearly differentiate between updating a task vs an allocation.

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 other update tools (e.g., update-allocation, update-project-task). No prerequisites or context provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-team-holidayC

Update an existing team holiday

ParametersJSON Schema
NameRequiredDescriptionDefault
holiday_idYesThe team holiday ID (holiday_id)
nameNoHoliday name
descriptionNoHoliday description
start_dateNoHoliday start date (YYYY-MM-DD)
end_dateNoHoliday end date (YYYY-MM-DD)
holiday_typeNoHoliday type (0=full day, 1=partial day)
department_idNoDepartment ID for department-specific holiday
region_idNoRegion ID for region-specific holiday
recurringNoRecurring status (0=one-time, 1=recurring)
recurrence_patternNoRecurrence pattern for recurring holidays
activeNoActive status (0=inactive, 1=active)
notesNoAdditional notes
colorNoHex color code for calendar display
all_dayNoAll day status (0=not all day, 1=all day)
timezoneNoTimezone for the holiday

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, and description does not disclose behaviors such as whether update is partial or full, error handling for missing holiday_id, idempotency, or return value. Only the fact that it mutates is implied.

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?

Description is a concise single sentence with no waste. Could be slightly improved by adding 'Only provided fields are updated' without significant length increase, but current version is efficient.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 15 parameters, no output schema, and no annotations, the description leaves gaps about return values, partial update behavior, and error conditions. More detail is warranted for a mutation tool of this complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description adds no additional meaning beyond the schema; it does not clarify that all parameters except holiday_id are optional or provide constraints like date ordering.

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 verb 'Update' and resource 'team holiday', distinguishing it from create, delete, and list siblings. However, it lacks nuance about partial updates or that only provided fields are modified.

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 siblings like create-team-holiday or update-public-holiday. No prerequisites or exclusions mentioned; usage is only implicitly clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-timeoffB

Update an existing time off request (including approval/rejection)

ParametersJSON Schema
NameRequiredDescriptionDefault
timeoff_idYesThe time off ID
people_idsNoArray of person IDs (people_ids) - Float API expects plural field
timeoff_type_idNoThe time off type ID
start_dateNoStart date (YYYY-MM-DD)
end_dateNoEnd date (YYYY-MM-DD)
hoursNoHours of time off (omit for full day)
full_dayNo1 for full day, 0 for partial day
notesNoOptional notes
statusNoStatus (1 for pending, 2 for approved, 3 for rejected - Float API uses numeric status codes)
approved_byNoUser ID who approved
approved_atNoApproval timestamp
rejected_byNoUser ID who rejected
rejected_atNoRejection timestamp
repeat_stateNoRepeat configuration
repeat_endNoEnd date for repeating time off (YYYY-MM-DD)

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so description must cover behavioral traits. It only says 'update', lacking details on mutability, partial updates, notifications, permissions, or side effects beyond the simple verb.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no wasted words. Could be slightly more informative, but it is efficiently front-loaded and does not ramble.

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 15 parameters, no output schema, and no annotations, the description is too sparse. It does not explain return values, partial update behavior, or error conditions, leaving significant gaps for a complex tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, providing detailed descriptions for all 15 parameters. The tool description adds minimal value (e.g., hints about status), but the schema already conveys meaning, so baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states the verb 'update' and the resource 'time off request', and specifies 'including approval/rejection', distinguishing it from siblings like approve-timeoff and reject-timeoff.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage for updating any field including status, but does not explicitly state when to use this tool versus approve-timeoff or reject-timeoff, nor provide any exclusions or alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update-time-off-typeC

Update an existing time off type

ParametersJSON Schema
NameRequiredDescriptionDefault
timeoff_type_idYesThe time off type ID (timeoff_type_id)
nameNoTime off type name
activeNoActive status (1=active, 0=archived)
is_defaultNoDefault status (1=default, 0=not default)
colorNoHex color code for UI display

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It only says 'Update', without disclosing mutation behavior, side effects, authorization needs, or error states. For a tool with no annotations, this is insufficient 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 one sentence, which is concise and front-loaded, but arguably too minimal. It earns its place but no extra value is provided.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 5 optional parameters, no output schema, and no annotations, the description does not cover what happens when updating multiple fields, performance, or error handling. Incomplete for a CRUD operation with multiple mutable fields.

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 descriptions cover 100% of parameters, so the description adds no extra meaning beyond the schema. Baseline 3 is appropriate as schema already documents each field clearly.

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 ('Update') and the resource ('existing time off type'), distinguishing it from sibling tools like create, delete, get, and list. However, it lacks explicit differentiation via sibling naming.

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., create vs update, or what to do if the type doesn't exist). The implied usage is to modify an existing type, but no explicit context or exclusion rules.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 49 tool updatesv0.2.1
    • Removedbulk-update-account-permissions
    • Removedcheck-role-access
    • Removedcreate-account
    • Removedcreate-department
    • Removedcreate-person
    • Removedcreate-project
    • Removedcreate-role
    • Removedcreate-status
    • Removeddeactivate-account
    • Removeddelete-department
    • Removeddelete-person
    • Removeddelete-project
    • Removeddelete-role
    • Removeddelete-status
    • Removedgenerate-report
    • Removedget-account
    • Removedget-current-account
    • Removedget-default-status
    • Removedget-department
    • Removedget-person
    • Removedget-project
    • Removedget-role
    • Removedget-role-hierarchy
    • Removedget-role-permissions
    • Removedget-roles-by-permission
    • Removedget-status
    • Removedget-statuses-by-type
    • Removedlist-accounts
    • Removedlist-departments
    • Removedlist-people
    • Removedlist-projects
    • Removedlist-roles
    • Removedlist-statuses
    • Removedlist-tasks
    • Removedmanage-account-permissions
    • Removedmanage-entity
    • Removedmanage-project-workflow
    • Removedmanage-time-tracking
    • Removedreactivate-account
    • Removedset-account-department-filter
    • Removedset-default-status
    • Removedupdate-account
    • Removedupdate-account-timezone
    • Removedupdate-department
    • Removedupdate-person
    • Removedupdate-project
    • Removedupdate-role
    • Removedupdate-role-permissions
    • Removedupdate-status
  2. 50 tool updatesv0.1.1
    • Addedbulk-update-account-permissions
    • Addedcheck-role-access
    • Addedcreate-account
    • Addedcreate-department
    • Addedcreate-person
    • Addedcreate-project
    • Addedcreate-role
    • Addedcreate-status
    • Addeddeactivate-account
    • Addeddelete-department
    • Addeddelete-person
    • Addeddelete-project
    • Addeddelete-role
    • Addeddelete-status
    • Addedgenerate-report
    • Addedget-account
    • Addedget-current-account
    • Addedget-default-status
    • Addedget-department
    • Addedget-person
    • Addedget-project
    • Addedget-role
    • Addedget-role-hierarchy
    • Addedget-role-permissions
    • Addedget-roles-by-permission
    • Addedget-status
    • Addedget-statuses-by-type
    • Addedget-task
    • Addedlist-accounts
    • Addedlist-departments
    • Addedlist-people
    • Addedlist-projects
    • Addedlist-roles
    • Addedlist-statuses
    • Addedlist-tasks
    • Addedmanage-account-permissions
    • Addedmanage-entity
    • Addedmanage-project-workflow
    • Addedmanage-time-tracking
    • Addedreactivate-account
    • Addedset-account-department-filter
    • Addedset-default-status
    • Addedupdate-account
    • Addedupdate-account-timezone
    • Addedupdate-department
    • Addedupdate-person
    • Addedupdate-project
    • Addedupdate-role
    • Addedupdate-role-permissions
    • Addedupdate-status
  3. 86 tool updatesv1.0.2
    • Addedapprove-timeoff
    • Addedarchive-project-task
    • Addedbulk-create-logged-time
    • Addedbulk-create-project-tasks
    • Addedbulk-create-timeoff
    • Addedcomplete-milestone
    • Addedcreate-allocation
    • Addedcreate-client
    • Addedcreate-logged-time
    • Addedcreate-milestone
    • Addedcreate-phase
    • Addedcreate-project-task
    • Addedcreate-public-holiday
    • Addedcreate-task
    • Addedcreate-team-holiday
    • Addedcreate-time-off-type
    • Addedcreate-timeoff
    • Addeddelete-allocation
    • Addeddelete-client
    • Addeddelete-logged-time
    • Addeddelete-milestone
    • Addeddelete-phase
    • Addeddelete-project-task
    • Addeddelete-public-holiday
    • Addeddelete-task
    • Addeddelete-team-holiday
    • Addeddelete-time-off-type
    • Addeddelete-timeoff
    • Addedget-active-phases
    • Addedget-allocation
    • Addedget-billable-time-report
    • Addedget-client
    • Addedget-logged-time
    • Addedget-logged-time-timesheet
    • Addedget-milestone
    • Addedget-milestone-reminders
    • Addedget-overdue-milestones
    • Addedget-people-utilization-report
    • Addedget-person-logged-time-summary
    • Addedget-person-timeoff-summary
    • Addedget-phase
    • Addedget-phase-schedule
    • Addedget-phases-by-date-range
    • Addedget-project-logged-time-summary
    • Addedget-project-milestones
    • Addedget-project-report
    • Addedget-project-task
    • Addedget-project-task-dependencies
    • Addedget-project-tasks-by-phase
    • Addedget-project-tasks-by-project
    • Addedget-public-holiday
    • Addedget-team-holiday
    • Addedget-time-off-type
    • Addedget-time-report
    • Addedget-timeoff
    • Addedget-timeoff-calendar
    • Addedget-upcoming-milestones
    • Addedget-upcoming-team-holidays
    • Addedlist-allocations
    • Addedlist-clients
    • Addedlist-logged-time
    • Addedlist-milestones
    • Addedlist-phases
    • Addedlist-phases-by-project
    • Addedlist-project-tasks
    • Addedlist-public-holidays
    • Addedlist-recurring-team-holidays
    • Addedlist-team-holidays
    • Addedlist-team-holidays-by-date-range
    • Addedlist-team-holidays-by-department
    • Addedlist-time-off-types
    • Addedlist-timeoff
    • Addedlist-timeoff-types
    • Addedreject-timeoff
    • Addedreorder-project-tasks
    • Addedupdate-allocation
    • Addedupdate-client
    • Addedupdate-logged-time
    • Addedupdate-milestone
    • Addedupdate-phase
    • Addedupdate-project-task
    • Addedupdate-public-holiday
    • Addedupdate-task
    • Addedupdate-team-holiday
    • Addedupdate-time-off-type
    • Addedupdate-timeoff
  4. 136 tool updates
    • Removedapprove-timeoff
    • Removedarchive-project-task
    • Removedbulk-create-logged-time
    • Removedbulk-create-project-tasks
    • Removedbulk-create-timeoff
    • Removedbulk-update-account-permissions
    • Removedcheck-role-access
    • Removedcomplete-milestone
    • Removedcreate-account
    • Removedcreate-allocation
    • Removedcreate-client
    • Removedcreate-department
    • Removedcreate-logged-time
    • Removedcreate-milestone
    • Removedcreate-person
    • Removedcreate-phase
    • Removedcreate-project
    • Removedcreate-project-task
    • Removedcreate-public-holiday
    • Removedcreate-role
    • Removedcreate-status
    • Removedcreate-task
    • Removedcreate-team-holiday
    • Removedcreate-time-off-type
    • Removedcreate-timeoff
    • Removeddeactivate-account
    • Removeddelete-allocation
    • Removeddelete-client
    • Removeddelete-department
    • Removeddelete-logged-time
    • Removeddelete-milestone
    • Removeddelete-person
    • Removeddelete-phase
    • Removeddelete-project
    • Removeddelete-project-task
    • Removeddelete-public-holiday
    • Removeddelete-role
    • Removeddelete-status
    • Removeddelete-task
    • Removeddelete-team-holiday
    • Removeddelete-time-off-type
    • Removeddelete-timeoff
    • Removedgenerate-report
    • Removedget-account
    • Removedget-active-phases
    • Removedget-allocation
    • Removedget-billable-time-report
    • Removedget-client
    • Removedget-current-account
    • Removedget-default-status
    • Removedget-department
    • Removedget-logged-time
    • Removedget-logged-time-timesheet
    • Removedget-milestone
    • Removedget-milestone-reminders
    • Removedget-overdue-milestones
    • Removedget-people-utilization-report
    • Removedget-person
    • Removedget-person-logged-time-summary
    • Removedget-person-timeoff-summary
    • Removedget-phase
    • Removedget-phase-schedule
    • Removedget-phases-by-date-range
    • Removedget-project
    • Removedget-project-logged-time-summary
    • Removedget-project-milestones
    • Removedget-project-report
    • Removedget-project-task
    • Removedget-project-task-dependencies
    • Removedget-project-tasks-by-phase
    • Removedget-project-tasks-by-project
    • Removedget-public-holiday
    • Removedget-role
    • Removedget-role-hierarchy
    • Removedget-role-permissions
    • Removedget-roles-by-permission
    • Removedget-status
    • Removedget-statuses-by-type
    • Removedget-task
    • Removedget-team-holiday
    • Removedget-time-off-type
    • Removedget-time-report
    • Removedget-timeoff
    • Removedget-timeoff-calendar
    • Removedget-upcoming-milestones
    • Removedget-upcoming-team-holidays
    • Removedlist-accounts
    • Removedlist-allocations
    • Removedlist-clients
    • Removedlist-departments
    • Removedlist-logged-time
    • Removedlist-milestones
    • Removedlist-people
    • Removedlist-phases
    • Removedlist-phases-by-project
    • Removedlist-project-tasks
    • Removedlist-projects
    • Removedlist-public-holidays
    • Removedlist-recurring-team-holidays
    • Removedlist-roles
    • Removedlist-statuses
    • Removedlist-tasks
    • Removedlist-team-holidays
    • Removedlist-team-holidays-by-date-range
    • Removedlist-team-holidays-by-department
    • Removedlist-time-off-types
    • Removedlist-timeoff
    • Removedlist-timeoff-types
    • Removedmanage-account-permissions
    • Removedmanage-entity
    • Removedmanage-project-workflow
    • Removedmanage-time-tracking
    • Removedreactivate-account
    • Removedreject-timeoff
    • Removedreorder-project-tasks
    • Removedset-account-department-filter
    • Removedset-default-status
    • Removedupdate-account
    • Removedupdate-account-timezone
    • Removedupdate-allocation
    • Removedupdate-client
    • Removedupdate-department
    • Removedupdate-logged-time
    • Removedupdate-milestone
    • Removedupdate-person
    • Removedupdate-phase
    • Removedupdate-project
    • Removedupdate-project-task
    • Removedupdate-public-holiday
    • Removedupdate-role
    • Removedupdate-role-permissions
    • Removedupdate-status
    • Removedupdate-task
    • Removedupdate-team-holiday
    • Removedupdate-time-off-type
    • Removedupdate-timeoff
  5. 136 tool updatesv1.0.0
    • Addedapprove-timeoff
    • Addedarchive-project-task
    • Addedbulk-create-logged-time
    • Addedbulk-create-project-tasks
    • Addedbulk-create-timeoff
    • Addedbulk-update-account-permissions
    • Addedcheck-role-access
    • Addedcomplete-milestone
    • Addedcreate-account
    • Addedcreate-allocation
    • Addedcreate-client
    • Addedcreate-department
    • Addedcreate-logged-time
    • Addedcreate-milestone
    • Addedcreate-person
    • Addedcreate-phase
    • Addedcreate-project
    • Addedcreate-project-task
    • Addedcreate-public-holiday
    • Addedcreate-role
    • Addedcreate-status
    • Addedcreate-task
    • Addedcreate-team-holiday
    • Addedcreate-time-off-type
    • Addedcreate-timeoff
    • Addeddeactivate-account
    • Addeddelete-allocation
    • Addeddelete-client
    • Addeddelete-department
    • Addeddelete-logged-time
    • Addeddelete-milestone
    • Addeddelete-person
    • Addeddelete-phase
    • Addeddelete-project
    • Addeddelete-project-task
    • Addeddelete-public-holiday
    • Addeddelete-role
    • Addeddelete-status
    • Addeddelete-task
    • Addeddelete-team-holiday
    • Addeddelete-time-off-type
    • Addeddelete-timeoff
    • Addedgenerate-report
    • Addedget-account
    • Addedget-active-phases
    • Addedget-allocation
    • Addedget-billable-time-report
    • Addedget-client
    • Addedget-current-account
    • Addedget-default-status
    • Addedget-department
    • Addedget-logged-time
    • Addedget-logged-time-timesheet
    • Addedget-milestone
    • Addedget-milestone-reminders
    • Addedget-overdue-milestones
    • Addedget-people-utilization-report
    • Addedget-person
    • Addedget-person-logged-time-summary
    • Addedget-person-timeoff-summary
    • Addedget-phase
    • Addedget-phase-schedule
    • Addedget-phases-by-date-range
    • Addedget-project
    • Addedget-project-logged-time-summary
    • Addedget-project-milestones
    • Addedget-project-report
    • Addedget-project-task
    • Addedget-project-task-dependencies
    • Addedget-project-tasks-by-phase
    • Addedget-project-tasks-by-project
    • Addedget-public-holiday
    • Addedget-role
    • Addedget-role-hierarchy
    • Addedget-role-permissions
    • Addedget-roles-by-permission
    • Addedget-status
    • Addedget-statuses-by-type
    • Addedget-task
    • Addedget-team-holiday
    • Addedget-time-off-type
    • Addedget-time-report
    • Addedget-timeoff
    • Addedget-timeoff-calendar
    • Addedget-upcoming-milestones
    • Addedget-upcoming-team-holidays
    • Addedlist-accounts
    • Addedlist-allocations
    • Addedlist-clients
    • Addedlist-departments
    • Addedlist-logged-time
    • Addedlist-milestones
    • Addedlist-people
    • Addedlist-phases
    • Addedlist-phases-by-project
    • Addedlist-project-tasks
    • Addedlist-projects
    • Addedlist-public-holidays
    • Addedlist-recurring-team-holidays
    • Addedlist-roles
    • Addedlist-statuses
    • Addedlist-tasks
    • Addedlist-team-holidays
    • Addedlist-team-holidays-by-date-range
    • Addedlist-team-holidays-by-department
    • Addedlist-time-off-types
    • Addedlist-timeoff
    • Addedlist-timeoff-types
    • Addedmanage-account-permissions
    • Addedmanage-entity
    • Addedmanage-project-workflow
    • Addedmanage-time-tracking
    • Addedreactivate-account
    • Addedreject-timeoff
    • Addedreorder-project-tasks
    • Addedset-account-department-filter
    • Addedset-default-status
    • Addedupdate-account
    • Addedupdate-account-timezone
    • Addedupdate-allocation
    • Addedupdate-client
    • Addedupdate-department
    • Addedupdate-logged-time
    • Addedupdate-milestone
    • Addedupdate-person
    • Addedupdate-phase
    • Addedupdate-project
    • Addedupdate-project-task
    • Addedupdate-public-holiday
    • Addedupdate-role
    • Addedupdate-role-permissions
    • Addedupdate-status
    • Addedupdate-task
    • Addedupdate-team-holiday
    • Addedupdate-time-off-type
    • Addedupdate-timeoff

TDQS

C2.8/5.0
Disambiguation2/5

Many tools overlap in purpose, such as create-allocation and create-task both referring to tasks/allocations. Additionally, there are duplicate tools like list-time-off-types and list-timeoff-types, causing confusion. The sheer number of tools increases the chance of mis-selection.

Naming Consistency4/5

Most tools follow a consistent verb_noun pattern (e.g., create_client, get_milestone, list_phases). However, minor inconsistencies exist such as mixed hyphenation (list-time-off-types vs list-timeoff-types) and a few unconventional names like bulk-create-logged-time.

Tool Count3/5

With 87 tools, the server feels bloated for a typical resource management API. While comprehensive CRUD operations for each entity justify many tools, the count is on the high end and could be streamlined by merging overlapping or redundant tools.

Completeness4/5

The tool set covers a wide range of operations including CRUD for clients, projects, tasks, timeoff, milestones, phases, and more. It also includes reports, approvals, and reordering. Minor gaps exist (e.g., no person management tools), but overall the surface is quite complete.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/asachs01/float-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server