Skip to main content
Glama
subbuyalla

WeTrack Enterprise MCP Server

by subbuyalla

WeTrack Enterprise MCP Server πŸš€

A Python MCP (Model Context Protocol) Server that exposes the entire WeTrack/VTrack REST API as AI-callable tools β€” enabling Claude, Cursor, Gemini, and any MCP-compatible AI assistant to manage projects, tickets, sprints, and more in natural language.


βœ… What's Included

Module

Tools

Coverage

πŸ” Auth

7

Sign-in, sign-out, password, impersonation

πŸ”‘ OAuth

3

Microsoft sign-in URL, token setter, callback info

🎫 Tickets

13

EPIC/STORY/TASK/BUG + support tickets, comments, history

πŸ“ Projects

17

CRUD + overview, reports, team, files, folders

πŸƒ Sprints

5

Full sprint lifecycle management

πŸ‘€ Users

7

Create (single/bulk), update, invite management

🏒 Clients

7

Client orgs, organisations, member assignment

πŸ“Š Dashboard

1

Aggregated KPIs and analytics

πŸ“ˆ Reports

11

Unified reports, My Work, My Sprint, widget CRUD

πŸ”” Notifications

4

Feed, unread count, mark read

πŸ” Search

1

Global search across all entities

πŸ—‚οΈ Master Data

17

Statuses, priorities, categories, types, products, timezones

🧩 Metadata

6

Custom field definitions

πŸ“€ Uploads

2

S3 presigned URLs, upload instructions

⚑ Webhooks & Cron

3

SLA check trigger, sprint burndown snapshot, email webhook info

Total

110

Complete WeTrack Enterprise API coverage


Related MCP server: Yandex Tracker MCP Server

πŸ› οΈ Requirements

  • Python 3.11+

  • uv (recommended) or pip


πŸš€ Quick Start

1. Install uv (if not already installed)

# Windows (PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh

2. Set up credentials

# Copy the template
copy .env.example .env    # Windows
cp .env.example .env       # macOS/Linux

# Edit .env and fill in your WeTrack credentials:
# WETRACK_BASE_URL=https://wetrack-two.vercel.app
# WETRACK_EMAIL=your@email.com
# WETRACK_PASSWORD=YourPassword123

3. Install dependencies

uv sync

4. Run the MCP server

# stdio mode (for Claude Desktop / Cursor)
uv run python -m wetrack_mcp.server

# SSE mode (for HTTP/web clients)
MCP_TRANSPORT=sse uv run python -m wetrack_mcp.server

🐳 Docker & EC2 Deployment

# Clone the repository
git clone https://github.com/subbuyalla/wetrack-mcp.git
cd wetrack-mcp

# Create .env from template and configure credentials
cp .env.example .env
nano .env

# Build and start in background
docker compose up -d --build

2. Check Container Logs & Health

# Check running status
docker compose ps

# View live logs
docker compose logs -f

The MCP SSE server listens on port 8000:

  • SSE URL: http://<YOUR_EC2_PUBLIC_IP>:8000/sse

  • Message endpoint: http://<YOUR_EC2_PUBLIC_IP>:8000/messages/

Note for EC2 Security Groups: Ensure your AWS EC2 Security Group allows inbound TCP traffic on port 8000 (or place behind Nginx/ALB on port 443 with SSL).


πŸ”Œ Connecting to Any AI Platform

The WeTrack MCP server is universal and connects to all major AI assistants and IDEs:

1. Claude Desktop

Option A: Connect to Cloud EC2 Deployment (Zero local setup for teammates)

Open %APPDATA%\Claude\claude_desktop_config.json (or click Settings β†’ Developer β†’ Edit config):

{
  "mcpServers": {
    "wetrack": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "http://<YOUR_EC2_PUBLIC_IP>:8000/sse",
        "--allow-http"
      ]
    }
  }
}

Option B: Run Locally on your computer (stdio)

{
  "mcpServers": {
    "wetrack": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/path/to/wetrack-mcp",
        "python",
        "-m",
        "wetrack_mcp.server"
      ],
      "env": {
        "WETRACK_BASE_URL": "https://wetrack-two.vercel.app",
        "WETRACK_EMAIL": "your@email.com",
        "WETRACK_PASSWORD": "yourpassword"
      }
    }
  }
}

Restart Claude Desktop after saving.


2. Cursor IDE

Cursor supports native remote SSE connections with zero Node.js or local installation required:

  1. Open Cursor Settings (Ctrl + Shift + J or Cmd + Shift + J) β†’ MCP.

  2. Click + Add New MCP Server.

  3. Fill in:

    • Name: wetrack

    • Type: sse

    • URL: http://<YOUR_EC2_PUBLIC_IP>:8000/sse

  4. Click Add. All 110 tools will instantly show green in Composer!


3. VS Code (Cline / Roo Code / Continue)

In your extension's MCP configuration settings (cline_mcp_settings.json or config.json):

{
  "mcpServers": {
    "wetrack": {
      "url": "http://<YOUR_EC2_PUBLIC_IP>:8000/sse",
      "transport": "sse"
    }
  }
}

4. Windsurf (Codeium)

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "wetrack": {
      "serverUrl": "http://<YOUR_EC2_PUBLIC_IP>:8000/sse"
    }
  }
}

5. ChatGPT

  1. In ChatGPT, click Explore GPTs β†’ + Create.

  2. Go to the Configure tab β†’ scroll down and click Create new action.

  3. Import or paste the schema from chatgpt-actions-schema.yaml.

  4. Configure Authentication (Bearer token or session cookie).

  5. Save the GPT β€” you can now manage WeTrack tickets and projects directly in ChatGPT web or mobile!

Method B: ChatGPT Developer Mode (MCP)

  1. Open ChatGPT Settings β†’ Developer Mode / Connectors.

  2. Select Add MCP Server and enter your EC2 HTTPS URL.


6. Python & LangChain AI Agents

Integrate WeTrack tools directly into custom LangChain / LangGraph workflows:

from langchain_mcp_adapters.client import MultiServerMCPClient
from langgraph.prebuilt import create_react_agent

async with MultiServerMCPClient(
    {"wetrack": {"url": "http://<YOUR_EC2_PUBLIC_IP>:8000/sse", "transport": "sse"}}
) as client:
    tools = client.get_tools()
    agent = create_react_agent(model, tools)
    response = await agent.ainvoke({"messages": "List open tickets in WeTrack"})

πŸ” Authentication

Authentication is fully automatic:

  1. The server reads WETRACK_EMAIL and WETRACK_PASSWORD from .env

  2. On the first tool call, it auto-logs in and stores the JWT token

  3. On 401 Unauthorized, it automatically re-logs in and retries

  4. You can also call wetrack_sign_in manually from the AI chat

Example prompts after setup:

"Show me all open tickets in the WeTrack Platform project"
"Create a TASK titled 'Fix login page bug' in the WTP project with High priority"
"What sprints are currently in progress?"
"List all users in the organisation"

πŸ“ Project Structure

wetrack-mcp/
β”œβ”€β”€ src/wetrack_mcp/
β”‚   β”œβ”€β”€ server.py           ← Entry point
β”‚   β”œβ”€β”€ auth.py             ← JWT token management
β”‚   β”œβ”€β”€ client.py           ← HTTP client with auto-auth
β”‚   β”œβ”€β”€ config.py           ← Environment config
β”‚   └── tools/
β”‚       β”œβ”€β”€ auth_tools.py
β”‚       β”œβ”€β”€ ticket_tools.py
β”‚       β”œβ”€β”€ project_tools.py
β”‚       β”œβ”€β”€ sprint_tools.py
β”‚       β”œβ”€β”€ user_tools.py
β”‚       β”œβ”€β”€ client_tools.py
β”‚       β”œβ”€β”€ dashboard_tools.py
β”‚       β”œβ”€β”€ report_tools.py
β”‚       β”œβ”€β”€ notification_tools.py
β”‚       β”œβ”€β”€ search_tools.py
β”‚       β”œβ”€β”€ master_tools.py
β”‚       └── metadata_tools.py
β”œβ”€β”€ .env.example
β”œβ”€β”€ .env              ← Your credentials (gitignored)
└── pyproject.toml

🌐 Environment Variables

Variable

Required

Description

WETRACK_BASE_URL

Yes

API base URL (staging or production)

WETRACK_EMAIL

Yes*

Login email

WETRACK_PASSWORD

Yes*

Login password

WETRACK_TOKEN

No

Pre-set JWT token (skips auto-login)

MCP_TRANSPORT

No

stdio (default) or sse

MCP_HOST

No

SSE host (default: 0.0.0.0)

MCP_PORT

No

SSE port (default: 8000)

*Required unless WETRACK_TOKEN is set.


🏭 Production Switch

When ready to go to production, just update .env:

WETRACK_BASE_URL=https://your-production-url.com

No code changes needed.


πŸ”„ Switching to TypeScript

Once testing is complete, the TypeScript port will use:

  • @modelcontextprotocol/sdk

  • axios for HTTP

  • zod for validation

The tool names and behaviors will be identical.

Available Tools

110 tools
wetrack_add_client_membersC

Assign or update the members associated with a client organisation.

Args: client_id: The client ID. member_ids: List of integer user IDs to associate with this client e.g. [1, 2, 5].

ParametersJSON Schema
NameRequiredDescriptionDefault
client_idYes
member_idsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of behavioral transparency. It states that the operation assigns or updates members, but it does not disclose whether existing members are overwritten, whether members are added incrementally, or what side effects occur for removed associations. For a mutation tool, this ambiguity is a meaningful 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 compact and front-loaded with the primary purpose, followed by a scannable Args block. There is minimal redundancy, though 'client_id: The client ID' is somewhat tautological. Overall, it earns its space without excessive prose.

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 two-parameter mutation with an output schema, the description is nearly sufficient, but the ambiguous assign/update behavior leaves an important gap. An agent cannot determine whether the tool replaces the entire member set or appends to it, and there is no note about prerequisites or side effects. The output schema reduces the need to describe return values, but behavioral context is still missing.

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

Parameters3/5

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

Schema description coverage is 0%, so the Args section is the only source of parameter meaning. It adds basic semantics and an example for member_ids ([1, 2, 5]), but client_id is only described as 'The client ID', which adds little beyond the schema. It does not clarify whether member_ids must reference existing users or whether passing an empty list has any effect.

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 (assign/update) and the resource (client members), which makes the tool's scope evident and helps distinguish it from wetrack_update_client and other client-level tools. The 'members' qualifier is specific enough that an agent can tell what resource is being affected. It is slightly vague about whether 'update' means replacing or appending, but the core 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 is given for when to use this tool versus alternative client-management tools such as wetrack_update_client or wetrack_create_client. The description does not mention whether this tool is appropriate for replacing the full member list, appending members, or removing members via an empty list. An agent must infer usage from the tool name and description alone.

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

wetrack_add_project_fileA

Register an already-uploaded S3 file in project files. Upload to S3 first using wetrack_get_upload_presign_url, then call this.

Args: project_id: The project UUID. file_name: The file name e.g. 'requirements.pdf'. file_size: File size in bytes. s3_url: The S3 URL returned from the upload. file_type: MIME type e.g. 'application/pdf'. folder_id: UUID of the folder to place the file in.

ParametersJSON Schema
NameRequiredDescriptionDefault
s3_urlYes
file_nameYes
file_sizeYes
file_typeNo
folder_idNo
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.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 of behavioral disclosure. It only says the file is 'registered' and gives the prerequisite, but it does not describe side effects, return behavior, error conditions, idempotency, or what happens on duplicate file names or invalid folder IDs.

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 compact and well-structured: one sentence for the core purpose, one sentence for the prerequisite workflow, then a flat parameter list. Every sentence earns its place with no filler or repetition.

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

Completeness4/5

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

Given the tool's moderate complexity, zero annotation coverage, and 0% schema description coverage, the description provides the essential workflow and all parameter meanings needed to call it. An output schema exists, so return values need not be described; minor missing details are error handling and validation behavior.

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

Parameters4/5

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

Schema description coverage is 0%, and the description compensates by explaining all six parameters: project_id is a UUID, file_size is in bytes, s3_url is the upload-returned URL, file_type is a MIME type, and folder_id is a UUID. It does not explicitly flag which parameters are optional, but the schema defaults cover that.

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 opens with a specific action and resource: 'Register an already-uploaded S3 file in project files.' This clearly distinguishes it from related upload and file-management tools and leaves no ambiguity about what the tool accomplishes.

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

Usage Guidelines5/5

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

The description explicitly states the required workflow: 'Upload to S3 first using wetrack_get_upload_presign_url, then call this.' This tells the agent exactly when to use the tool and names the prerequisite sibling tool, leaving nothing to inference.

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

wetrack_add_ticket_attachmentA

Add a file attachment to a ticket (the file must already be uploaded to S3). Use wetrack_get_upload_presign_url to upload to S3 first, then call this.

Args: ticket_id: The ticket UUID. url: S3 URL of the uploaded file. file_name: Original file name e.g. 'screenshot.png'. file_size: File size in bytes. file_type: MIME type e.g. 'image/png'.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes
file_nameYes
file_sizeYes
file_typeNo
ticket_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/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 discloses the S3 precondition and the required fields, but does not state what happens on success/failure, whether the attachment is immediately visible, or any side effects. The precondition is useful behavioral context, but the description is otherwise thin on 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.

Conciseness4/5

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

The description is compact and front-loaded with the core action and precondition, followed by a concise parameter list. The parameter list is slightly redundant with the schema but earns its place by adding semantic detail. No wasted sentences.

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 5-parameter tool with no annotations and 0% schema coverage, the description covers the key workflow (upload first, then attach) and all parameter meanings. It doesn't describe the output schema, but an output schema exists, so the description needn't explain return values. Minor gap: no error/edge-case guidance, but the core call is well specified.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It does: it explains ticket_id is a UUID, url is the S3 URL of the uploaded file, file_name is the original name, file_size is in bytes, and file_type is a MIME type. This adds meaning beyond the bare schema titles, though it doesn't clarify why file_type is optional/nullable.

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 states a specific verb ('Add'), a specific resource ('file attachment to a ticket'), and a critical precondition ('the file must already be uploaded to S3'). It is clearly distinguishable from sibling tools like wetrack_add_ticket_comment and wetrack_delete_ticket_attachment.

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

Usage Guidelines5/5

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

The description explicitly tells the agent to use wetrack_get_upload_presign_url to upload to S3 first, then call this tool. This is a clear when-to-use instruction and names the prerequisite alternative. It also implies this is the correct tool after upload, distinguishing it from the delete/comment siblings.

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

wetrack_add_ticket_commentB

Add a comment to a ticket.

Args: ticket_id: The ticket UUID. comment: Comment text e.g. 'Investigating the issue now.'

ParametersJSON Schema
NameRequiredDescriptionDefault
commentYes
ticket_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of disclosing behavioral traits. It only says 'Add a comment,' which implies mutation, but it does not mention side effects, required permissions, idempotency, or whether the comment is appended to the ticket's history.

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 minimal and front-loaded with the core action, followed by a compact Args list. Every sentence contributes useful information, with no filler or repetition.

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

Completeness3/5

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

For a simple two-parameter tool with an output schema, the description covers the essential invocation details. However, it is missing context about when this tool should be selected over related ticket tools and what behavioral effects (e.g., notification, visibility, editability) the comment creation triggers.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It does add meaningful detail: ticket_id is identified as 'The ticket UUID' and comment is exemplified with realistic text, helping the agent understand expected value formats beyond the bare schema property names.

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

Purpose4/5

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

The description states a specific action and resource: 'Add a comment to a ticket.' This is clear and distinct from sibling tools like wetrack_get_ticket_comments and wetrack_add_ticket_attachment, though it does not explicitly contrast itself with those 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?

There is no guidance on when to use this tool versus alternatives such as updating a ticket or adding an attachment. The intended use is implied by the tool name and first line, but no prerequisites, exclusions, or alternative routing are given.

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

wetrack_bulk_create_usersA

Bulk create multiple user accounts at once.

Args: users: List of user objects. Each must have: {first_name, last_name, email, role} β€” and optionally user_name. skip_invite_email: Set True for SSO-only users who won't use password login.

Example users list: [ {"first_name": "Alice", "last_name": "Wong", "email": "alice@co.com", "role": "VITHI_USER"}, {"first_name": "Bob", "last_name": "Jones", "email": "bob@co.com", "role": "EMPLOYEE"} ]

ParametersJSON Schema
NameRequiredDescriptionDefault
usersYes
skip_invite_emailNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/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 does add behavioral context by explaining that skip_invite_email is intended for SSO-only users and by listing required fields. However, it does not disclose important mutation behaviors: whether invite emails are sent by default, how duplicate emails are handled, whether creation is atomic or partially succeeds, or any permission requirements. For a bulk create operation, these gaps are noticeable but not disqualifying.

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 compact and well-organized: a one-line purpose statement, a clear Args section, and a concrete example. Every sentence contributes useful information and there is no redundant or filler 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?

The description covers the critical input structure and example, and an output schema exists so return values are presumably documented. However, for a bulk creation tool it omits important operational details that an agent might need: allowed role values are only exemplified, not enumerated, and there is no mention of duplicate handling, validation behavior, or partial failure semantics. These are meaningful gaps for a mutating bulk operation.

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

Parameters5/5

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

The input schema provides only minimal structure (an array of objects with additionalProperties, and a boolean default). The description fully compensates by specifying exact required fields, the optional user_name, the meaning of skip_invite_email, and a complete example of the users list. This gives an agent everything needed to construct valid arguments.

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 opens with a specific verb+resource: 'Bulk create multiple user accounts at once.' This clearly distinguishes it from the sibling wetrack_create_user, which handles single-user creation. The required fields and example make the tool's purpose immediately understandable.

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 phrase 'Bulk create ... at once' implies this is for creating multiple users in one call, contrasting with the single-user sibling wetrack_create_user. The skip_invite_email guidance adds a concrete usage condition: set True for SSO-only users who won't use password login. It stops short of explicitly naming alternatives or when-not-to-use scenarios, but the context is clear.

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

wetrack_change_passwordA

Change the logged-in user's password.

Args: current_password: The user's current password. new_password: The new password to set. confirm_password: Must match new_password exactly.

ParametersJSON Schema
NameRequiredDescriptionDefault
new_passwordYes
confirm_passwordYes
current_passwordYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/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 the action and lists parameters, but does not disclose side effects (e.g., invalidating sessions), authentication requirements, failure modes, or what happens on success. The only behavioral hint is that confirm_password must match new_password, which is a validation constraint but not a behavioral trait. 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.

Conciseness5/5

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

The description is extremely concise, with a single sentence stating the tool's purpose followed by a clean list of arguments. It front-loads the main action and avoids any filler. Every line earns its place, and the structure makes it easy to scan.

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 password-change tool, the description covers the core action and all required parameters. The presence of an output schema (though not shown) reduces the need to describe return values. It does not mention side effects or error handling, but given the tool's simplicity and the output schema, it is reasonably complete. It could be improved by noting that the user must be authenticated (though 'logged-in user' implies it) and by specifying any session invalidation behavior.

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

Parameters4/5

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

The schema has zero description coverage for parameters, so the description must compensate. It provides a one-line description for each parameter: 'current_password: The user's current password', 'new_password: The new password to set', and 'confirm_password: Must match new_password exactly'. This adds meaning beyond the bare parameter names and even specifies a validation rule for confirm_password. While not exhaustive (e.g., no complexity requirements), it adequately conveys the purpose of 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 uses a clear verb ('Change') and specifies the resource ('logged-in user's password'). It distinguishes itself from related siblings like wetrack_set_password (likely for admin-set passwords) and wetrack_forgot_password (for reset via email) by explicitly targeting the authenticated user's own password. The statement is unambiguous and allows an agent to select this tool over its siblings.

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

Usage Guidelines2/5

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

The description does not provide any explicit guidance on when to use this tool versus alternatives like wetrack_set_password or wetrack_forgot_password. It states the action ('change the logged-in user's password') but does not mention conditions, exclusions, or alternative tools. The context is implicit rather than stated, so an agent must infer when this is appropriate.

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

wetrack_create_clientA

Create a new client organisation.

Args: name: Organisation name e.g. 'Acme Corp'. email: Primary contact email e.g. 'contact@acme.com'. contact_name: Primary contact person name e.g. 'John Doe'. address: Physical address e.g. '123 Tech Park'. phone: Organisation phone number. contact_email: Contact person's email (if different from org email). contact_phone: Contact person's phone. code: Short org code e.g. 'AC'. country: Country name. timezone_id: Timezone integer ID (get from wetrack_list_timezones).

ParametersJSON Schema
NameRequiredDescriptionDefault
codeNo
nameYes
emailYes
phoneNo
addressYes
countryNo
timezone_idNo
contact_nameYes
contact_emailNo
contact_phoneNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are present, so the description carries the full burden of behavioral disclosure. It only lists parameters and the creation verb; it does not mention authentication requirements, duplicate client handling, mandatory validation rules, or what side effects occur beyond creating a record.

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 summary sentence is immediate and the Args block is compactly organized. Every parameter entry earns its place by adding examples or clarification, with no redundant prose.

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 10-parameter creation tool with no annotations and no schema descriptions, the description covers all inputs and references the timezone lookup tool. It still lacks usage differentiation from similar creation/update tools, but the presence of an output schema and complete parameter docs makes it largely sufficient for invoking the tool.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must explain every parameter, and it does. It adds concrete examples, clarifies contact_email vs email, and gives a precise source for timezone_id via wetrack_list_timezones, which is exactly the value needed 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 'Create a new client organisation', which identifies the verb and resource. It is not explicitly differentiated from the sibling wetrack_create_organisation, so it stops short of the highest clarity score.

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 like wetrack_create_organisation, wetrack_update_client, or wetrack_add_client_members. The only indirect usage hint is 'timezone_id ... get from wetrack_list_timezones', which is a dependency rather than a usage policy.

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

wetrack_create_metadata_fieldA

Create a new custom metadata field definition.

Args: resource_type: What the field belongs to β€” 'TICKET', 'PROJECT', or 'SPRINT'. label: Field label e.g. 'Cost Center'. field_type: Field input type β€” 'TEXT', 'NUMBER', 'DATE', 'BOOLEAN', 'SELECT', or 'MULTI_SELECT'. ticket_type: Required when resource_type is 'TICKET' β€” 'EPIC', 'STORY', 'TASK', 'BUG'. helper_text: Optional placeholder/helper text shown below the field. is_required: Whether this field is mandatory (default: False). options: Required for SELECT/MULTI_SELECT fields β€” list of option objects: [{"label": "Engineering", "value": "eng"}, ...]

Example: resource_type="TICKET", ticket_type="BUG", label="Environment", field_type="SELECT", options=[{"label": "Production", "value": "prod"}, {"label": "Staging", "value": "staging"}]

ParametersJSON Schema
NameRequiredDescriptionDefault
labelYes
optionsNo
field_typeYes
helper_textNo
is_requiredNo
ticket_typeNo
resource_typeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/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 behavioral burden. It states that this creates a new metadata field definition and documents defaults and conditional requirements, but it does not disclose side effects such as duplicate-label handling, whether the field becomes active immediately, 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.

Conciseness5/5

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

The description is front-loaded with a one-sentence purpose, then uses a compact Args list and a concrete example. Each sentence adds necessary information, and the structure makes conditional parameters easy to parse.

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 7-parameter create tool with conditional dependencies, the description covers every parameter, requiredness rule, and the options-object format. Since an output schema exists, not describing the return value is acceptable.

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

Parameters5/5

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

Schema description coverage is 0%, and the description fully compensates: it lists allowed values for resource_type, field_type, and ticket_type; explains label and helper_text; documents the is_required default; and specifies the exact options object format with an example.

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 first sentence, 'Create a new custom metadata field definition,' uses a specific verb and resource and clearly distinguishes this tool from sibling metadata tools like wetrack_update_metadata_field, wetrack_delete_metadata_field, and wetrack_get_metadata_field.

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

Usage Guidelines4/5

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

The description provides clear conditional guidance: ticket_type is required when resource_type is 'TICKET', and options are required for 'SELECT'/'MULTI_SELECT' fields. It does not explicitly name sibling alternatives, but the conditional parameter usage is strong enough for an agent to apply the tool correctly.

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

wetrack_create_organisationB

Create a new organisation.

Args: name: Organisation name e.g. 'Vithi IT Solutions'. email: Contact email e.g. 'contact@vithi.com'. contact_name: Primary contact person e.g. 'Jane Doe'. slug: URL slug e.g. 'vithi'. phone: Phone number.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
slugNo
emailYes
phoneNo
contact_nameYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 carries the full burden. It states 'Create' implying a mutation, but does not disclose side effects, authentication requirements, response structure, or any potential errors. For a write operation, this is a significant gap in 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 extremely concise and well-structured. It leads with the action, then lists parameters with examples in a clear list format. Every sentence earns its place, and there is no filler.

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?

The tool has an output schema (though not shown), so return values are presumably documented there. The description covers all input parameters with examples, which is sufficient for an agent to construct a valid call. However, it lacks any notes on uniqueness constraints (e.g., slug) or potential side effects, but given the output schema and the simplicity, it is reasonably complete.

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

Parameters4/5

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

The schema has 0% description coverage, so the description must compensate. It does so by providing concrete examples for each parameter ('name: Organisation name e.g. 'Vithi IT Solutions''), which adds meaning beyond bare property names. It maps all five parameters and clarifies expected formats.

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 a new organisation' with a specific resource. It distinguishes itself from other create tools by the resource type, though it doesn't explicitly name alternatives. The verb and resource are clear, so an agent can identify its purpose.

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 like list_organisations or update_project. No context is given about typical scenarios, prerequisites, or when not to use it. The description is purely declarative with no usage conditions.

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

wetrack_create_projectA

Create a new project. Sprints are auto-generated from the timeline.

Args: name: Project name e.g. 'WeTrack Platform'. key: Short unique key e.g. 'WTP' (used as ticket prefix). start_date: Project start date β€” 'YYYY-MM-DD'. end_date: Project end date β€” 'YYYY-MM-DD'. manager_id: UUID of the project manager user. description: Project description text. sprint_duration_weeks: Sprint length in weeks (default: 2). color: Hex color for the project card e.g. '#10B981'. tags: List of tag strings e.g. ['Internal', 'Platform'].

ParametersJSON Schema
NameRequiredDescriptionDefault
keyYes
nameYes
tagsNo
colorNo
end_dateYes
manager_idNo
start_dateYes
descriptionNo
sprint_duration_weeksNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. It usefully discloses that sprints are auto-generated from the timeline and that key serves as a ticket prefix, but it is silent on permissions, validation failures, idempotency, and what happens on success beyond creating the project.

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 two-sentence purpose/behavior header is tight, and the Args block is compact and consistently formatted. The length is justified because the schema has no descriptions to rely on; there is no filler.

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?

All parameters are covered and the main side effect is stated; an output schema exists, so the missing return-value detail is acceptable. The description could still be more complete with explicit prerequisites or exclusions, but it contains what is needed for a correct call.

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

Parameters5/5

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

Schema description coverage is 0%, yet the Args block documents all nine parameters with formats, examples, a default, and the key's purpose. This fully compensates for the schema's silence and is exactly what an agent needs to form correct arguments.

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 opening sentence states a concrete action and resource: 'Create a new project.' The side-effect note about auto-generated sprints adds scope and prevents confusion with project update/delete/list siblings. It is specific and not a tautology.

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

Usage Guidelines4/5

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

The usage context is clear: this is the creation tool for projects, distinct from wetrack_update_project and wetrack_delete_project. However, it never explicitly names alternatives or exclusion conditions, so it stops short of full guidance.

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

wetrack_create_project_folderA

Create a folder (or sub-folder) inside a project's file storage.

Args: project_id: The project UUID. name: Folder name e.g. '01. Requirements'. parent_folder_id: UUID of parent folder for sub-folders.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
project_idYes
parent_folder_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses the core creation action but omits permissions, duplicate-name behavior, handling of missing parent folders, and any side effects. For a mutation tool, this leaves the agent guessing about important behavioral details.

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

Conciseness5/5

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

Concise and front-loaded: it opens with the primary action, then provides a terse Args block. No filler or redundant restatement of the tool name, and the example for name is genuinely useful.

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?

Essential parameters are covered and an output schema exists to explain return values, but the description lacks preconditions, permission requirements, and edge-case behavior. For a straightforward create action this is mostly adequate, though an agent would still be uncertain about failure semantics given no annotations.

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

Parameters4/5

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

Schema description coverage is 0%, but the description compensates by explaining all three parameters: project_id is 'The project UUID', name includes an example '01. Requirements', and parent_folder_id is 'UUID of parent folder for sub-folders.' This adds format and purpose details beyond the schema's bare type/title information.

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?

States a specific verb and resource: 'Create a folder (or sub-folder) inside a project's file storage.' This clearly identifies the tool's action and scope, and distinguishes it from sibling file-related tools like wetrack_add_project_file and wetrack_delete_project_folder.

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 vs. alternatives. It does not mention preconditions, whether a parent folder must already exist, or how it relates to other file/folder operations. Usage is only implied by the tool's name and description.

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

wetrack_create_sprintA

Create a sprint manually for a project.

Args: project_id: UUID of the project this sprint belongs to. name: Sprint name e.g. 'Sprint 3'. start_date: Start date 'YYYY-MM-DD'. end_date: End date 'YYYY-MM-DD'. goal: Sprint goal description e.g. 'Complete user auth module'. status: Initial status β€” 'PLANNED' (default), 'IN_PROGRESS', or 'COMPLETED'.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalNo
nameNo
statusNoPLANNED
end_dateNo
project_idYes
start_dateNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It does state the core side effectβ€”creating a sprintβ€”and notes that creation is manual, with an initial status default of 'PLANNED.' However, it does not disclose permissions, validation rules, duplicate handling, or whether the created sprint is returned in the response; the output schema partially relieves that last 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 compact: one purpose sentence followed by a tidy Args block. It contains no filler, and the examples and formats justify the parameter lines, though the parameter names still partially duplicate the schema properties.

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 fully covers parameter semantics and an output schema exists, so return-value documentation is unnecessary. But it leaves gaps around when manual creation is appropriate, whether the project must already exist, uniqueness expectations for sprint names, and date validation. This is adequate but not complete for an unannotated mutation tool.

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

Parameters5/5

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

The input schema has 0% description coverage, so the description must fully compensate, and it does. Every parameter is explained with meaning, format examples like 'YYYY-MM-DD' and 'Sprint 3', default values, and the allowed status enum. This adds substantial semantic value over the bare schema titles and types.

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 opens with a specific imperative: 'Create a sprint manually for a project.' This identifies the verb, the resource, and the scope, and the word 'manually' adds an important behavioral qualifier. It also distinguishes the tool from sprint-reading and sprint-editing siblings such as wetrack_list_sprints, wetrack_get_sprint, wetrack_update_sprint, and wetrack_delete_sprint.

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, no mention of when not to use it, and no reference to related tools such as wetrack_update_sprint for existing sprints or wetrack_get_sprint for retrieval. The only usage signal is the verb 'create,' so the agent must infer context on its own.

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

wetrack_create_support_ticketA

Create a legacy support ticket (not an EPIC/STORY/TASK/BUG work item).

Args: title: Ticket title e.g. 'Login issue on portal'. request_status_id: Integer status ID. request_priority_id: Integer priority ID. organisation_id: UUID of the client organisation. project_id: UUID of the project. description: Rich HTML description (up to 2MB). request_type_id: Optional ticket type ID. category_id: Optional category ID. assigned_to: Optional user integer ID to assign. reporting_to: Optional reporter user integer ID. due_date: ISO datetime for due date. start_date: ISO datetime for start. estimate: Estimated hours (float).

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
due_dateNo
estimateNo
project_idYes
start_dateNo
assigned_toNo
category_idNo
descriptionNo
reporting_toNo
organisation_idYes
request_type_idNo
request_status_idYes
request_priority_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only says "Create" and lists parameters; it does not disclose side effects, required permissions, reversibility, response behavior, or what 'legacy' implies operationally. This is thin for a mutation tool.

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

Conciseness5/5

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

The description is one clear introductory sentence followed by a compact parameter list. Each line adds useful information, and there is no filler or redundancy.

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?

The description covers all 13 parameters with useful semantics and the output schema exists, so return-value documentation is not required. It could be more complete by mentioning how to obtain the IDs or what distinguishes a 'legacy' ticket, but overall it equips an agent to build a correct call.

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

Parameters5/5

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

Schema description coverage is 0%, and the Args list fills that gap completely. Every parameter gets a meaningful description: UUID for organisation/project, integer IDs, ISO datetime formats, float hours, rich HTML with a 2MB limit, and optionality markers.

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 opens with a specific verb and resource: "Create a legacy support ticket". It explicitly contrasts with EPIC/STORY/TASK/BUG work items, making it easy to distinguish from the sibling tool wetrack_create_work_item.

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 phrase "not an EPIC/STORY/TASK/BUG work item" gives a clear exclusion boundary and implies when this tool is appropriate versus the work-item creation sibling. However, it does not explicitly name the alternative tool or state a full when-to-use/when-not-to-use policy.

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

wetrack_create_ticket_categoryB

Create a new ticket category.

Args: name: Category name e.g. 'Hardware'. description: Optional description. color: Hex color. icon: Icon identifier.

ParametersJSON Schema
NameRequiredDescriptionDefault
iconNo
nameYes
colorNo
descriptionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of disclosing behavior. It only says 'Create a new ticket category,' which implies an additive operation, but it does not mention uniqueness constraints, error conditions, required permissions, idempotency, or side effects. This is too minimal to be behaviorally transparent.

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

Conciseness4/5

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

The description is short and front-loaded with the purpose line, followed by a compact argument list. No filler content appears, though slightly more detail on parameter constraints could improve it without becoming wordy.

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 output schema exists, so return values are covered. But the description leaves missing context for what 'icon' actually accepts, whether name uniqueness is enforced, and any permission or visibility expectations. This is adequate for a basic create operation 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?

The Args block adds some meaning beyond the minimal schema: it clarifies 'name' with an example, labels description as optional, and specifies that color is a hex value. However, it does not give allowed icon identifiers or a full color format, and it does not label color/icon as optional even though the schema indicates they have null defaults. With 0% schema description coverage, this only partially compensates.

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 function as 'Create a new ticket category.' This is a specific verb and resource, distinguishing it from sibling tools like wetrack_update_ticket_category, wetrack_get_ticket_category, or wetrack_create_ticket_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?

There is no guidance on when to use this tool versus alternatives. It does not explain when a new category should be created, whether it depends on existing projects or organizations, or how it relates to ticket types, priorities, or statuses.

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

wetrack_create_ticket_priorityA

Create a new ticket priority. The code is auto-derived from the name.

Args: name: Priority name e.g. 'Blocker' or 'Very High'. priority_type: Severity bucket β€” 'LOW', 'MEDIUM', 'HIGH', or 'CRITICAL'. resource: Resource type β€” 'SPRINT', 'TASK', or 'PROJECT'. description: Optional description. color: Hex color. icon: Icon identifier.

ParametersJSON Schema
NameRequiredDescriptionDefault
iconNo
nameYes
colorNo
resourceYes
descriptionNo
priority_typeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries full responsibility for behavioral disclosure. It does reveal one meaningful behavior: 'The code is auto-derived from the name.' However, it does not mention side effects, required permissions, duplicate handling, or what happens on success. For a creation operation with zero annotation coverage, this leaves important gaps.

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 compact and well-structured: a one-line purpose statement followed by a clean Args list. There is no fluff, each parameter line adds distinct value, and the key behavior is front-loaded.

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

Completeness4/5

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

The description covers all parameters, required fields are clear from the schema, and the output schema can inform the return value. The missing pieces are usage guidance and behavioral caveats such as uniqueness or side effects. For a straightforward create tool, this is largely sufficient but not exhaustive.

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

Parameters5/5

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

Schema description coverage is 0%, but the description fully compensates by explaining all six parameters with meaningful semantics. It provides examples for name ('Blocker', 'Very High'), enumerates allowed values for priority_type and resource, and clarifies description, color, and icon. This is exactly the information an agent needs beyond the raw 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?

States a specific verb and resource: 'Create a new ticket priority.' It also adds the useful detail that the code is auto-derived from the name, which makes the scope concrete. It does not explicitly differentiate from sibling CRUD tools for ticket priorities, but the action and object are 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 alternatives like wetrack_update_ticket_priority or wetrack_list_ticket_priorities. There are no exclusions, prerequisites, or context signals that help an agent choose among the priority CRUD siblings. Usage is only implied by the create verb, which is not enough.

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

wetrack_create_ticket_productB

Create a new ticket product.

Args: name: Product name e.g. 'VTrack Fleet'. description: Optional description.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
descriptionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral burden. It only says 'Create' and gives parameter examples; it does not disclose side effects, permissions, uniqueness constraints, 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.

Conciseness4/5

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

The description is brief and front-loaded with the primary action. The Args section is compact and useful, though it could be slightly more structured; overall it wastes no 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 two-parameter create tool with an output schema, the description is minimally viable. It documents the parameters and the core action, but lacks any behavioral or usage context, which is more noticeable because annotations are absent.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It does explain both parameters in plain language, including an example for name ('VTrack Fleet') and noting that description is optional. This adds meaningful semantic value beyond the bare schema titles.

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

Purpose5/5

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

The description states a specific verb and resource: 'Create a new ticket product.' This clearly distinguishes it from sibling create tools like create_support_ticket, create_ticket_type, and create_ticket_category.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus alternatives such as create_support_ticket or create_work_item. There are no exclusions, prerequisites, or 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.

wetrack_create_ticket_statusA

Create a new ticket status.

Args: name: Status name e.g. 'In Progress'. category: Lifecycle stage β€” 'TO_DO', 'IN_PROGRESS', or 'DONE'. resource: Resource type β€” 'SPRINT', 'TASK', or 'PROJECT'. description: Optional description. color: Hex color e.g. '#3B82F6'. icon: Icon identifier. pauses_sla: Whether this status pauses SLA timer (default: False).

ParametersJSON Schema
NameRequiredDescriptionDefault
iconNo
nameYes
colorNo
categoryYes
resourceYes
pauses_slaNo
descriptionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It says the tool creates a status but does not disclose side effects, permission requirements, whether the status is global or resource-scoped, or what happens after creation. The parameter list adds useful field semantics but not 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 one-sentence purpose followed by a compact Args block where every line adds value. It is front-loaded and avoids redundant prose.

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 seven-parameter tool with no annotations and zero schema descriptions, the parameter coverage is strong, and the output schema covers return values. However, the description omits usage context such as whether a status is global or tied to a resource type, and it gives no behavioral or prerequisite information, leaving an agent with open questions before calling.

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

Parameters4/5

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

Schema description coverage is 0%, and the description compensates for all seven parameters with examples, enum-like allowed values, and explanations. However, 'pauses_sla ... default: False' conflicts with the schema's explicit null default, so the added guidance is strong but not fully consistent with 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 first sentence, 'Create a new ticket status', names the exact action and resource. The verb 'Create' distinguishes it from sibling tools such as wetrack_get_ticket_status, wetrack_update_ticket_status, and wetrack_delete_ticket_status without requiring schema inspection.

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

Usage Guidelines2/5

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

The description gives no when-to-use guidance, does not mention alternatives, and states no prerequisites. An agent must infer from the tool name that this is for creating new statuses, and nothing clarifies when to choose this over the update or delete variants.

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

wetrack_create_ticket_typeA

Create a new ticket type.

Args: name: Type name e.g. 'Bug'. description: Optional description. color: Hex color. icon: Icon identifier.

ParametersJSON Schema
NameRequiredDescriptionDefault
iconNo
nameYes
colorNo
descriptionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 carries the full burden of behavioral disclosure, but it only restates that this is a creation operation. It does not mention side effects, uniqueness constraints, required permissions, whether duplicates are rejected, or what response to expect. This is a meaningful gap for a mutating tool with no annotation coverage.

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 compact and front-loaded with the core purpose in the first sentence. The Args block is minimal, each line adds real value, and there is no filler or redundant explanation. It is appropriately sized for a simple create operation.

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 gives enough basic parameter information for a straightforward call, and an output schema exists so return-shape documentation is not required. However, it omits explicit optionality for color and icon, does not explain where valid icon identifiers come from, and lacks any guidance on how this tool relates to other ticket-type tools. It is adequate but has clear gaps.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate, and it does by listing every parameter with a helpful type or example: name is demonstrated as 'Bug', color is described as 'Hex color', and icon is called an 'identifier'. It does not explicitly mark color and icon as optional, but the schema defaults carry some of that information. The parameter guidance is useful and mostly sufficient.

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 states a specific verb and resource: 'Create a new ticket type.' It clearly distinguishes from list/get/update ticket-type tools by the create verb, and the 'e.g. Bug' example clarifies what kind of entity a ticket type is. This is specific enough for an agent to select it correctly among the large sibling tool set.

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 should be used when creating a ticket type, but it does not explicitly state when not to use it or mention alternatives such as update_ticket_type for modifications. There is no guidance about prerequisites or situations where this tool is inappropriate. The usage context is recognizable but only implicit.

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

wetrack_create_userA

Create a single user account and send an invitation email.

Args: first_name: User's first name e.g. 'Jane'. last_name: User's last name e.g. 'Smith'. email: User's email e.g. 'jane@company.com'. role: Access role β€” 'ADMIN', 'VITHI_USER', 'EMPLOYEE', or 'CUSTOMER'. designation: Job title e.g. 'Senior Backend Engineer'. user_name: Optional username override.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleYes
emailYes
last_nameYes
user_nameNo
first_nameYes
designationYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

The description discloses that an invitation email is sent, which is a side effect beyond the schema. However, with no annotations provided, the description carries the full burden of behavioral transparency. It does not mention required permissions, idempotency, behavior if the user already exists, or any other side effects. This is a significant gap for a mutation 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 concise, with a single-sentence summary followed by a clean list of parameter explanations. It is front-loaded with the core purpose and contains no filler. Every line provides value, making it easy for an agent 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?

The tool has an output schema, so return value details are covered externally. However, the description does not provide guidance on when to use this tool versus siblings like wetrack_bulk_create_users or wetrack_update_user, nor does it mention any prerequisites such as authentication or admin privileges. For a create operation, it is mostly complete but lacks explicit routing and prerequisite information.

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

Parameters5/5

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

Schema description coverage is 0%, but the description compensates well by providing examples for each parameter (e.g., 'Jane', 'Smith', 'jane@company.com') and enumerating the allowed role values ('ADMIN', 'VITHI_USER', 'EMPLOYEE', or 'CUSTOMER'). This adds meaningful context that the schema lacks, making parameter usage clear.

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 a single user account and send an invitation email.' This is a specific verb with a resource, and the word 'single' distinguishes it from bulk creation. The purpose is unambiguous and easily differentiated from siblings like wetrack_bulk_create_users and wetrack_resend_invite.

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 single-user creation via the word 'single', but it does not explicitly mention when to use wetrack_bulk_create_users for multiple users or when to use wetrack_update_user for modifications. There is no explicit exclusion or alternative routing, leaving the agent to infer the context.

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

wetrack_create_widgetA

Add a report widget to the current user's dashboard.

Args: title: Display title shown on the widget card (non-empty). metric: What to measure β€” one of: 'COUNT_OF_TICKETS', 'COUNT_CREATED_VS_COMPLETED', 'AVG_CYCLE_TIME', 'AVG_RESPONSE_TIME', 'AVG_TICKET_AGE', 'SUM_STORY_POINTS', 'SUM_TIME_SPENT', 'COUNT_BLOCKED'. dimension: Group-by dimension β€” one of: 'PROJECT', 'SPRINT', 'SPRINT_STATUS', 'ASSIGNEE', 'REPORTER', 'STATUS', 'STATUS_CATEGORY', 'PRIORITY', 'TYPE', 'PARENT', 'DUE_DATE_BUCKET', 'CREATED_DATE', 'RESOLVED_DATE', 'BLOCKED', 'BUG_TYPE'. chart_type: How to render β€” 'BAR', 'LINE', 'PIE', 'DONUT', 'TABLE', or 'AREA'. catalog_report_id: Optional id from wetrack_get_reports_catalog to link to a catalog entry (e.g. 'status_breakdown').

ParametersJSON Schema
NameRequiredDescriptionDefault
titleYes
metricYes
dimensionYes
chart_typeYes
catalog_report_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.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 discloses the mutation and target dashboard, but does not mention permissions, persistence, idempotency, or any side effects beyond adding the widget. This is a meaningful gap for a write tool.

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

Conciseness5/5

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

The description is front-loaded with the purpose sentence and then organized as a readable Args list. The long enumeration lists are necessary because the schema lacks them, so every line contributes information; there is no filler or redundancy.

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 five-parameter creation tool with no annotations and no schema descriptions, the description covers parameter semantics, requiredness, and cross-tool sourcing. It omits behavioral caveats such as auth requirements and exact return behavior, though an output schema exists, so the main gap is the missing behavioral context.

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

Parameters5/5

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

Despite 0% schema description coverage, the Args block fully documents each parameter: title's non-empty rule, metric's allowed enumeration, dimension's allowed enumeration, chart_type's allowed enumeration, and the source/usage for catalog_report_id. This is exemplary compensation for a schema with no 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 opening sentence 'Add a report widget to the current user's dashboard' uses a specific verb and resource, and clarifies scope. It distinguishes this tool from sibling widget-management tools by signaling creation rather than update, deletion, listing, or data retrieval.

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

Usage Guidelines3/5

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

The description does not explicitly name alternatives or state when not to use it. Usage is implied from the creation semantics and the optional catalog_report_id cross-reference, which hints at pairing with wetrack_get_reports_catalog, but there is no direct comparison to wetrack_update_widget or wetrack_list_widgets.

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

wetrack_create_work_itemA

Create a new work item β€” EPIC, STORY, TASK, or BUG.

Args: ticket_type: 'EPIC', 'STORY', 'TASK', or 'BUG'. title: Work item title (Epic Name / Story Name / Task Name / Bug Title). summary: Short summary of the work item. project_id: UUID of the project this belongs to. priority_id: Integer ID of the priority (get from wetrack_list_ticket_priorities). status_id: Status ID (defaults to 'To Do' if omitted). description: Optional rich text description (HTML supported). Required for BUG. assignees: List of user UUIDs to assign. First becomes primary assignee. start_date: ISO datetime string e.g. '2026-09-01T00:00:00Z'. end_date: ISO datetime string. Must be after start_date. tags: List of string tags. sprint_id: UUID of the sprint to assign this to (optional). story_points: Integer story points. Required for STORY, optional for TASK/BUG. bug_type: Bug category string. Required for BUG type only. parent_id: Integer ID of parent EPIC (for STORY/TASK/BUG only).

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNo
titleYes
summaryYes
bug_typeNo
end_dateNo
assigneesNo
parent_idNo
sprint_idNo
status_idNo
project_idYes
start_dateNo
descriptionNo
priority_idYes
ticket_typeYes
story_pointsNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden, and it does a solid job: it discloses that description is required for BUG, story_points required for STORY, end_date must be after start_date, HTML is supported in description, and the first assignee becomes primary. It does not cover permissions or idempotency, but the disclosed behaviors are meaningful and not present in 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.

Conciseness5/5

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

The description front-loads the purpose and then uses a tight parameter list where every line adds needed information. For a 15-parameter tool with conditional requirements, the length is justified and there is no filler.

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?

The definition is largely complete for a complex create tool: it covers required fields, type-specific rules, defaults, date ordering, tags, assignees, sprint, and parent linkage. It could also tell the agent where to obtain status_id or project_id, but it already names one lookup source and the output schema exists, so the gap is minor.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must fully compensate. It explains every parameter with practical semantics: enum-like ticket_type values, where to get priority_id, defaults for status_id, conditional requirements, date ordering, and parent relationships. This is significantly more helpful than the bare 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 opens with a specific verb and resource: 'Create a new work item β€” EPIC, STORY, TASK, or BUG.' It clearly distinguishes this from sibling create tools like wetrack_create_support_ticket by naming the exact work-item types it handles.

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: use this when you need to create a new work item. It provides type-specific requirements and defaults, but it never explicitly states when not to use it or names alternatives like wetrack_update_ticket for modifying existing items.

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

wetrack_delete_metadata_fieldA

Delete a metadata field definition. Will fail for system-protected fields.

Args: field_id: Integer ID of the metadata field to delete.

ParametersJSON Schema
NameRequiredDescriptionDefault
field_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral disclosure burden. It adds a useful non-obvious failure condition ('Will fail for system-protected fields') but does not disclose other destructive traits like irreversibility or potential cascading effects on tickets using the field.

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 compact and front-loaded: action, critical caveat, then the single parameter. Every sentence adds value without redundancy.

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 one-parameter delete operation, the description is nearly complete: it names the target, explains the argument, and warns about protected fields. The output schema covers return values, so the main omission is additional detail on the consequences of deletion.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must define the parameter. The Args section explains 'field_id' as 'Integer ID of the metadata field to delete,' adding semantic context beyond the bare schema type and title.

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

Purpose4/5

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

The description states a specific action and resource: 'Delete a metadata field definition.' This is clear and distinct from metadata field get/list/create/update/toggle siblings, though it does not explicitly name a sibling it is not.

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 a metadata field definition must be permanently removed, and provides a when-not warning: 'Will fail for system-protected fields.' However, it does not mention alternatives such as toggling a field's status or when to prefer update over delete.

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

wetrack_delete_projectA

Soft-delete a project (it becomes inactive but data is retained).

Args: project_id: The project UUID to delete.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral disclosure burden. It explicitly reveals soft-delete semantics, inactivity, and data retention, which is valuable context. However, it does not mention restoration possibilities, permission requirements, or effects on related data such as tickets, files, or sprints.

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 core description is one clear sentence with no unnecessary wording. The Args block is compact and directly tied to the input schema. The most important behavioral fact, soft-deletion and data retention, is front-loaded.

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

Completeness4/5

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

For a simple one-parameter delete operation with an output schema present, the description supplies the key input semantics and the primary behavioral consequence. Additional context about authentication, restore paths, or cascading effects would improve completeness but is not essential for basic invocation.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It defines project_id as 'The project UUID to delete,' adding both a format hint (UUID) and the parameter's role beyond the schema's 'string' type and 'Project Id' title. For a single-parameter tool, this is adequate.

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?

States a specific verb 'soft-delete' and resource 'project', with a parenthetical clarifying the effect: 'it becomes inactive but data is retained.' This distinguishes it from sibling delete operations like wetrack_delete_sprint or wetrack_delete_project_file, which target different resources.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. The sibling list contains many project-related tools and other delete operations, but the description does not state when soft-deleting a project is appropriate, what prerequisites exist, or how it differs from other deletion tools.

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

wetrack_delete_project_fileC

Delete a project file record.

Args: project_id: The project UUID. file_id: The file UUID to delete.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_idYes
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It discloses that this is a deletion, but it does not say whether the actual file is removed or only the database record, whether deletion is irreversible, what permissions are needed, or what side effects may occur. This is thin 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 brief and front-loaded, with the purpose stated first followed by a compact argument list. There is no filler, though it is more of a skeletal docstring than an enriched explanation.

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 two-parameter delete with an output schema, the core invocation information is present: what action to take and which IDs to provide. But without annotations and with no mention of effects, permissions, or how to discover valid IDs, the description is only 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 no descriptions, so the description's 'project_id: The project UUID' and 'file_id: The file UUID to delete' adds useful identifier-type meaning beyond the bare schema titles. However, it does not explain how to resolve these IDs or provide constraints beyond being UUIDs.

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 a project file record.' This is a specific verb plus resource and is distinguishable from sibling tools such as wetrack_add_project_file, wetrack_list_project_files, and wetrack_delete_ticket_attachment. It lacks an explicit comparison to siblings, so it does not earn a 5.

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

Usage Guidelines2/5

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

There is no guidance about when to use this tool instead of another deletion tool, how to obtain the required IDs, or what prerequisites apply. The description only states what the tool does, not when to use it or what to verify first.

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

wetrack_delete_project_folderC

Delete a folder from a project.

Args: project_id: The project UUID. folder_id: The folder UUID to delete.

ParametersJSON Schema
NameRequiredDescriptionDefault
folder_idYes
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.7/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behavior. It does not mention irreversibility, required permissions, or side effects (e.g., deleting subfolders or files). The destructive nature 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.

Conciseness4/5

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

The description is extremely brief and front-loaded with the action. It wastes no words, but the brevity leaves gaps. It earns a high score for conciseness, though it sacrifices completeness.

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

Completeness2/5

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

Given the tool is a destructive delete operation with no annotations and minimal schema coverage, the description is inadequate. It doesn't mention what happens to contents, reversibility, or required permissions. The output schema exists but the description doesn't hint at what to expect.

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

Parameters2/5

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

Schema coverage is 0%, so the description must compensate. It simply repeats parameter names (project_id, folder_id) with minimal context (e.g., 'project UUID'), adding little beyond the schema. It doesn't explain how to obtain these IDs or any format 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?

The description clearly states the action 'Delete a folder from a project' with a specific verb and resource. It distinguishes from siblings like wetrack_delete_project_file and wetrack_create_project_folder, though it doesn't 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?

The description provides no guidance on when to use this tool versus alternatives, such as deleting a project file or folder creation. It implies a straightforward delete operation but lacks context like prerequisites or consequences.

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

wetrack_delete_sprintA

Delete a sprint and unassign all linked tickets back to backlog.

Args: sprint_id: The sprint UUID to delete.

ParametersJSON Schema
NameRequiredDescriptionDefault
sprint_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses a meaningful side effect ('unassign all linked tickets back to backlog'), but it does not state whether deletion is irreversible, whether certain sprint states block deletion, or what permissions are required. This is adequate but incomplete for a destructive tool.

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

Conciseness5/5

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

The description is compact and front-loaded. The first sentence states the core behavior and side effect, and the second sentence documents the parameter. Every word contributes.

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 one-parameter delete operation with an output schema, the description is mostly complete. It explains the main side effect on linked tickets, which is the main non-obvious context. It could mention failure conditions or whether the sprint must exist, but the low complexity keeps the gaps minor.

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

Parameters4/5

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

Schema description coverage is 0%, but the description compensates by identifying sprint_id as a 'sprint UUID' and explaining its purpose ('to delete'). This adds format and role beyond the schema's bare 'Sprint Id' title. For a single-parameter tool, this is sufficient.

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 and resource ('Delete a sprint') and adds a key behavioral distinction: it unassigns all linked tickets back to the backlog. This clearly separates it from get_sprint, list_sprints, create_sprint, and update_sprint.

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 about when to use this tool instead of alternatives such as update_sprint or list_sprints. The description implies deletion usage, but it does not state exclusions, prerequisites, or conditions under which deletion should not be attempted.

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

wetrack_delete_ticket_attachmentB

Delete an attachment from a ticket.

Args: ticket_id: The ticket UUID. attachment_id: The attachment UUID to delete.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticket_idYes
attachment_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 carries the full burden of behavioral disclosure. It only restates the operation and does not mention that deletion is likely irreversible, what permissions are required, whether the operation is idempotent, or what side effects might occur.

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 brief and front-loaded with the core purpose, followed by a concise, clearly formatted argument list. Every sentence contributes necessary information without redundancy.

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

Completeness3/5

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

The two required parameters are explainedaaa88 and an output schema exists, so return values are covered elsewhere. However, given that this is a destructive operation with no annotations, the description could usefully mention irreversibility, permissions, or how to obtain valid attachment IDs.

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

Parameters3/5

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

Schema description coverage is 0%, so the description's role is important. It does clarify that ticket_id is the ticket UUID and attachment_id is the attachment UUID to delete, adding meaning beyond the bare schema titles. However, it omits details like the relationship between the two IDs or any validation requirements.

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 exact action: 'Delete an attachment from a ticket.' It identifies the verb, resource, and object, and it is easily distinguished from sibling tools like wetrack_add_ticket_attachment and wetrack_get_ticket_attachments.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus alternatives, such as listing attachments first or verifying that the attachment belongs to the ticket. The intended context is only implied by the tool name and description.

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

wetrack_delete_ticket_priorityA

Soft-delete a ticket priority (sets inactive; data retained). Will fail if active tickets still use this priority.

Args: priority_id: The priority ID to deactivate.

ParametersJSON Schema
NameRequiredDescriptionDefault
priority_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior4/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 explicitly says this is a soft-delete (sets inactive, data retained), which goes beyond the verb 'delete' and clarifies non-destructive behavior. It also mentions failure condition when in use, which is valuable behavioral context. Missing details on permissions or response, but given the tool's simplicity, this is sufficient.

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

Conciseness5/5

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

The description is short and to the point: two sentences explaining the behavior and the failure condition, plus a one-line parameter description. No wasted words. The key qualifier 'soft-delete' is front-loaded, and the critical constraint is stated immediately after.

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 one parameter, an output schema, and no annotations, the description covers the necessary context: what the tool does, the failure condition, and parameter semantics. It doesn't state permissions, but for a soft-delete operation that fails safely, this is adequate. The output schema likely describes the response, so no need to explain return values.

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

Parameters3/5

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

The schema has 0% description coverage, so the description must explain the parameter. It does explain 'priority_id' as 'The priority ID to deactivate', which matches the schema property name. It adds minimal extra semantic value (just 'to deactivate'), but that's helpful. Given the parameter is self-explanatory and there's only one, 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 action (soft-delete) and the resource (ticket priority), and notes the behavior (sets inactive, data retained). It is distinct from other priority operations like create/update, though it doesn't explicitly name the sibling list/get tools as alternatives, but the verb and soft-delete qualifier are specific enough.

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?

It implies the tool is for deactivating a priority, and states a critical constraint: it will fail if active tickets use this priority. This guides the agent to check for active tickets before calling, though it doesn't explicitly mention alternatives when priority is in use, but the constraint is clear.

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

wetrack_delete_ticket_statusA

Soft-delete a ticket status (sets inactive; data is retained). Will fail if active tickets are still using this status.

Args: status_id: The status ID to deactivate.

ParametersJSON Schema
NameRequiredDescriptionDefault
status_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior4/5

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

With no annotations provided, the description carries the disclosure burden. It transparently states that the delete is a soft-delete, data is retained, and the operation fails under an active-ticket condition. This goes beyond the tool name, though it does not mention auth requirements, reversibility, or response 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?

The description is short, front-loaded with the essential action, and uses a clean Args section. Every sentence adds value: the soft-delete behavior, the retention guarantee, the failure condition, and the parameter meaning.

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?

The tool is simple with one parameter and a single clear action. The description covers the core behavior, side effects, and failure condition, and an output schema is present. It does not discuss authentication or follow-up actions, but the essential context for correct invocation is present.

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 only the parameter name 'status_id' with no description, so the description's 'The status ID to deactivate' adds a minimal but useful clarification. It does not explain how to obtain the ID, expected format, or relationship to related ticket-status tools, but it is adequate for a single simple parameter.

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 identifies a specific verb ('Soft-delete') and resource ('ticket status'), and clarifies the operation as setting inactive while retaining data. It is clear and unambiguous, though it does not explicitly compare against sibling status tools such as update_ticket_status or list_ticket_statuses.

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 context by noting that soft-delete sets inactive and that the operation will fail if active tickets still use the status. However, it does not explicitly state when to prefer this tool over alternatives or describe preconditions like checking that no active tickets reference the status.

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

wetrack_delete_widgetA

Delete a report widget from the current user's dashboard.

Args: widget_id: Widget ID from wetrack_list_widgets.

ParametersJSON Schema
NameRequiredDescriptionDefault
widget_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

Annotations are absent, so the description carries the full burden of behavioral disclosure. It says 'Delete' which implies a destructive action, but it does not explicitly state that the action is permanent, irreversible, or that it only affects the current user's view (though 'current user's dashboard' is mentioned). It also does not mention any permission requirements or what happens to associated data. For a mutation tool with no annotations, this is a significant gap.

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

Conciseness5/5

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

The description is extremely concise: a single sentence for the action and a brief Args block that adds the crucial source of the parameter. There is no filler or redundancy. The action is front-loaded, and every word earns its place.

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

Completeness4/5

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

For a simple delete tool with a single parameter, the description covers the essential action and scope. It also includes the source of the widget_id. The presence of an output schema means return values need not be described. However, it could be more complete by explicitly stating that the deletion is permanent and cannot be undone, which is important for a destructive operation. This is a minor gap given the simplicity.

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

Parameters4/5

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

The schema describes widget_id as a string but gives no context. The description adds valuable meaning by specifying that the widget_id should come from wetrack_list_widgets, telling the agent where to obtain the correct ID. This goes beyond the schema's generic type definition and helps ensure correct invocation.

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 states a specific action ('Delete a report widget'), the resource ('report widget'), and the scope ('from the current user's dashboard'). This clearly distinguishes it from sibling tools like wetrack_update_widget or wetrack_create_widget. The verb 'Delete' is unambiguous and the resource is precise.

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 usage scenario (when you want to remove a widget) but does not explicitly state when to use it versus alternatives or when not to use it. It does mention that widget_id comes from wetrack_list_widgets, which is a helpful pointer, but there is no discussion of prerequisites or exclusions. It provides a clear context but lacks explicit guidance on alternative selection.

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

wetrack_exit_impersonationA

Exit the current impersonation session and restore the administrator session. Only works if you previously called wetrack_impersonate.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden. It clearly discloses the stateful effect: exiting impersonation and restoring the administrator session. It also hints at failure conditions via 'Only works if...', though it does not spell out the exact error behavior when called without an active impersonation.

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 short sentences with no filler. The primary action is front-loaded, and the critical precondition is stated in the second sentence, making it very efficient for an agent to parse.

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 zero-parameter session-control tool with an output schema, the description covers everything an agent needs: what the tool does, what it restores, and when it is valid to call it. No important context is missing.

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

Parameters4/5

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

The tool has zero parameters and the schema is empty, so parameter semantics are not a burden on the description. The baseline of 4 applies because there is nothing for the description to add about arguments.

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 'Exit' and the resource ('current impersonation session'), and further specifies that it restores the administrator session. This makes the tool's purpose obvious and distinguishes it from the sibling wetrack_impersonate.

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

Usage Guidelines5/5

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

The description gives an explicit precondition: 'Only works if you previously called wetrack_impersonate.' This tells the agent when the tool is valid and implicitly that it is the counterpart to wetrack_impersonate, so there is no ambiguity about when to use it.

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

wetrack_forgot_passwordA

Trigger a password reset email for a user.

Args: email: The email address of the user who forgot their password.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 carries the full burden of behavioral disclosure. It states the immediate observable effect (sending a password reset email) but does not disclose authentication requirements, behavior for unknown emails, duplicate-email risks, rate limits, or security considerations. It is not contradictory, but the transparency is thin for a side-effectful 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?

The description is two short sentences plus an Args block, with the main action front-loaded. Every clause adds information and there is no filler or repetition.

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

Completeness3/5

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

For a simple one-parameter tool with an output schema, the core invocation details are mostly present. However, because there are no annotations and no explicit sibling routing, the description omits auth/error/rate-limit context and leaves the boundary with password-management tools implicit.

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

Parameters4/5

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

The input schema only provides 'email' as a required string with 0% schema description coverage. The description compensates by defining it as 'the email address of the user who forgot their password,' which supplies the missing semantic meaning. It does not add format/validation rules, but for a single string parameter this is sufficient.

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 states a specific verb ('trigger') and resource ('password reset email') with an explicit target ('for a user'). The 'forgot their password' qualifier distinguishes it from the change_password and set_password siblings, even though they are not named.

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 intended scenario is implied by 'the user who forgot their password,' but the description gives no explicit when-not-to-use guidance and does not mention alternatives like wetrack_change_password or wetrack_set_password. The agent must infer the boundary between resetting via email and changing/setting a password directly.

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

wetrack_get_clientC

Get details of a specific client organisation.

Args: client_id: The client/organisation ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
client_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only says 'Get details', which implies a read-only operation, but it does not mention authentication requirements, error behavior, response format, or potential side effects. The presence of an output schema is not leveraged in the description. This is a significant gap for a tool with zero annotation coverage.

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 and front-loaded, which is efficient. However, it is under-specified rather than appropriately concise. Every sentence is present, but the content is minimal. It earns a middle score because it avoids redundancy but lacks necessary 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?

For a tool with one parameter and an output schema, the description is incomplete. It does not mention prerequisites like authentication, does not clarify what 'details' encompass, and does not reference the output schema. The agent would have to infer or inspect the schema to understand the return value. Given the tool's simplicity, this may be acceptable for a basic GET, but the lack of any behavioral or usage context makes it inadequate for robust tool selection.

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

Parameters2/5

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

The description repeats the parameter name and adds minimal clarification ('The client/organisation ID'), but schema coverage is 0%, meaning the description must compensate. It does not provide the format, source, or how to obtain a valid client_id. The added phrase is barely more informative than the property name itself.

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

Purpose4/5

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

The description clearly states the action ('Get details') and the resource ('a specific client organisation'). It is specific and distinguishable from sibling tools like wetrack_get_user or wetrack_get_ticket by explicitly naming the client organisation. However, it does not elaborate on what 'details' include.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives such as wetrack_list_organisations or wetrack_get_user. The description only states the action and parameter, leaving the agent to infer that it is used when a client_id is known and detailed information is needed. No exclusions or alternative recommendations are provided.

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

wetrack_get_current_userA

Get the currently authenticated user's profile and sidebar permissions. Useful to verify who is logged in and what their role is.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/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 of explaining behavior. It clearly indicates the tool returns the current user's profile and sidebar permissionsestrategically implies a read-only operation via 'Get', but it does not explicitly state authentication failure behavior or confirm the absence of side effects. The output schema covers return details, so this is adequate but not comprehensive.

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 with no filler. It front-loads the core action and resource, then adds a practical use case. Every sentence contributes value.

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

Completeness4/5

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

Given the zero-parameter input, the presence of an output schema, and the simplicity of the read operation, the description is largely complete. It tells an agent what the tool returns and why it might be used. It could mention authentication prerequisites explicitly, but the phrase 'currently authenticated user' already implies them.

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

Parameters4/5

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

The tool has zero parameters)Skip, so the description cannot add much beyond the schema. The 100% schema coverage and absence of parameters make this baseline-4 appropriate; there is no parameter meaning left to clarify.

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 states a specific verb ('Get'), a precise resource ('currently authenticated user's profile and sidebar permissions'), and is clearly distinguishable from sibling tools like wetrack_get_user or wetrack_list_users. It directly conveys the tool's unique scope without ambiguity.

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 identifies a clear use case: verifying who is logged in and their role. It does not reference alternative tools or exclusions, but the intended context is readily apparent from the wording.

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

wetrack_get_dashboardA

Get the aggregated dashboard β€” KPIs, Team Workload, Status Donut, Project Health, Pending Tickets, and Sprint Burndown.

Args: project_id: Scope dashboard to a specific project UUID. sprint_id: Specify a sprint UUID for the burndown chart.

ParametersJSON Schema
NameRequiredDescriptionDefault
sprint_idNo
project_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral disclosure burden. It accurately signals a read operation via 'Get' and lists what data will be returned, but it does not explicitly state that the operation is non-mutating, mention auth requirements, or note any data freshness/aggregation caveats.

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 compact and front-loaded: the main purpose and dashboard components appear first, followed by a clean two-line Args section. No redundant or filler phrasing exists.

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

Completeness4/5

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

The tool is a read-only dashboard retrieval with a provided output schema, so return-value documentation is already handled. The description covers the dashboard components and both optional scoping parameters. Minor gaps are the lack of explicit alternative routing and absence of a read-only safety statement, which matter more because annotations are missing.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate for the bare property definitions. It does, by explaining that project_id scopes the dashboard to a specific project UUID and sprint_id targets the burndown chart. This gives the agent meaning beyond the raw type/nullable details 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?

Begins with a specific verb and resource, 'Get the aggregated dashboard', and enumerates the exact dashboard sections (KPIs, Team Workload, Status Donut, Project Health, Pending Tickets, Sprint Burndown). This clearly distinguishes it from sibling tools like get_project_stats or get_project_overview by framing it as the umbrella dashboard view.

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 gives clear context for when to use the tool: when you need an aggregated, multi-section dashboard overview. It also explains how to scope the dashboard with project_id and sprint_id, which is actionable usage guidance, though it does not explicitly name alternatives or exclusion conditions.

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

wetrack_get_metadata_fieldA

Get a single metadata field definition by ID.

Args: field_id: Integer ID of the metadata field.

ParametersJSON Schema
NameRequiredDescriptionDefault
field_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral disclosure burden. 'Get' makes the read-only intent and lookup-by-ID behavior apparent, but it does not describe error behavior for missing/invalid IDs, auth requirements, or whether the returned definition includes all field properties. This is a moderate gap for an otherwise simple getter.

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 very short and front-loaded: the first sentence captures the purpose, and the second documents the sole parameter. Since the schema has no property descriptions, the Args line is justified and not redundant.

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 single-parameter getter with an output schema, the description provides enough to invoke the tool correctly: the required ID and the returned concept. It omits error behavior and explicit alternative routing, but those are minor for this low-complexity 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 description identifies field_id as 'Integer ID of the metadata field,' which adds slightly more context than the schema's bare type and title. However, with 0% schema description coverage, the description only minimally compensates; it does not add format, range, source, or example information beyond what the name already suggests.

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?

States a specific verb ('Get'), a specific resource ('metadata field definition'), and a precise selection criteria ('by ID'). This clearly distinguishes it from siblings like wetrack_list_metadata_fields, wetrack_create_metadata_field, and wetrack_update_metadata_field.

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 makes the usage context clear: use this when you need a single metadata field definition identified by an integer ID. It does not explicitly name alternatives or exclusions, but the 'single... by ID' phrasing provides sufficient context for an agent to select it over list/create/update siblings.

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

wetrack_get_microsoft_signin_urlA

Get the Microsoft OAuth sign-in URL to start the login flow.

Returns a URL that the user must open in a browser to complete Microsoft/Azure AD authentication. After login, WeTrack will set a session cookie and redirect to the configured success URL.

Workflow:

  1. Call this tool to get the Microsoft OAuth URL.

  2. Open the URL in your browser.

  3. Complete Microsoft login.

  4. Copy the JWT token from the WeTrack response/cookie.

  5. Call wetrack_set_token with the token to use it here.

Note: Microsoft OAuth requires browser interaction and cannot be automated fully through MCP. Use email/password sign-in for non-SSO accounts via wetrack_sign_in.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.9/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does so thoroughly. It discloses that the tool returns a URL requiring manual browser interaction, that WeTrack sets a session cookie and redirects after login, and that a JWT token must be manually copied and passed to wetrack_set_token. It accurately flags the non-automatable nature of the flow, which is essential behavioral information.

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 well-structured and efficient. It leads with the primary purpose, includes a concise return/behavior description, and then gives a numbered workflow. Every sentence contributes necessary guidance rather than padding.

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

Completeness5/5

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

Given the simplicity (0 params) and that an output schema exists, the description fully covers what an agent needs to know: the tool's purpose, the browser interaction requirement, the cookie/redirect behavior, the workflow, and the alternative for non-SSO accounts. It is complete for correct invocation and interpretation.

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

Parameters4/5

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

There are zero parameters, so the baseline of 4 applies. The description doesn't need to clarify parameter semantics beyond what the schema shows (an empty object). No additional parameter information is required.

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 function: getting the Microsoft OAuth sign-in URL to start the login flow. It distinguishes itself from wetrack_sign_in (email/password) and wetrack_set_token (using the obtained token) explicitly, so an agent can differentiate it from siblings without opening schemas.

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

Usage Guidelines5/5

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

It provides an explicit numbered workflow and explicitly notes when not to use it: 'Microsoft OAuth requires browser interaction and cannot be automated fully through MCP. Use email/password sign-in for non-SSO accounts via wetrack_sign_in.' It also instructs to call wetrack_set_token with the token, giving clear downstream usage.

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

wetrack_get_my_sprint_reportA

Current user's My Sprint report β€” progress, burndown, distributions, and ticket list for the sprint the current user is part of.

Args: sprint_id: Sprint UUID (defaults to the user's current active sprint). status_id: Filter by status ID. priority_id: Filter by priority ID. page: Page number. limit: Items per page.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
limitNo
sprint_idNo
status_idNo
priority_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 carries the behavioral disclosure burden. It usefully discloses the report contents, the default to the user's current active sprint, and filter/pagination options. It does not explicitly state that the operation is read-only, but the 'get' name and report framing make harmful side effects unlikely.

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 short and well-structured: one informative purpose line followed by a compact Args list. Every sentence contributes useful information, and the main idea is front-loaded.

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

Completeness4/5

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

Given the output schema exists and all five parameters are documented, the description is mostly sufficient for correct invocation. It could be improved by stating when to choose this over sibling report tools, but nothing essential for calling the tool is missing.

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

Parameters4/5

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

Schema description coverage is 0%, so the Args block carries the semantic weight. It explains each parameter: sprint_id as a Sprint UUID with a default, status_id and priority_id as filters, and page/limit for pagination. This adds meaningful value beyond the bare schema properties, though the filter ID formats are terse.

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 resource: the current user's My Sprint report, including progress, burndown, distributions, and ticket list. The name and scope make it distinct from other report tools, though it does not explicitly contrast siblings like wetrack_get_my_work_report.

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

Usage Guidelines2/5

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

The description implies the tool is for the current user's active sprint, but gives no explicit when-to-use guidance and does not mention alternatives or conditions for choosing a different report tool. An agent must infer usage from the name and context.

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

wetrack_get_my_work_reportB

Current user's My Work report β€” stat cards, status/priority distributions, and a ticket list scoped to what's assigned to me.

Args: project_id: Filter by project UUID. status_id: Filter by status ID. priority_id: Filter by priority ID. date_range: 'this_week', 'this_month', 'this_sprint', or 'custom'. from_date: Start of custom date range (YYYY-MM-DD). to_date: End of custom date range (YYYY-MM-DD). page: Page number. limit: Items per page.

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
limitNo
to_dateNo
from_dateNo
status_idNo
date_rangeNo
project_idNo
priority_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It discloses that the tool returns stat cards, status/priority distributions, and a ticket list scoped to the current user, and it mentions filtering and pagination parameters. However, it does not explicitly state that the operation is read-only, whether authentication or impersonation affects results, or any side effectsβ€”though this is less critical for a report 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 summary is front-loaded and the Args list is terse and readable, with no filler. Each parameter gets a one-line explanation, which is appropriate for an 8-parameter 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 an 8-parameter report tool with no annotations, the description is mostly adequate for invocation: each parameter has meaning and the return contents are summarized, with an output schema for return details. It falls short on usage guidance and on clarifying parameter relationships/defaults, so an agent must infer when to choose this over sibling report tools.

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

Parameters4/5

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

Schema description coverage is 0%, and the description compensates by documenting all 8 parameters, including allowed enums for date_range ('this_week', 'this_month', 'this_sprint', 'custom'), date format for from_date/to_date, and filter semantics for project/status/priority. It does not clarify how date_range relates to from_date/to_date, but this is a strong compensation for an otherwise bare 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 identifies a specific resource ('Current user's My Work report') and the components returned ('stat cards, status/priority distributions, and a ticket list'), with an explicit scope ('what's assigned to me'). It is clear and implicitly differentiates from sibling report tools like wetrack_get_my_sprint_report, though it does not name alternatives 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?

There is no explicit guidance on when to use this tool versus wetrack_get_my_sprint_report, wetrack_get_reports, wetrack_get_dashboard, or wetrack_list_tickets. The phrase 'scoped to what's assigned to me' implies a personal report context, but the description never states when to prefer this tool or what it is not for.

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

wetrack_get_oauth_callback_infoA

Get information about the Microsoft OAuth callback endpoint. This endpoint is called automatically by Microsoft after login β€” it resolves the identity to a WeTrack user (auto-registering on first login) and issues a session.

Returns documentation about the callback flow rather than calling the endpoint (which requires browser-level interaction with state params).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior5/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 discloses that the underlying endpoint is automatic, resolves identity, auto-registers on first login, issues a session, and that this tool specifically avoids calling the endpoint because browser-level interaction with state params is required. This is rich, accurate, and far beyond a minimal 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 compact and front-loaded, with the core purpose in the first sentence. Every subsequent sentence adds useful context about the endpoint's behavior and why this tool returns documentation instead of calling it. No filler or redundancy.

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

Completeness5/5

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

Given the tool has no parameters alert and an output schema, the description fully explains what the tool does, why it exists, and what its limitations are. An agent can correctly decide when to call it without needing additional information.

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

Parameters4/5

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

The input schema has zero parameters and 100% schema description coverage by default, so the baseline is 4. The description reinforces that no parameters are needed by explaining the tool is informational and does not perform a live callback, but it does not explicitly state 'this tool takes no parameters.'

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 information') and the specific resource ('Microsoft OAuth callback endpoint'). It further distinguishes itself by clarifying that it returns documentation about the callback flow rather than invoking the endpoint, which separates it from other OAuth-related tools like wetrack_get_microsoft_signin_url.

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 explains that the endpoint is called automatically by Microsoft after login and that this tool returns documentation rather than performing the callback. This gives clear context for when to use it, though it does not explicitly name alternative tools or state 'use this when you need flow documentation, not when you need to initiate OAuth.' The implication is strong enough to score above average.

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

wetrack_get_projectC

Get full details of a single project.

Args: project_id: The project UUID.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

Annotations are completely absent (none provided), so the description must carry the full burden of disclosing behavioral aspects. It only says 'Get full details' which is vague. It does not mention what 'full details' includes, whether the operation is read-only, any required authentication, or what happens if the project_id is invalid or not found. This is a significant gap for a data retrieval 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 very short but wastes no words. It is front-loaded with the purpose and includes a minimal parameter listing. However, it is under-specified, but conciseness is fine as there are no redundant sentences. It could be more concise by removing the redundant 'Args:' section that repeats the schema.

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 a single parameter but no annotations or output schema documentation. The description does not explain the return value structure, which is a key aspect for an agent to understand what 'full details' means. Given the tool's complexity is low, but the lack of behavioral disclosure and return format info makes it incomplete for effective use.

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

Parameters1/5

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

Schema description coverage is 0%, meaning the input schema provides no additional description for the parameter. The description only repeats the parameter name 'project_id: The project UUID.' It does not explain the format of the UUID, how to obtain it, or any constraints. The description adds almost no value beyond the schema itself.

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

Purpose4/5

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

The description states a clear verb and resource ('Get full details of a single project') and distinguishes from siblings that list projects or get related data. It is specific enough to be understood, though it does not explicitly differentiate from other 'get project' variants like wetrack_get_project_overview, but it is generally 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?

There is no guidance on when to use this tool versus alternatives. The description does not mention that it is for retrieving full details when a project ID is known, or that listing tools should be used for discovery. No exclusions or alternatives are given.

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

wetrack_get_project_overviewA

Get the complete overview dashboard analytics for a project β€” includes KPIs, ticket distributions, team stats, and progress.

Args: project_id: The project UUID.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

No annotations are present, so the description carries the full burden. It clearly implies a read-only operation via 'Get' and describes the included analytics categories. However, it does not explicitly state that it has no side effects, whether authentication is required, or any other behavioral caveats.

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

Conciseness5/5

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

The description is concise and front-loaded: the main purpose appears in the first line, followed by a compact list of what is included and a one-line parameter definition. Every sentence earns its place with no filler.

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 read operation, the required invocation information is present: the tool's purpose, included data categories, and the single required parameter as a UUID. The output schema covers return structure. The main gap is the lack of differentiation from overlapping sibling tools, which prevents an agent from confidently selecting this tool over them.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It does so by defining project_id as 'The project UUID', which adds semantic meaning beyond the bare string type in the schema. For a single parameter, this is sufficient, though it could include more format or source guidance.

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 opens with a specific verb and resource: 'Get the complete overview dashboard analytics for a project' and lists concrete contents (KPIs, ticket distributions, team stats, progress). It is clear, but it does not explicitly distinguish itself from overlapping siblings like wetrack_get_project, wetrack_get_project_stats, wetrack_get_project_reports, or wetrack_get_dashboard.

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 the many closely related sibling tools. No alternatives, exclusions, or decision criteria are provided, so an agent cannot tell whether to call this instead of get_project_stats, get_project_reports, or get_dashboard.

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

wetrack_get_project_reportsC

Get comprehensive reports and analytics for a project.

Args: project_id: The project UUID. sprint_id: Optional sprint UUID to scope stats to a specific sprint.

ParametersJSON Schema
NameRequiredDescriptionDefault
sprint_idNo
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions that sprint_id scopes stats to a specific sprint, which is useful, but it does not disclose whether the operation is read-only or has side effects, what the response format is (though output schema exists), or any rate limits or caching. The description is minimal and does not add significant behavioral context beyond the basic parameters.

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

Conciseness3/5

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

The description is short and to the point, with the argument list included. However, it is not optimally structured: the purpose is stated in one sentence, and the Args section duplicates parameter information without adding much semantic depth. It is concise but could be more effective with a clearer main description and less repetitive parameter listing.

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 moderate complexity (a reporting tool with an optional sprint filter) and the lack of annotations, the description is insufficient. The output schema exists, so return values are somewhat defined, but the description does not explain what 'comprehensive reports' contain, what analytics are included, or how the sprint_id affects the output. An agent would need to inspect the output schema or make assumptions. There is also no mention of related tools for comparison.

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

Parameters2/5

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

Schema description coverage is 0%, meaning the schema's property names ('project_id', 'sprint_id') are self-explanatory but lack descriptions. The tool description adds some value by explaining the sprint_id scoping, but it does not clarify the format of project_id (UUID is mentioned) or any constraints on sprint_id. It does not compensate for the lack of schema descriptions, especially since there is no guidance on what constitutes valid values.

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

Purpose4/5

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

The description states the tool gets 'comprehensive reports and analytics for a project,' which is clear about the verb and resource. It distinguishes it from sibling tools like wetrack_get_project and wetrack_get_project_stats, though not explicitly naming them. The purpose is specific enough for an agent to understand the general function, but it could be more explicit about what 'reports' include.

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 wetrack_get_project_stats, wetrack_get_project_overview, or wetrack_get_reports. With many similar reporting tools among siblings, the lack of differentiation means an agent might struggle to choose correctly. No context on prerequisites or typical scenarios is given.

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

wetrack_get_project_sprintsA

Get all sprints for a project including statistics and progress metrics.

Args: project_id: The project UUID.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the burden of disclosing behavior. It conveys a read-only retrieval action and mentions the included statistics/progress metrics, but it does not mention pagination, auth requirements, limitations, or any other behavioral traits beyond the basic 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, front-loads the purpose, and includes only the necessary argument detail. Every sentence earns its place with no redundancy or filler.

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 low-complexity tool with a single required parameter and an output schema, the description is largely complete. It could be improved by clarifying how this relates to sibling sprint tools, but the core invocation context is provided.

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

Parameters4/5

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

The schema only defines project_id as a string, so the description's 'The project UUID' adds meaningful format semantics. Even though schema description coverage is 0%, the description adequately compensates for the single parameter.

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 a specific verb ('Get') and resource ('all sprints for a project') and adds useful detail about including statistics and progress metrics. It does not explicitly differentiate itself from sibling tools like wetrack_list_sprints or wetrack_get_sprint, but the project-scoped wording makes the purpose reasonably distinct.

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 when to use this tool: when you need all sprints for a specific project along with stats and progress metrics. However, it offers no explicit guidance about when not to use it or how it compares to alternatives such as wetrack_list_sprints or wetrack_get_sprint.

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

wetrack_get_project_statsA

Get dashboard statistics β€” summary totals, top projects by progress, and upcoming project deadlines.

Args: top_limit: Number of top projects to return (default: 5). deadlines_limit: Number of upcoming deadlines to return (default: 3).

ParametersJSON Schema
NameRequiredDescriptionDefault
top_limitNo
deadlines_limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

There are no annotations, so the description is the only signal about side effects, authentication, or scope. It conveys a read-only retrieval ('Get') and specifies the returned categories, which is transparent for a simple stats endpoint, but it omits any mention of authentication requirements, data scope, or whether the statistics are real-time. It does not contradict anything.

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 short headline plus two labeled argument lines; there is no filler or tautology. It is front-loaded with the result summary and every sentence earns its place.

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

Completeness4/5

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

With only two optional, self-explanatory parameters and an output schema present, the description covers the invocation essentials. It is still somewhat thin on scope and on how this relates to the broader dashboard/report sibling tools, but that is a usage-guidance gap rather than a blocking completeness gap.

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

Parameters5/5

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

The input schema contains no property descriptions (0% coverage), but the description documents both parameters with their semantics and defaults: top_limit controls the number of top projects and deadlines_limit controls the number of upcoming deadlines. This fully compensates for the schema gap.

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

Purpose4/5

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

The description uses a specific verb ('Get') and names the resource ('dashboard statistics') while enumerating the concrete outputs: summary totals, top projects by progress, and upcoming deadlines. It is clear about what the tool does, but it does not explicitly distinguish it from sibling dashboard/report tools such as wetrack_get_dashboard or wetrack_get_project_overview.

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

Usage Guidelines2/5

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

No guidance is given about when to prefer this tool over alternatives like wetrack_get_dashboard or wetrack_get_reports, and there are no exclusion criteria. The reader must infer from the name and summary that this is the dashboard-stats entry point.

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

wetrack_get_project_usersA

Get all team members mapped to a project (derived from ticket assignees). Returns {id, name, email, role, designation} per user.

Args: project_id: The project UUID.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the behavioral disclosure burden. It makes the read-only nature clear via 'Get' and usefully reveals that membership is not stored separately but derived from ticket assignees, which is a non-obvious behavioral trait. It does not discuss authentication or edge cases, but for a simple list retrieval this is adequate.

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 short and front-loaded: the core purpose is in the first sentence, the return shape follows immediately, and the parameter is documented separately. Every sentence contributes useful information without repetition 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 one-parameter getter with an output schema, the description supplies everything needed to invoke it correctly: purpose, data source, return object fields, and parameter format. Nothing critical is missing for an agent to select and call the tool.

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

Parameters4/5

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

The schema gives only `project_id` as a string with title 'Project Id,' so schem coverage is effectively 0%. The description compensates by specifying that the parameter is 'The project UUID,' adding format semantics absent from the schema. For a single required parameter, this is sufficient.

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 names a specific verb and resource: 'Get all team members mapped to a project.' It also adds a clarifying qualifier ('derived from ticket assignees') that separates it from get_project, list_users, and other project/user getters. The tool's purpose is immediately distinguishable from its siblings.

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 gives clear context for when to call it: retrieving the team member set for a given project. It does not explicitly name alternatives or state when not to use it, but the narrow getter purpose, combined with the sibling list, makes the intended use obvious enough.

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

wetrack_get_recent_projectsA

Get the most recently accessed projects for the authenticated user.

Args: limit: Max projects to return (1-10, default: 4).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

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

There are no annotations, so the description carries the full burden. It clearly indicates a read-only operation ('Get') scoped to the authenticated user, but it does not define what 'recently accessed' means, how recency is determined, or whether any access-tracking side effects occur. Adequate for a simple getter, but not rich.

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

Conciseness5/5

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

The description is two compact sentences with a front-loaded purpose statement followed by a clear parameter block. No filler or redundant 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 tool with one optional parameter, no annotations, and an output schema present, the description covers the purpose and parameter behavior sufficiently. It is slightly thin on how 'recently accessed' is determined and how this differs from listing all projects, but an agent can still call it correctly.

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

Parameters5/5

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

The input schema only provides the parameter name and default, while the description adds the meaning ('Max projects to return'), the valid range (1-10), and confirms the default (4). This fully compensates for the 0% schema description 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 uses a specific verb ('Get') and a precise resource ('most recently accessed projects for the authenticated user'). The scope and recency qualifier clearly distinguish it from sibling tools like wetrack_list_projects or wetrack_get_project.

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

Usage Guidelines3/5

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

The description implies the use case: retrieving a user's recent projects. However, it does not explicitly say when to prefer this over wetrack_list_projects or otherwise name alternatives, so the agent must infer the selection criteria from the resource wording alone.

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

wetrack_get_reportsA

Unified Reports Dashboard β€” scoped dynamically for Admin/Manager/Employee. Includes stat cards, status/priority distributions, project progress, sprint burndown, and summary table.

Args: project_id: Filter by project UUID. sprint_id: Filter by sprint UUID. status_id: Filter by ticket status ID. priority_id: Filter by ticket priority ID. user_id: Scope to tickets assigned to this user UUID. burndown_range: Burndown scope β€” 'this_month', 'this_week', 'last_30_days', 'custom'. burndown_from: Start date for custom burndown range (YYYY-MM-DD). burndown_to: End date for custom burndown range (YYYY-MM-DD). page: Page number (default: 1). limit: Rows per page (default: 10).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
limitNo
user_idNo
sprint_idNo
status_idNo
project_idNo
burndown_toNo
priority_idNo
burndown_fromNo
burndown_rangeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

With no annotations provided, the description must carry the full behavioral disclosure burden. It describes what data is included but omits key behaviors: whether it's read-only, how filters combine, pagination semantics, data freshness, or any side effects. The 'scoped dynamically' phrase is vague and unhelpful.

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

Conciseness5/5

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

The description is efficiently structured: a one-line purpose statement followed by a clean, alphabetized list of parameters with terse explanations. Everything earns its place, 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 optional parameters and an output schema, the description enumerates parameters well but lacks guidance on when to use the tool (vs. siblings), any prerequisites (e.g., authentication), or how filters interact. The existence of an output schema covers return values, so the remaining gaps are in usage context and behavioral detail.

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

Parameters5/5

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

The input schema has zero descriptions (0% coverage), and the description provides clear, actionable semantics for every parameter. It explains the role of each filter (e.g., 'project_id: Filter by project UUID'), lists valid values for burndown_range, and specifies date formats. This fully compensates for the schema gap.

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

Purpose4/5

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

The description clearly states it is a 'Unified Reports Dashboard' and lists the contents (stat cards, distributions, burndown, summary table), giving a precise purpose. However, it does not differentiate from sibling reporting tools like wetrack_get_dashboard or wetrack_get_project_reports, so it's not fully distinct.

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 is for a comprehensive/unified report, but it does not explicitly state when to use this tool over alternatives, nor any exclusions or prerequisites. Usage context is only implied, not stated.

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

wetrack_get_reports_catalogA

List every report available to the current user's role. Shows dataSource type ('existing', 'generic', 'custom') and default metric/dimension/chartType to use when creating a widget.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

No annotations are present, so the description carries the burden. It transparently states role-based scoping and the output fields (dataSource, metric/dimension/chartType defaults), and the verbs 'List'/'Shows' imply a read-only operation. It does not discuss pagination, errors, or auth, but for a zero-parameter catalog these are minor gaps.

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

Conciseness5/5

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

Two short sentences, front-loaded with the core behavior and immediately followed by the return-value details. No filler, repeated information, or redundant phrasing.

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 an empty input schema and an output schema present, the description covers what the tool does and what it returns. It is complete enough for an agent to invoke correctly, though explicit sibling differentiation would strengthen it further.

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

Parameters4/5

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

The input schema is empty (0 parameters), so there are no parameter meanings to document. The description adds no parameter detail, which is unnecessary here; baseline for zero-parameter tools is 4.

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

Purpose5/5

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

The description opens with a specific verb ('List') and a bounded resource ('every report available to the current user's role'), then enumerates the exact fields returned (dataSource type, default metric/dimension/chartType). This makes it distinguishable from sibling report tools like wetrack_get_reports by framing it as a widget-creation catalog rather than a report-data fetch.

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

Usage Guidelines3/5

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

The description gives a clear use-case signal ('to use when creating a widget'), but it never names alternatives or says when not to use this tool vs wetrack_get_reports/wetrack_get_project_reports. The guidance is therefore implied rather than explicit, leaving sibling selection to inference.

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

wetrack_get_sprintA

Get full details of a single sprint.

Args: sprint_id: The sprint UUID.

ParametersJSON Schema
NameRequiredDescriptionDefault
sprint_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

With no annotations provided, the description carries the full behavioral disclosure burden. It only says 'Get full details', implying a read operation, but does not disclose authentication needs, error behavior, or any other operational 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 compact and front-loaded: a single clear purpose sentence followed by a minimal parameter explanation. There is no filler or redundant elaboration.

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 one-parameter get-by-id tool with an output schema, this is nearly adequate. However, it lacks any usage guidance relative to sibling sprint tools and provides no behavioral context such as permissions or not-found behavior.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. The Args section says 'sprint_id: The sprint UUID', which adds meaning beyond the schema's generic 'Sprint Id' string by specifying the expected format.

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 states a specific verb ('get'), a specific resource ('sprint'), and a clear scope ('single sprint', 'full details'). This clearly distinguishes it from list-style sprint tools like wetrack_list_sprints and wetrack_get_project_sprints.

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. It does not mention using wetrack_list_sprints for enumerating sprints or wetrack_get_project_sprints for a project's sprints, and it gives no selection criteria.

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

wetrack_get_ticketA

Get full details of a single ticket by its ID. Returns different shapes for work items (EPIC/STORY/TASK/BUG) vs support tickets.

Args: ticket_id: The ticket UUID or numeric ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticket_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

Annotations are absent, so the description carries the behavioral burden. It discloses that the response shape varies by ticket type (work item vs support), which is useful. However, it omits potential error conditions, permissions, or read-only guarantees, which are not covered by any annotation.

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

Conciseness5/5

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

Two concise sentences plus a brief Args section. No fluff; every element earns its place. The key info is front-loaded.

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?

A single-parameter get tool with an output schema present, so return format is already defined. The description covers the essential variation in return shapes and the parameter format. Nothing critical is missing.

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

Parameters4/5

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

Schema has 0% description coverage, but the description explicitly explains that ticket_id accepts 'UUID or numeric ID.' This adds meaningful semantics beyond the schema's generic string type, helping the agent format the parameter correctly.

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?

States a specific verb and resource: 'Get full details of a single ticket by its ID.' It distinguishes from siblings like history, attachments, and comments by implying comprehensive retrieval. The differentiation between work items and support tickets 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 Guidelines4/5

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

The description clearly implies this is the main retrieval tool for full ticket details, contrasted with siblings that fetch specific aspects (history, attachments, comments). It does not explicitly state when not to use it, but the context is unambiguous for most use cases.

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

wetrack_get_ticket_attachmentsB

List all file attachments on a ticket.

Args: ticket_id: The ticket UUID.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticket_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

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

No annotations exist, so the description carries the full behavioral burden, but it only repeats the basic listing behavior without disclosing details like authorization needs, pagination, ordering, or error behavior. It does not contradict any annotations because none are provided.

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 very short, front-loads the purpose, and includes only the essential parameter note. No redundant text or unnecessary detail is present.

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 one required parameter and an output schema, so the description is minimally viable. However, it lacks any behavioral or usage context that would help an agent handle edge cases or choose this over related ticket 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 0%, and the description adds 'The ticket UUID', which clarifies that ticket_id should be a UUID rather than an arbitrary identifier. However, it gives no format example or guidance on how to obtain the UUID, so the compensation is only partial.

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 states a specific verb ('List') and resource ('file attachments on a ticket'), making the tool's function immediately clear. It is also distinguishable from sibling tools like add/delete_ticket_attachment and get_ticket_comments.

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 wetrack_get_ticket_comments or wetrack_get_ticket_history. There are no use-case conditions, prerequisites, or exclusions mentioned.

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

wetrack_get_ticket_categoryB

Get a single ticket category by ID.

Args: category_id: The category ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
category_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of behavioral disclosure. It only says 'get,' implying a read-only operation, but it does not disclose any behavior such as whether the ID must be an internal ID, what happens if the category is not found, whether filtering or project scoping applies, or any authentication expectations. Minimal behavioral context is provided beyond the operation name.

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 short and front-loaded with the main purpose. The Args section is somewhat redundant but structured and easy to parse. No wasted words, though it could have used the space saved to add more useful guidance.

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 one-parameter retrieval tool with an output schema, the description is minimally adequate: an agent knows the resource, the single argument, and that it returns a category. However, it lacks usage context, error behavior, and any clarity about the ID format, so it is not fully complete.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It does provide 'category_id: The category ID,' but this is essentially restating the parameter name and title. It does not clarify the ID format, whether it is a UUID, numeric ID, or opaque string, or any constraints on the 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?

The description says 'Get a single ticket category by ID,' which uses a specific verb and resource, and explicitly distinguishes it from sibling tools like list_ticket_categories which retrieve multiple categories. The intent is unambiguous and matches the tool's name and schema.

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 explain when to use this tool versus alternatives such as list_ticket_categories or update_ticket_category. It only states the basic operation, leaving usage context entirely implicit. There is no mention of prerequisites, when not to use it, or relationship to related category tools.

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

wetrack_get_ticket_commentsA

Get all comments on a ticket, in chronological order.

Args: ticket_id: The ticket UUID.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticket_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. It communicates a read-only operation, complete scope ('all comments'), and ordering, but it does not disclose pagination, authentication requirements, or behavior when a ticket has no comments or an invalid UUID.

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 compact, front-loads the main behavior and ordering, and includes only the essential parameter detail. Every sentence contributes value, with no redundant filler.

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 single-parameter read-only ticket sub-resource with an output schema available, the description supplies the necessary invocation information. It could be slightly stronger with explicit guidance about pagination or the relationship to get_ticket_history, but nothing essential is missing for a basic call.

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

Parameters4/5

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

The schema provides only the parameter name and type, with no description, so the tool description compensates by defining ticket_id as 'The ticket UUID.' This adds genuinely useful format information 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 states a specific action and resource: 'Get all comments on a ticket' and adds the ordering guarantee 'in chronological order.' This clearly separates it from sibling tools like wetrack_get_ticket_history or wetrack_add_ticket_comment.

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 intended use is implied by the description: call this when you need the comment thread for a ticket. However, it does not explicitly mention alternatives or exclusions, such as when wetrack_get_ticket_history might be more appropriate.

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

wetrack_get_ticket_historyA

Get the full audit history/changelog for a ticket. Shows every field change with who made it and when.

Args: ticket_id: The ticket UUID.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticket_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden, and it does disclose the key behavior: the returned data is the full audit/changelog including every field change, the actor, and the timestamp. It could add more about ordering, pagination, or error behavior, but the core semantics of a read-only history lookup are clearly conveyed.

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 plus a one-line Args section, with no filler. The main behavior is front-loaded in the first sentence, and the parameter note is immediately relevant.

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 one-parameter read-only getter with no nested objects and an output schema available, the description is complete enough for an agent to call it correctly. It states the input, the resource, and the nature of the returned history.

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

Parameters4/5

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

Schema coverage is 0%, so the description must compensate, and it does by identifying ticket_id as 'The ticket UUID' rather than just repeating the schema title. This is sufficient for a single-parameter tool, though it does not specify UUID format or how to find the 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 uses a specific verb and resource ('Get the full audit history/changelog for a ticket') and defines the scope by saying it shows every field change with who made it and when. This clearly distinguishes it from sibling ticket tools like get_ticket_comments or get_ticket_watchers.

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 clearly implies use when a ticket's change history is needed, but it never states when to prefer this tool over alternatives or when not to use it. There is no explicit mention of sibling tools such as wetrack_get_ticket for current state or wetrack_get_ticket_comments for comments.

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

wetrack_get_ticket_priorityB

Get a single ticket priority by ID.

Args: priority_id: The priority ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
priority_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 disclosure burden but only states the operation. It doesn't mention response format, not-found behavior, permissions, or that it is safe/read-only beyond the word 'Get'.

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

Conciseness5/5

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

Two short, front-loaded sentences carry the entire description with no fluff. The Args line is minimal and directly maps to the single parameter.

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 one-parameter getter with an output schema provided, the description is nearly sufficient. It lacks usage/behavior context, but the low complexity and output schema cover what an agent mostly needs.

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

Parameters2/5

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

Schema coverage is 0%, so the description should compensate for the parameter. 'priority_id: The priority ID' is essentially redundant with the schema title and adds no format, source, constraints, or example.

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 states a specific verb ('Get'), the resource ('ticket priority'), and the scope ('a single ... by ID'). This clearly distinguishes it from list/create/update/delete priority siblings.

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

Usage Guidelines2/5

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

No guidance is given about when to call this versus wetrack_list_ticket_priorities or other ticket getters. The phrase 'by ID' implies a lookup use case, but no explicit 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.

wetrack_get_ticket_productB

Get a single ticket product by ID.

Args: product_id: The product ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 carries the full burden. It only restates the operation and gives no details about not-found behavior, errors, permissions, or side effects. The presence of an output schema covers return shape, but behavioral edge cases remain undisclosed.

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 operation statement is short and front-loaded. However, the 'Args:' block is redundant with the input schema and does not add real value, so the description is concise but not perfectly economical.

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 single-parameter getter with an output schema present, this is minimally adequate. It does not address failure cases or how to discover a valid product_id, but the low complexity and available output schema keep the gap modest.

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

Parameters2/5

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

The description documents product_id as 'The product ID,' which merely repeats the schema's title 'Product Id' and adds no format, source, or additional semantics. With 0% schema description coverage, the description should compensate but does not.

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 states a specific verb and resource: 'Get a single ticket product by ID.' It clearly distinguishes itself from sibling tools like wetrack_list_ticket_products, wetrack_create_ticket_product, and wetrack_update_ticket_product.

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 phrase 'by ID' implies this tool should be used when a specific product_id is already known, and siblings cover listing and creation. However, there is no explicit guidance about when to prefer this tool over alternatives or what to do if the ID is unknown.

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

wetrack_get_ticket_statusA

Get a single ticket status by ID.

Args: status_id: The status ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
status_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description carries the transparency burden. 'Get' clearly signals a read-only operation with no destructive side effects, but it does not disclose not-found behavior, error cases, or access requirements. The basic behavior is transparent, but no deeper behavioral context is provided.

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

Conciseness4/5

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

The description is short and front-loaded with the core purpose. The args section is somewhat redundant with the schema but not bloated. It earns its place by being immediately scannable.

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 single-get operation with one required parameter and an output schema present, the description is nearly complete. It lacks only explicit sibling differentiation and error behavior, but the simplicity of the operation keeps the gap small.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate. It only repeats 'The status ID', which adds no meaning beyond the parameter name 'status_id' and its string type. No format, source, or relationship guidance is given.

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 states a specific verb ('Get'), resource ('ticket status'), and lookup mode ('by ID'). It clearly distinguishes from sibling wetrack_list_ticket_statuses (plural list) and wetrack_get_ticket (different resource, a ticket rather than a 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?

Usage is only implied: 'by ID' suggests direct lookup of one specific status. The description does not explicitly mention when to prefer it over wetrack_list_ticket_statuses or any other alternative, but the singular framing offers reasonable guidance.

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

wetrack_get_ticket_typeA

Get a single ticket type by ID.

Args: type_id: The ticket type ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
type_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the full behavioral burden. It accurately conveys a read-only single-resource retrieval, but it adds no further traits such as error behavior, required auth, or response details; the output schema presumably covers the return shape.

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

Conciseness4/5

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

The description is short and front-loaded, with one clear sentence and no filler. The Args block is somewhat redundant with the input schema, but the overall size is appropriate.

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 one-parameter fetch, the core information is present, and an output schema exists. Missing usage guidance and behavioral caveats keep it from being fully self-sufficient, though the operation's complexity is low.

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 0%, and the only parameter note, 'type_id: The ticket type ID,' mostly restates the parameter name and title. It minimally clarifies that the string is an identifier, but it does not specify format, source, or constraints beyond what the schema already shows.

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 states 'Get a single ticket type by ID,' naming a concrete verb, resource, and selection criterion. It clearly distinguishes this from list/create/update ticket type 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?

There is no explicit statement of when to use this vs wetrack_list_ticket_types or the other ticket-type tools. The 'single ... by ID' phrasing implies the intended use, but no alternatives or exclusions are named.

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

wetrack_get_ticket_watchersA

Get the watch/follow status and list of watchers for a ticket.

Args: ticket_id: The ticket UUID.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticket_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral disclosure burden. 'Get' signals a read-only operation and names the returned data, but it does not clarify whether the status is the current user's watch status or an aggregate, nor mention authentication expectations or pagination.

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 short sentences with no filler. The primary purpose is front-loaded, and the ticket_id explanation adds necessary semantic value without redundancy.

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?

This is a simple single-parameter read tool, and an output schema exists to handle return-value documentation. The description covers what is retrieved and the required input; only minor gaps like authentication assumptions and status ambiguity remain.

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

Parameters4/5

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

The schema only provides 'Ticket Id' as a title with no description, so the description's 'The ticket UUID' adds a meaningful format constraint. For a single required parameter, this is adequate semantic 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 opens with a specific verb and resource: 'Get the watch/follow status and list of watchers for a ticket.' It is clearly distinct from related siblings like wetrack_toggle_ticket_watch, though it does not explicitly name or contrast an alternative.

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 wetrack_toggle_ticket_watch or wetrack_get_ticket. The expected usage is only implied by the name and one-line description, leaving the agent to infer context.

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

wetrack_get_unread_notification_countA

Get the total number of unread notifications for the authenticated user. Useful for showing a badge count.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden. It discloses the read-only nature ('Get') and the authenticated scope, but gives no further behavioral details such as output format, performance characteristics, or error handling. For a trivial count operation this is adequate, but it is not rich.

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

Conciseness5/5

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

Two short, purposeful sentences. The first states the core function; the second provides a real-world use case. No filler or redundant phrasing, and the key action is front-loaded.

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 parameterless tool with an output schema, the description is fully sufficient. It explains what the tool returns (a count), who it applies to (authenticated user), and when to use it (badge count). Nothing an agent needs to call it correctly is missing.

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

Parameters4/5

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

The tool has zero parameters, so the input schema is trivially complete (100% coverage). The description does not need to add parameter meaning. Per the rubric, the baseline for 0 parameters is 4, and there is no deficiency to lower 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 ('Get'), the resource ('total number of unread notifications'), and the scope ('for the authenticated user'). It is easily distinguishable from siblings like wetrack_list_notifications (which returns a list) and the mark-as-read tools, as it explicitly targets a count.

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 gives a concrete use case ('Useful for showing a badge count'), which tells the agent when to invoke it. However, it does not explicitly contrast with alternatives or state when not to use it, so it stops short of a 5. The context 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.

wetrack_get_upload_instructionsA

Get instructions on how to upload files to WeTrack via S3.

Since MCP cannot directly stream binary files, this tool explains the complete upload workflow so you can guide the user correctly.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden. It discloses that the tool only provides instructions and does not perform the upload, and explains the MCP limitation that necessitates this tool. It does not detail the output structure, but for a simple informational tool, this is adequate 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 two sentences with no fluff. The first sentence front-loads the purpose, and the second provides the rationale. Every word earns its place.

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

Completeness5/5

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

Given that there are no parameters and an output schema exists (as indicated by context signals), the description is sufficient for an agent to understand what the tool does and when to call it. It clearly states the tool's role in the upload workflow.

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

Parameters4/5

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

The tool has zero parameters, so there is nothing to explain. The schema coverage is trivially 100% and the description adds no parameter-related information because none exist. The baseline for 0-parameter tools is 4, which 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 instructions' and the resource 'how to upload files to WeTrack via S3'. It distinguishes itself from sibling tools like wetrack_get_upload_presign_url (which likely provides a presigned URL) and wetrack_add_project_file (which actually adds a file) by focusing on the instructional workflow.

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 explains the context: 'Since MCP cannot directly stream binary files, this tool explains the complete upload workflow so you can guide the user correctly.' This implies when to use itβ€”when the user needs guidance on uploading because direct streaming is impossible. It does not explicitly name alternatives, but the rationale is clear enough for an 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.

wetrack_get_upload_presign_urlA

Generate an S3 pre-signed upload URL for direct browser-side file uploads.

This is step 1 of the two-step upload flow:

  1. Call this to get a presigned PUT URL and the final S3 file URL.

  2. The client/browser PUTs the file binary directly to the presigned URL.

  3. Use the final S3 URL in wetrack_add_ticket_attachment or wetrack_add_project_file to register the file in WeTrack.

Args: file_name: Original file name e.g. 'screenshot.png', 'report.pdf'. file_type: MIME type e.g. 'image/png', 'application/pdf', 'video/mp4'.

Returns: presignedUrl: The S3 PUT URL to upload the file to (expires in ~15 min). url: The final public S3 URL to use as the attachment URL in WeTrack.

ParametersJSON Schema
NameRequiredDescriptionDefault
file_nameYes
file_typeYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior4/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 reveals the key behavioral details: the presigned URL expires in ~15 minutes, the client/browser must perform the PUT, and the final URL is used later. It does not mention authentication or side effects, but for a read-oriented URL generator this is adequate 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 well-structured with a clear purpose statement, numbered workflow steps, an Args section, and a Returns section. It front-loads the core purpose and then logically details the flow. Every sentence adds value, with no redundant filler.

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?

The description covers the complete workflow, including how to use the returned URL with sibling tools, the parameter format, and the return values (presignedUrl and url). It mentions the 15-minute expiry, which is critical for timing. Given the output schema exists (though not shown), the description sufficiently covers all necessary context for an agent to invoke and use this tool correctly.

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

Parameters5/5

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

The input schema has 0% description coverage, so the description must fully compensate. It provides concrete examples for both parameters: 'file_name: Original file name e.g. 'screenshot.png'' and 'file_type: MIME type e.g. 'image/png''. This gives an agent clear guidance on format and expected values, exceeding what the schema alone offers.

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 states a specific verb and resource: 'Generate an S3 pre-signed upload URL for direct browser-side file uploads.' It clearly explains the tool's role as the first step of a two-step upload flow, which distinguishes it from the attachment-registration siblings (wetrack_add_ticket_attachment, wetrack_add_project_file) that consume its output.

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

Usage Guidelines5/5

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

Explicitly describes when to use it: 'This is step 1 of the two-step upload flow' and walks through the exact sequence, including which subsequent tools to call with the returned URL. It leaves no ambiguity about the intended workflow, though it does not mention when not to use it; the clear step-by-step guidance is sufficient.

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

wetrack_get_userB

Get a single user's details by their ID.

Args: user_id: The user UUID or integer ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only says 'Get a single user's details' with no mention of what fields are returned, whether the ID can be UUID or integer (though the Args line does mention that), or any error/not-found behavior. For a read operation, the lack of return-format or error context is a notable gap.

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

Conciseness4/5

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

The description is short and front-loaded with the core purpose. The Args line is useful and not redundant with the schema. It earns its place, though it could be slightly more structured with a 'Returns' section.

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 single-parameter getter, the description is mostly adequate: it states the resource, the parameter, and the ID format. However, with no annotations and no mention of return shape or error behavior, an agent might not know what to expect from the output. The output schema exists, which lowers the burden, but the description still lacks behavioral 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 0%, but the description's Args section adds meaning: 'The user UUID or integer ID.' This clarifies the accepted format beyond the schema's bare 'string' type. However, it doesn't explain how to obtain the ID or any constraints (e.g., required, uniqueness), so it only partially compensates.

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

Purpose4/5

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

The description states a specific verb ('Get') and resource ('a single user's details by their ID'), which clearly distinguishes it from list-oriented tools like wetrack_list_users. It doesn't explicitly name a sibling alternative, but the singular 'single user' vs. the sibling 'list_users' makes the purpose clear.

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 when to use it: when you need one user's details by ID. It doesn't explicitly say 'use wetrack_list_users to search/find users' or mention any exclusions, but the context of siblings and the singular phrasing provide adequate implied guidance.

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

wetrack_get_webhook_infoA

Get information about the WeTrack inbound email webhook endpoint. This endpoint is called by Resend (or any Svix-compatible provider) when an inbound email is received and creates a ticket automatically.

Returns documentation about the webhook setup rather than calling the endpoint (which requires Svix signature headers from the provider).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the full behavioral burden. It does this well by stating that the tool returns documentation rather than invoking the endpoint and notes that direct invocation would require Svix signature headers. This effectively communicates a read-only, no-side-effect behavior, though it does not explicitly discuss WeTrack API authentication or other potential constraints.

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 three sentences with no wasted words. The first sentence states the core purpose, the second provides necessary domain context, and the third delivers the critical behavioral caveat about not calling the endpoint directly. Every sentence earns its place.

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 no-parameter tool with an output schema, the description is fully sufficient: it states the resource, the domain context, and the important distinction between retrieving documentation and invoking the webhook. Nothing needed for an agent to decide whether to call this tool is missing.

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

Parameters4/5

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

The tool has zero parameters and the schema already reflects this with an empty properties object, so there is nothing for the description to add. The baseline for a no-parameter tool is 4, and the description makes no contradictory or redundant parameter claims.

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 opens with a specific verb and resource: 'Get information about the WeTrack inbound email webhook endpoint.' It also adds distinct context by explaining the endpoint's role in inbound email-to-ticket creation, making it easy to distinguish from the many other wetrack_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?

The description clearly explains what the tool is for and explicitly warns that it 'returns documentation about the webhook setup rather than calling the endpoint,' which prevents an agent from using it to trigger the webhook. It does not name specific sibling alternatives, but the usage context is clear enough for a tool with no direct sibling analog.

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

wetrack_get_widget_dataA

Run a widget's metric+dimension query and return chart-ready data. Returns label/value pairs (one per group, up to 50 groups).

Args: widget_id: Widget ID from wetrack_list_widgets or wetrack_create_widget.

ParametersJSON Schema
NameRequiredDescriptionDefault
widget_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations provided, the description carries the behavioral burden. It discloses the return shape (label/value pairs, up to 50 groups) and the chart-ready format, which is useful. While it does not explicitly state read-only or auth requirements, the query nature and absence of side-effects are reasonably transparent for an agent.

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 short, front-loaded sentences that immediately state the query, return format, and param source. Every sentence earns its place with no padding or irrelevant information.

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 single-parameter read-only widget with an output schema available, the description gives enough to call it confidently: what it does, what it returns, and where to obtain the parameter. Nothing missing to prevent an agent from invoking it successfully.

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

Parameters4/5

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

Schema coverage is 0%, so the description must compensate. It does this by defining widget_id as the ID from wetrack_list_widgets or wetrack_create_widget, giving the agent a concrete source for a meaningful value beyond the schema alone.

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?

States a clear specific action ('Run a widget s metric+dimension query') and return chart-ready data, with a concrete resource and output format. It is easily distinct from sibling widget tools like list/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 Guidelines4/5

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

The description implies when to use by instructing that widget_id should come from wetrack_list_widgets or wetrack_create_widget, which provides a clear retrieval context. It does not list explicit when-not-to-use scenarios, but the intent is clear and no competing alternative is apparent.

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

wetrack_impersonateA

[Admin only] Start an impersonation session β€” log in AS another user. Use wetrack_exit_impersonation to restore the admin session.

Args: target_user_id: UUID of the user to impersonate.

ParametersJSON Schema
NameRequiredDescriptionDefault
target_user_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

With no annotations, the description must carry behavioral disclosure. It mentions the admin requirement and the exit path, but does not explicitly state that the current admin session is suspended or any side effects (e.g., audit logging, permission changes). For a state-changing operation, more transparency would be beneficial.

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 plus an arg list, front-loading the purpose and the sibling. No wasted words; efficient and well-structured.

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?

The description is adequate for a simple impersonation tool: it states the purpose, the prerequisite, and the way to revert. It doesn't describe return values or error scenarios, but the output schema may cover returns. Given that it's an admin operation, it could be slightly more complete, but it's still functional.

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

Parameters5/5

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

The description explains the target_user_id parameter as 'UUID of the user to impersonate,' adding meaning beyond the schema's bare string type. This fully compensates for the lack of schema descriptions (0% 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?

Clearly states the verb and resource: 'Start an impersonation session β€” log in AS another user.' It distinguishes from the sibling wetrack_exit_impersonation by naming the complementary action, 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 Guidelines4/5

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

Explicitly names the sibling tool wetrack_exit_impersonation for restoring the admin session, and specifies that it is 'Admin only,' providing a clear usage condition. However, it doesn't elaborate on when not to use it beyond the admin restriction.

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

wetrack_list_clientsA

Retrieve list of all client organisations accessible by the current user.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/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 carry the behavioral disclosure burden. 'Retrieve list' signals a read-only operation, and 'accessible by the current user' communicates authorization scoping. It does not mention auth prerequisites, pagination, or absence of side effects explicitly, leaving some gaps.

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 with no redundant filler. Every phrase adds meaning: verb, resource, and scope.

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 zero-parameter list operation with an output schema available, this is largely complete: it names the returned entity and the user-scoping rule. The only notable omission is clarifying its relationship to the similarly named wetrack_list_organisations sibling, so it stops just short of full completeness.

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

Parameters4/5

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

The input schema has zero properties, so there are no parameters to document. The description's reference to 'client organisations' supplies the conceptual entity for the empty schema, meeting the 0-parameter 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?

States a specific verb ('Retrieve list') and a concrete resource ('client organisations'), scoped to the current user's accessibility. It clearly conveys what the tool returns, but it does not explicitly differentiate it from the similar sibling wetrack_list_organisations.

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 about when to choose this tool over wetrack_list_organisations, wetrack_get_client, or other list tools. The scope phrase 'accessible by the current user' provides some context, but no exclusions or alternative routing are stated.

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

wetrack_list_metadata_fieldsB

Get all custom metadata field definitions.

Args: resource_type: Filter by resource β€” 'TICKET', 'PROJECT', or 'SPRINT'. ticket_type: Filter by ticket type β€” 'EPIC', 'STORY', 'TASK', 'BUG'. Only meaningful when resource_type is 'TICKET'. is_active: Filter by active status. page: Page number (default: 1). limit: Items per page (default: 10).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
limitNo
is_activeNo
ticket_typeNo
resource_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior3/5

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

With no annotations, the description alone must convey behavioral traits. 'Get' implies a read-only operation and the filter parameters clarify what the request can do, but the description does not disclose pagination/iteration behavior, so 'Get all' is ambiguous given page and limit defaults to 10.

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 one-line summary is front-loaded and the remaining text is a focused argument list. No filler sits in the description, though the args list could be tightened slightly by not repeating default values already in the schema.

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?

This is a simple list tool with an output schema available, so missing return details are not a concern. However, it lacks usage differentiation from sibling list/management tools and leaves pagination semantics ambiguous, so an agent may not know whether to paginate or just call once.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It does: resource_type and ticket_type are given explicit allowed values, ticket_type carries a dependency constraint, and page/limit defaults are spelled out. This adds substantial meaning beyond the plain schema, although is_active's semantics are only lightly described.

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 fetching all custom metadata field definitions, with a specific verb ('Get all') and resource. It is distinguishable from the sibling wetrack_get_metadata_field by the word 'all', but it never explicitly names the sibling or explains the list-vs-single distinction.

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

Usage Guidelines2/5

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

No guidance is given about when to use this tool versus alternatives like wetrack_get_metadata_field, create_metadata_field, update_metadata_field, or delete_metadata_field. The only usage hint is the parameter-level note that ticket_type is only meaningful when resource_type is TICKET, which is not alternative tool guidance.

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

wetrack_list_notificationsA

Retrieve paginated notifications for the authenticated user.

Args: status: Filter by read status β€” 'all' (default), 'unread', or 'read'. category: Filter by type β€” 'all' (default), 'comment', or 'update'. project_id: Filter notifications to a specific project UUID. page: Page number (default: 1). limit: Items per page, max 100 (default: 20).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
limitNo
statusNoall
categoryNoall
project_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It discloses pagination, authenticated-user scoping, filter categories, defaults, and the limit maximum. It does not describe the output shape, but an output schema exists, so that is not a serious 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 compact and front-loaded with the core purpose, followed by a concise bullet-style parameter list. Every sentence adds useful information without redundancy.

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

Completeness5/5

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

Given the output schema exists and all parameters are documented, the description is complete for a paginated listing tool. It covers the user scope, filters, defaults, and limit, so an agent can invoke it correctly without missing context.

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

Parameters5/5

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

The schema provides no parameter descriptions, but the description fully compensates by explaining every parameter: status values, category values, project UUID filtering, page, and limit with max and defaults. This gives the agent everything needed to construct valid arguments.

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 and resource: retrieve paginated notifications for the authenticated user. It is clear what this tool does, but it does not explicitly distinguish itself from related notification siblings like wetrack_get_unread_notification_count or wetrack_mark_notification_read.

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 purpose implies a listing use case, and the parameter defaults make behavior predictable, but there is no explicit guidance about when to choose this tool over sibling notification tools. The context is clear enough for an agent to infer usage, but no alternatives or exclusions are stated.

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

wetrack_list_organisationsA

Retrieve the list of all organisations in the system.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are present, so the description carries the behavioral disclosure burden. It plainly indicates a read-only retrieval with no side effects and explicitly scopes to 'all' organisations. It does not mention authentication or pagination, but nothing in the text suggests hidden or unexpected 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?

A single, front-loaded sentence with no filler. Every word contributes to identifying the action and the resource scope.

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

Completeness5/5

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

Given zero parameters, an existing output schema, and a straightforward read-only purpose, the description provides everything an agent needs to select and invoke the tool correctly.

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

Parameters4/5

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

The tool has zero parameters, and the input schema already documents this with an empty properties object. The baseline of 4 applies here; no parameter-level description is needed.

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 ('Retrieve') and resource ('list of all organisations'), clearly stating the scope as system-wide. It distinguishes itself from related sibling tools such as wetrack_create_organisation and other list-type endpoints.

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 purpose is unambiguous: an agent should call this when it needs the full set of organisations in the system. It does not explicitly name alternatives or exclusion criteria, but for a zero-parameter enumeration tool, the context is sufficiently clear.

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

wetrack_list_project_filesA

Get all files, folders, and ticket attachments for a project with storage stats.

Args: project_id: The project UUID. folder_id: Filter to a specific folder UUID (pass 'root' or omit for root level). search: Search files/folders by name.

ParametersJSON Schema
NameRequiredDescriptionDefault
searchNo
folder_idNo
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/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 does disclose that the result is a listing plus storage stats, but it does not explicitly state that the operation is read-only/side-effect-free, nor mention auth or pagination behavior. The 'Get/List' verb implies safety, but the disclosure is otherwise thin.

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 short components: a front-loaded first sentence stating action and scope, followed by a compact Args block with no redundant prose. Every sentence adds useful 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?

Given a simple 3-parameter schema and an output schema that covers return shape, the description gives the caller enough to invoke the tool correctly. It falls short only in not addressing read/side-effect guarantees or routing among sibling file/ticket tools.

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

Parameters5/5

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

Schema descriptions are absent (0% coverage), and the description compensates fully: it explains that project_id is a UUID, folder_id filters to a folder UUID with 'root'/omit for root level, and search filters by name. This adds meaning the schema alone would not provide.

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 first sentence names a specific verb ('Get') and resource ('all files, folders, and ticket attachments for a project') and adds a distinguishing outcome ('with storage stats'). This clearly separates it from file-mutation siblings like wetrack_add_project_file and wetrack_delete_project_file.

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 tool's purpose makes its intended use case clear, and the Args notes explain how to scope with folder_id and search. However, it never tells an agent when to prefer this over related tools such as wetrack_get_ticket_attachments or wetrack_get_project_stats, nor does it state any exclusions.

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

wetrack_list_projectsA

List projects with filtering, search, and pagination.

Args: minimal: If True, returns lightweight {id, name} list for dropdowns. search: Search by name, key, description, or manager name. status: Filter by status β€” 'NOT_STARTED', 'IN_PROGRESS', 'COMPLETED', 'ON_HOLD'. start_date: Filter projects starting on/after this date (YYYY-MM-DD). end_date: Filter projects ending on/before this date (YYYY-MM-DD). sort: Sort field β€” 'name', 'key', 'status', 'start_date', 'end_date', 'created_at'. order: Sort direction β€” 'asc' or 'desc'. page: Page number (default: 1). limit: Items per page (default: 10).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
sortNo
limitNo
orderNo
searchNo
statusNo
minimalNo
end_dateNo
start_dateNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 carries the burden. It discloses filtering, search, pagination, and the minimal mode behavior. However, it doesn't mention default sort order, whether results are paginated by default, or any rate limits. The description is honest but not deeply transparent about edge behaviors.

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 compact and front-loaded with the core purpose, followed by a clean parameter list. Every line earns its place. Slightly verbose with the Args header, but overall efficient.

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

Completeness4/5

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

For a list endpoint with 9 optional parameters and an output schema, the description covers the key behaviors: filtering, search, pagination, and minimal mode. It doesn't explain return value structure, but the output schema exists. Missing explicit guidance on defaults (e.g., default sort) is a minor gap.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. It does: each parameter gets a clear one-line explanation including allowed values for status and sort, and the minimal flag's effect. This adds significant meaning beyond the bare schema types.

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

Purpose4/5

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

The description states a specific verb ('List') and resource ('projects') with filtering, search, and pagination. It distinguishes from siblings like wetrack_get_project (single project) and wetrack_get_recent_projects (recent subset), though it doesn't explicitly name them.

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 projects with various filters, but doesn't explicitly state when to use this vs alternatives like wetrack_get_recent_projects or wetrack_search. The parameter list gives context but no explicit when/when-not guidance.

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

wetrack_list_sprintsA

List sprints across all projects or scoped to one project.

Args: project_id: Filter to a single project's sprints (UUID). search: Case-insensitive substring match against sprint name. status: Comma-separated sprint statuses β€” 'PLANNED', 'IN_PROGRESS', 'COMPLETED'. include_completed: Pass False to exclude completed sprints. page: Page number (default: 1). limit: Items per page (default: 10).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
limitNo
searchNo
statusNo
project_idNo
include_completedNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It discloses case-insensitive search, comma-separated statuses with valid values, how include_completed excludes completed sprints, and pagination defaults. It omits auth, rate limits, and ordering, but these are less critical for a read-only list tool with an output schema.

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

Conciseness5/5

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

The description is front-loaded with a clear purpose sentence followed by a tight Args list. Each line adds distinct value with no redundant or promotional language.

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

Completeness4/5

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

All six optional parameters are documented, and the output schema covers return structure, so the tool is largely self-sufficient. It does not explicitly contrast with wetrack_get_project_sprints, but the scope phrase 'across all projects or scoped to one project' provides enough context to route correctly.

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

Parameters5/5

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

Schema description coverage is 0%, and the description fully compensates by explaining every parameter: project_id as a UUID filter, search as a case-insensitive substring, status with allowed values, include_completed semantics, and page/limit defaults.

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

Purpose5/5

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

The description states the verb 'List', the resource 'sprints', and the scope explicitly: 'across all projects or scoped to one project.' This distinguishes it from project-specific siblings like wetrack_get_project_sprints and single-sprint tools like wetrack_get_sprint.

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 scope statement ('across all projects or scoped to one project') provides clear context for when to use this tool. However, it does not explicitly name alternatives or state when not to use it, leaving the exclusion decision to the agent.

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

wetrack_list_ticket_categoriesB

Get all ticket categories.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 carries the full burden of disclosure. It implies a read operation but does not mention response format, pagination, or any potential side effects. For a straightforward list tool this is minimal, yet it still fails to describe behavior beyond the literal 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?

A single sentence state the tool's purpose with no filler or redundancy. Every word is functional, and though it is brief, the structure is perfectly concise for a request that returns all categories.

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

Completeness4/5

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

Given the tool's simplicity (no parameters, an output schema exists), the description is almost sufficient. It does not mention ordering, pagination, or size constraints, but those are likely covered by the output schema. Overall, it provides enough for an agent to know what the tool returns without opening the schema.

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

Parameters4/5

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

The tool has zero parameters and an empty input schema, so there is nothing for the description to add. While the description adds no semantic value, the absence of parameters makes the schema complete and the description need not do more.

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 all ticket categories' clearly identifies the resource and verb, making it distinct from the singular 'wetrack_get_ticket_category' by using 'all.' However, it does not explicitly mention any sibling list tools or the context in which this listing might be preferred over a single-category get.

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 about when to use this tool versus alternatives. It merely states that it gets all categories, leaving the agent to infer when this is appropriate compared to retrieving a single category or using other list tools.

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

wetrack_list_ticket_prioritiesA

Get the list of ticket priorities.

Args: resource: Filter by resource β€” 'SPRINT', 'TASK', or 'PROJECT'. include_inactive: Include soft-deleted priorities (default: False).

ParametersJSON Schema
NameRequiredDescriptionDefault
resourceNo
include_inactiveNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/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 of behavioral disclosure. It adds useful behavior about resource filtering and soft-deleted priorities, but it does not mention response format, pagination, authentication requirements, or what happens when resource is omitted.

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

Conciseness5/5

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

The description is concise and well-structured: one clear purpose sentence followed by a compact Args block. Every sentence adds value, and the key action is front-loaded.

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

Completeness4/5

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

The output schema covers return values, and both parameters are clearly described, making the tool callable. Minor gaps remain, such as explaining the effect of omitting resource and explicitly noting that resource is optional, but overall the definition is adequate for a simple list operation.

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

Parameters5/5

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

Schema description coverage is 0%, so the description is the only source of parameter meaning. It fully explains both parameters: resource with its three allowed values ('SPRINT', 'TASK', 'PROJECT') and include_inactive with its default of False and soft-delete behavior.

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 opens with 'Get the list of ticket priorities,' a specific verb and resource that clearly states the tool's function. It is easily distinguished from sibling tools like wetrack_get_ticket_priority (single item) and create/update/delete variants.

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 conveys its purpose and parameter context, but it gives no explicit guidance on when to use this tool versus alternatives such as wetrack_list_ticket_statuses or wetrack_get_ticket_priority. There is no mention of when not to use it or what distinguishes it from other list tools.

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

wetrack_list_ticket_productsB

Get all ticket products.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Get all ticket products' only states the operation; it says nothing about authentication requirements (notable given sign_in/sign_out siblings), pagination, ordering, error behavior, or what happens when the caller lacks permission. It is not misleading, but it is nearly empty of 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?

A single sentence, 'Get all ticket products.', with no filler or redundant wording. The verb and object are front-loaded, and the size is appropriate for a zero-parameter list tool; 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?

For a 0-parameter read-only list operation with an output schema available, the description is nearly sufficient to invoke the tool. However, it omits any context about authentication being required, what a 'ticket product' represents, and how this relates to the singular wetrack_get_ticket_product sibling, leaving minor but real gaps.

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?

With zero parameters and 100% schema coverage trivially, there is nothing for the description to explain; the baseline of 4 for 0-param tools applies. The description does not need to compensate for any undocumented parameters because none exist.

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 ('ticket products') with the scope qualifier 'all', making the basic operation clear. It implicitly differentiates from the sibling wetrack_get_ticket_product via the word 'all', but does not explicitly name or contrast that alternative, so it falls short of full sibling 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 is provided on when to call this tool versus wetrack_get_ticket_product (singular) or any other sibling. There is no mention of context, prerequisites, exclusions, or alternatives, so an agent must infer usage entirely from the tool name and the word 'all'.

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

wetrack_list_ticketsA

List and filter tickets (work items and support tickets).

Args: project_id: Filter by project UUID. Comma-separated for multiple. ticket_type: Filter by type β€” EPIC, STORY, TASK, BUG (comma-separated). sprint_id: Sprint UUID. Pass 'null' or 'unassigned' for backlog. status_id: Status ID(s), comma-separated. priority_id: Priority ID(s), comma-separated. search: Case-insensitive search against title or summary. assigned_to_me: If true, only show tickets assigned to me. is_backlog: If true, only show backlog tickets (no sprint assigned). is_active_sprint: If true, only show tickets in the active sprint. due_date: Filter bucket β€” 'Overdue', 'Due Today', 'Due This Week', 'Due This Month', 'No Due Date'. sort_order: 'asc' or 'desc' (default: desc = newest first). view: Response shape β€” 'default' (full), 'card' (board), 'summary' (dropdown). page: Page number (default: 1). limit: Rows per page, max 100 (default: 20).

ParametersJSON Schema
NameRequiredDescriptionDefault
pageNo
viewNo
limitNo
searchNo
due_dateNo
sprint_idNo
status_idNo
is_backlogNo
project_idNo
sort_orderNo
priority_idNo
ticket_typeNo
assigned_to_meNo
is_active_sprintNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It discloses filter semantics, pagination behavior via page/limit, and default sort order, but does not explicitly state that this is a read-only operation. 'List' implies non-mutating, so the omission is not misleading, but a one-line confirmation would be stronger.

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 front-loaded with the main purpose, followed by a compact Args list where each parameter has exactly one line. There is no fluff or repetition; every sentence adds actionable details. Despite the length needed for 14 parameters, the structure is remarkably efficient.

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

Completeness4/5

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

Given the high complexity (14 parameters, all optional, 0% schema descriptions, no annotations), the description is very complete. It covers every parameter meaning, filter behavior, and response view options. It does not explicitly explain interactions between filters (e.g., whether sprint_id and is_backlog are mutually exclusive), but an output schema covers return format and the core usage is not left to guesswork.

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

Parameters5/5

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

Schema coverage is 0% because no parameter descriptions exist in the JSON schema, leaving the description as the sole semantic source. The description documents all 14 parameters, their formatting (e.g., comma-separated IDs), allowed values (e.g., ticket_type: EPIC/STORY/TASK/BUG, due_date buckets), and special helpers like sprint_id='unassigned' for backlog. This fully compensates for the schema gap.

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 opens with a specific verb and resource: 'List and filter tickets', and clarifies the scope to 'work items and support tickets'. This clearly distinguishes it from sibling tools like wetrack_get_ticket (single ticket) and wetrack_search, so an agent can select it correctly without opening schemas.

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

Usage Guidelines3/5

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

The purpose 'List and filter tickets' implies when to use it, especially since sibling names such as wetrack_get_ticket and wetrack_search make the alternatives clear. However, there is no explicit statement of when not to use this tool or which sibling to prefer (e.g., wetrack_search for keyword search across resources).

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

wetrack_list_ticket_statusesA

Get the list of ticket statuses.

Args: resource: Filter by resource β€” 'SPRINT', 'TASK', or 'PROJECT'. Omit to return all statuses. include_inactive: Include soft-deleted statuses (default: False).

ParametersJSON Schema
NameRequiredDescriptionDefault
resourceNo
include_inactiveNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the full burden. It states useful behavior: resource filtering can return all statuses, and include_inactive controls whether soft-deleted statuses are shown. However, it does not explicitly say the operation is read-only and non-mutating, although 'list' strongly implies it.

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 tight and well-structured: a one-line purpose followed by a compact two-parameter explanation. Every sentence adds information and there is no filler.

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 read-only list tool with two optional parameters and an existing output schema, the description is fully adequate. It covers both parameters and their defaults. The only small omission is an explicit reference to wetrack_get_ticket_status as perhaps the single-record alternative, but the plural form and scoped resource description make that unnecessary.

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

Parameters5/5

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

Schema coverage is 0%, so the description must compensate for the bare schema. It does: it enumerates the accepted resource values ('SPRINT', 'TASK', 'PROJECT'), explains that omitting it returns all statuses, and reveals the meaning and default of include_inactive. This is exactly the information an agent cannot get from the schema alone.

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 starts with a specific verb and resource: 'Get the list of ticket statuses.' It clearly identifies a distinct operation from siblings like get_ticket_status, create_ticket_status, and the other status-related tools, and the resource filter demonstrates a specific scope.

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

Usage Guidelines3/5

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

The description defines what filtering is possible, but does not explicitly state when to choose this tool over alternatives such as wetrack_get_ticket_status. The sibling distinction is inferable from the name, but no when-to-use or when-not-to-use guidance is given.

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

wetrack_list_ticket_typesA

Get all ticket types.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Get all ticket types' only states the operation and gives no information about authentication requirements, pagination, read-only guarantees, or response structure beyond what the output schema already provides.

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

Conciseness5/5

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

The description is a single front-loaded sentence with no filler or redundant wording. It is appropriately sized for a zero-parameter listing operation where the output schema already provides the response shape.

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 trivial no-argument list tool with an output schema, the description is nearly complete: an agent knows what to call and what it returns. It lacks usage context and explicit behavioral constraints, but the simplicity of the tool and the presence of the output schema compensate enough.

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

Parameters4/5

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

The tool has zero parameters and the schema coverage is 100%, so there are no parameter semantics for the description to clarify. The baseline of 4 applies because there is nothing for the description to compensate for.

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 ('Get') and a clear resource ('all ticket types'), so the agent immediately knows this is the listing variant. It also implicitly distinguishes itself from the sibling wetrack_get_ticket_type by saying 'all' rather than implying a single object.

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?

There is no explicit guidance about when to use this tool versus alternatives like wetrack_get_ticket_type or other list_* tools. The use case is implied by the phrase 'all ticket types,' but no context or exclusion criteria are provided.

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

wetrack_list_timezonesA

Get all available timezones. Use the returned integer IDs when creating clients or organisations that need a specific timezone.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. It discloses that the tool returns integer IDs and that these IDs are consumed downstream, but it does not mention ordering, pagination, or any other behavior. This is adequate for a simple zero-parameter list operation but not richly transparent.

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

Conciseness5/5

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

Two short, purposeful sentences. The core purpose is front-loaded, and the downstream use of the returned IDs is stated efficiently without redundancy.

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?

The tool is a simple zero-parameter list operation, an output schema exists, and the description explains both what is returned and why it matters. Nothing essential is missing for correct invocation and use.

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

Parameters4/5

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

The input schema has no parameters, so the baseline is 4. The description adds no parameter details, but none are needed since the schema is empty and coverage is complete.

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 all available timezones') and the resource (timezones). It is unambiguous and distinct from the large sibling set, none of which target timezone listing.

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

Usage Guidelines4/5

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

The description provides clear context for when this tool's output matters: when creating clients or organisations that need a specific timezone. It does not explicitly list alternatives, but no sibling tool competes with this function, so the guidance is sufficient.

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

wetrack_list_usersA

Retrieve the list of users in the organisation.

Args: role: Filter by role β€” 'ADMIN', 'VITHI_USER', 'EMPLOYEE', 'CUSTOMER'. is_dropdown: If True, returns lightweight {id, name} for dropdowns. If False/omitted, returns full user details including designation.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNo
is_dropdownNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations, the description carries the behavioral burden. It communicates a read-only operation through 'Retrieve' and clearly describes conditional behavior: lightweight {id, name} output for dropdowns versus full user details including designation otherwise. This is meaningful behavioral context beyond parameter definitions.

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 compact and front-loaded with the core purpose, followed by two essential parameter explanations. Every sentence contributes necessary information without redundancy.

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 read-only listing with two optional parameters and an existing output schema, the description fully covers invocation semantics: filter values, output shape switching, and default behavior. Nothing needed to call it correctly is missing.

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

Parameters5/5

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

The schema has 0% description coverage, but the description fully documents both parameters: role lists exact allowed values, and is_dropdown explains both the True and False/omitted outcomes. This exceeds what the raw schema provides and leaves no ambiguity.

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 opens with 'Retrieve the list of users in the organisation,' which is a specific verb, resource, and scope. It clearly distinguishes this list operation from single-user retrieval operations like wetrack_get_user and from list operations on other resources.

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

Usage Guidelines2/5

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

The description gives no guidance on when to use this tool versus alternatives such as wetrack_get_project_users or wetrack_get_user. It explains parameters but provides no context for selecting this tool over siblings.

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

wetrack_list_widgetsA

List the current user's report widgets in display order. Each widget has an id, metric, dimension, chartType, isVisible, and orderIndex.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full behavioral burden. It does indicate a read-only list, user scoping, and ordering, but it does not explicitly state absence of side effects, authentication requirements, or pagination behavior. The 'List' verb implies read-only, but the description 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?

Two short, front-loaded sentences: the first states the action and scope, the second summarizes the returned widget fields. There is no wasted text or redundant detail.

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 zero-parameter list tool with an output schema, the description is nearly complete: it names the resource, scope, ordering, and the main fields. The only gap is a lack of explicit guidance linking this tool to related reporting and dashboard siblings, which is a minor omission given the simple operation.

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

Parameters4/5

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

The tool has zero parameters and the schema already covers all input, so there is no parameter documentation burden. The description does not need to explain parameter semantics beyond what the empty input schema shows.

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 ('List') and resource ('the current user's report widgets'), and clarifies display order and key fields. This distinguishes it from sibling widget-related tools like create_widget, update_widget, delete_widget, and get_widget_data.

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 when to use it: when you need the current user's report widgets in display order. However, it does not explicitly compare against alternatives such as wetrack_get_dashboard or wetrack_get_reports, nor does it state 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.

wetrack_mark_all_notifications_readA

Mark ALL notifications as read for the authenticated user at once.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the full burden. It clearly indicates a write operation (marking as read) but does not disclose side effects (e.g., irreversibility, potential to mark all across all scopes), auth requirements beyond 'authenticated user', or return behavior. For a simple mutation, this is acceptable but not rich.

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

Conciseness5/5

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

A single sentence, front-loaded with the action and scope. No unnecessary words, no fluff. Highly concise and efficient.

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

Completeness4/5

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

Given the tool has no parameters and an output schema exists (which would describe return values), the description is largely complete. It covers the action, scope, and user context. It could optionally mention that this is a bulk convenience operation, but that is already implied by 'ALL'. Missing details like confirmation or effects on unread counts are minor given the simplicity.

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

Parameters4/5

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

There are zero parameters, so schema coverage is trivially 100%. The description adds useful context by specifying that the operation applies to the authenticated user's notifications, which is beyond what an empty schema can convey. Baseline 4 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 (mark as read), the scope (ALL notifications), and the target (authenticated user). It explicitly uses 'ALL' to differentiate from the singular sibling wetrack_mark_notification_read, 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 Guidelines3/5

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

The description implies bulk usage but does not explicitly state when to prefer this over calling the singular mark_notification_read repeatedly. It lacks a when-to-use/when-not-to-use distinction, though the 'ALL' wording hints at 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.

wetrack_mark_notification_readA

Mark a single notification as read.

Args: notification_id: Notification ID e.g. 'hist_123' or 'comm_456'.

ParametersJSON Schema
NameRequiredDescriptionDefault
notification_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.8/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states the core mutation but does not disclose side effects, idempotency, reversibility, or authentication requirements. This is a meaningful gap for a write 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 very short and front-loaded with the action, followed by a single parameter explanation. Every sentence earns its place, and there is no redundant or vague filler.

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 one-parameter tool with an output schema, the description is largely sufficient. It could mention idempotency or behavior for already-read notifications, but the essential information needed to invoke the tool correctly is present.

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

Parameters4/5

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

Schema description coverage is 0%, so the description must compensate. The Args section provides a concrete example and format hints ('hist_123' or 'comm_456'), which give real meaning beyond the bare schema field 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 uses a specific verb ('Mark') and resource ('a single notification as read'), clearly distinguishing this tool from its sibling wetrack_mark_all_notifications_read. The word 'single' provides scope and prevents confusion.

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 single notifications but does not explicitly state when to prefer this over mark_all_notifications_read or mention any prerequisites. The guidance is adequate for a simple action but relies on inference.

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

wetrack_record_project_accessA

Record that the current user accessed a project (updates 'recently accessed' list).

Args: project_id: The project UUID.

ParametersJSON Schema
NameRequiredDescriptionDefault
project_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the disclosure burden. It explicitly reveals the update side effect on the 'recently accessed' list and scopes the action to the current user, which is the key behavioral trait beyond the schema. It does not discuss idempotency or permission requirements, but those are less critical for this simple marker 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?

The description is two compact, front-loaded sentences plus a single argument line. There is no filler or repetition; every sentence contributes either purpose, side-effect context, or parameter meaning.

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 low-complexity tool with one required parameter and an output schema, the description covers the purpose, side effect, and parameter semantics adequately. It could add explicit guidance about when to call it during project navigation, but nothing essential for selecting or invoking the tool is missing.

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

Parameters4/5

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

The schema only defines project_id as a string with 0% description coverage. The tool description compensates by stating that project_id is 'The project UUID', adding concrete semantic meaning beyond the schema. It could include how to obtain the UUID, but the provided detail is sufficient for a one-parameter tool.

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 states a specific operation ('Record that the current user accessed a project') and names its concrete effect ('updates recently accessed list'). This clearly distinguishes it from the read-only get/list siblings such as wetrack_get_recent_projects and wetrack_get_project.

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

Usage Guidelines3/5

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

The intended trigger is implied by the phrasing: call this when the current user accesses a project. However, there is no explicit guidance on when not to use it, nor any mention of alternatives such as wetrack_get_project for simply viewing a project without recording access.

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

wetrack_reorder_widgetsA

Persist the display order of the current user's report widgets.

Args: ordered_ids: ALL widget IDs in the desired top-to-bottom order (not just the one that moved). Get current IDs from wetrack_list_widgets first.

Example: ["widget-id-1", "widget-id-2", "widget-id-3"]

ParametersJSON Schema
NameRequiredDescriptionDefault
ordered_idsYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

No annotations, so description carries the burden. It explicitly states that ALL widget IDs must be provided, not just the moved one, and that it persists for the current user. This goes beyond the schema and prevents a common mistake. It doesn't mention return values or error behavior, but that's less critical for a reorder 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?

Two short sections: a purpose sentence and an Args block with explanation and example. No redundancy, front-loaded with the main purpose, and every sentence earns its place.

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

Completeness4/5

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

For a simple reorder operation with one parameter, the description covers purpose, parameter semantics, and prerequisite. Could mention return value or idempotency, but it's not essential for an agent to call it correctly. Adequate for the tool's complexity.

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

Parameters5/5

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

Schema has no description for ordered_ids, but the description explains it fully: ALL widget IDs in desired order, not just the moved one, and provides an example. Also instructs to fetch current IDs first, adding significant meaning beyond the raw array type.

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

Purpose5/5

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

States a specific verb (persist) and resource (display order of current user's report widgets). Clear and distinct from sibling tools like wetrack_list_widgets or wetrack_update_widget, as it's the only reorder operation.

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 a clear prerequisite: get current IDs from wetrack_list_widgets first. Implies usage context (when reordering) but doesn't explicitly mention alternatives or when not to use. Since no other reorder tool exists, this is sufficient guidance.

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

wetrack_resend_inviteB

Resend the invitation email to a user who hasn't set their password yet.

Args: user_id: The user UUID or integer ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
user_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 carries the full burden of disclosing side effects and prerequisites. It only states that an invitation email is resent, without mentioning any failure conditions (e.g., user already set password, user not found), authentication requirements, or rate limits. This is a significant gap for a tool with a side effect.

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

Conciseness5/5

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

The description is extremely concise, with the main purpose in the first sentence and the parameter documentation in a compact Args block. Every sentence earns its place, and the critical information is front-loaded. 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?

Given that this tool has a side effect (sending an email), the description lacks important context: when it is appropriate to call (e.g., only for users who haven't set password), what happens if the user has already set it, and any permission requirements. The output schema exists but is not shown, so the description is incomplete for a tool with potential failure modes and side effects.

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

Parameters4/5

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

The schema only defines user_id as a string, but the description adds that it can be a UUID or integer ID, which is valuable semantic information beyond the schema. This clarifies the expected format. Since schema coverage is 0% (the description doesn't repeat schema), the description compensates well for the parameter, though it doesn't explain error behavior for invalid IDs.

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

Purpose4/5

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

The description states a specific verb (resend), resource (invitation email), and the condition 'to a user who hasn't set their password yet.' This clearly distinguishes it from general user management tools like create_user or update_user. However, it does not explicitly name any sibling tools or differentiate itself from them, so it falls short of a perfect 5.

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 when to use the tool (for users who haven't set their password) but provides no explicit guidance on when not to use it or what alternative tool to use. It doesn't mention that this tool is inappropriate for users who have already set their password, nor does it reference alternatives like wetrack_forgot_password. This is adequate but lacks explicit routing.

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

wetrack_set_passwordA

Set the initial password for the currently authenticated user (used during first-time login flows).

Args: password: The new password to set.

ParametersJSON Schema
NameRequiredDescriptionDefault
passwordYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description carries the behavioral burden. It does disclose the auth context ('currently authenticated user') and the first-time-login scope, but it does not mention side effects such as session invalidation, password policy requirements, or whether this permanently replaces an existing password.

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 opening sentence is short, specific, and front-loaded with the most important information. The Args block is largely redundant with the input schema, but it is brief and does not cause meaningful bloat.

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 one-parameter auth operation, the core intent and invocation context are clear, and the output schema can cover return values. Still, the lack of behavior details and password requirements leaves some gaps that an agent would need when calling this tool in a real first-time-login flow.

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

Parameters2/5

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

Schema coverage is 0%, and the description only adds 'The new password to set,' which is barely more than the schema's title 'Password.' It clarifies that this is the replacement value but doesn't provide constraints like minimum length, complexity, or whether it must differ from a previous password.

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 and resource ('Set the initial password for the currently authenticated user') and adds the key nuance that this is for first-time login flows. This clearly distinguishes it from siblings like wetrack_change_password and wetrack_forgot_password.

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 phrase 'used during first-time login flows' provides clear context for when the tool should be invoked. However, it does not explicitly mention alternatives or say not to use it for regular password changes, so it stops short of full guidance.

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

wetrack_set_tokenA

Manually set a JWT token for all subsequent WeTrack API calls. Use this after completing Microsoft OAuth login in a browser to store your token in the MCP server session.

Args: token: The JWT Bearer token string from your WeTrack session.

After setting this, all tool calls will use Bearer automatically. The token is stored in-memory for this session only.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/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 reveals important behavioral details: the token is stored in-memory, applies to all subsequent calls, and is session-scoped only. It also clarifies that Bearer <token> is added automatically, which helps the agent understand 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 concise, front-loaded with the core purpose, and organized into short useful sections. Every sentence adds information: what it does, when to use it, what the parameter is, and what happens afterward.

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 one-parameter session-setup tool, the description is largely complete: purpose, timing, parameter semantics, and session-only storage are all covered. It could optionally mention that setting a new token replaces any existing session token, but that is a minor gap.

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

Parameters4/5

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

The schema only defines 'token' as a required string with 0% description coverage. The description compensates by explaining it is 'The JWT Bearer token string from your WeTrack session,' and that all subsequent calls will use it as Bearer <token>. This is meaningful guidance 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 and resource: 'Manually set a JWT token for all subsequent WeTrack API calls.' This is distinct from sibling tools like wetrack_sign_in or wetrack_get_microsoft_signin_url, which handle OAuth login rather than manual token injection.

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 gives explicit usage context: 'Use this after completing Microsoft OAuth login in a browser to store your token in the MCP server session.' It does not explicitly name alternatives or when-not-to-use cases, but the intended workflow is clear.

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

wetrack_sign_inA

Sign in to WeTrack with email and password. Returns a JWT token stored for all future requests. Use this first if you haven't set WETRACK_EMAIL/PASSWORD in .env.

ParametersJSON Schema
NameRequiredDescriptionDefault
emailYes
passwordYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.4/5.0
Behavior4/5

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

With no annotations, the description carries the full burden. It explicitly states that it returns a JWT token and stores it for all future requests, which is a key side effect. It also mentions the .env condition, indicating when it's needed. It doesn't cover error cases or token overwrite behavior, but the main behavioral trait is disclosed.

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

Conciseness5/5

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

The description is three short sentences, each adding value. The first states purpose, the second states the return and side effect, and the third gives usage context. No fluff, front-loaded, and well-structured.

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?

The description is quite complete for a simple authentication tool. It covers the usage condition, the return value, and the storage behavior. It doesn't mention error handling or session replacement, but those are minor for a sign-in tool, especially since an output schema exists that likely describes the JWT response.

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

Parameters4/5

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

Schema coverage is 0%, so the description must compensate. It directly links the parameters to the action: 'Sign in to WeTrack with email and password.' This clarifies the purpose of both fields. While it doesn't add extra format hints, the mapping is obvious given the parameter names.

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 (sign in) and resource (WeTrack), and explicitly mentions the credential type (email/password). It distinguishes itself from siblings like wetrack_sign_out and wetrack_set_token by focusing on email/password authentication and token storage.

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 gives an explicit condition: 'Use this first if you haven't set WETRACK_EMAIL/PASSWORD in .env.' This provides clear when-to-use guidance. However, it doesn't mention alternatives like Microsoft sign-in or token-based auth, which are present among siblings, so it's not fully comprehensive.

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

wetrack_sign_outA

Sign out from WeTrack and clear the current session token.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/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 conveying side effects. It explicitly discloses the destructive action of clearing the session token, which is the key behavioral trait. It does not mention reversibility or server-side effects, but for a sign-out tool this is sufficient.

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

Conciseness5/5

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

The description is a single, direct sentence that front-loads the primary action and follows with the key side effect. No filler or redundant content.

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 zero-parameter tool with an output schema, the description fully covers what an agent needs to know: what the tool does and its main consequence. Nothing critical is missing for correct invocation.

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

Parameters4/5

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

There are zero parameters, so the baseline is 4. The description adds nothing about parameters, which is unnecessary; the schema already declares an empty object. The mention of 'current session token' is behavioral context, not a 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 states a clear action ('Sign out') and a specific resource ('WeTrack'), plus the concrete effect ('clear the current session token'). It unambiguously distinguishes this from sibling tools like wetrack_sign_in and wetrack_set_token.

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 clearly implies the tool is for ending an active WeTrack session and invalidating the stored token. It doesn't explicitly name alternatives or state when not to use it, but the single sign-out action among many authentication-related siblings makes the usage context obvious.

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

wetrack_toggle_metadata_field_statusB

Toggle a metadata field's active/inactive status.

Args: field_id: Integer ID of the metadata field.

ParametersJSON Schema
NameRequiredDescriptionDefault
field_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.2/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does reveal that the operation toggles active/inactive status, but it does not disclose side effects, reversibility, permission requirements, or what happens to existing data referencing the field.

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 brief, front-loaded, and free of unnecessary elaboration. The Args line is somewhat redundant with the input schema, but it is compact and serves as a convenient parameter reminder.

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 one-parameter toggle with an output schema, the description covers the core purpose and parameter. However, with no annotations and no usage or side-effect context, it is only minimally complete for an agent deciding whether and how to invoke 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?

With 0% schema description coverage, the description must compensate for parameter documentation. It does clarify that field_id is the 'Integer ID of the metadata field,' which adds entity context beyond the schema's generic 'Field Id' title, but it stops short of explaining how to obtain the ID or any 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 states a specific action ('Toggle') and a specific resource ('metadata field's active/inactive status'), making the tool's purpose unmistakable. It clearly distinguishes this from sibling tools like wetrack_get_metadata_field, wetrack_update_metadata_field, and wetrack_delete_metadata_field by focusing on the status toggle.

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, no exclusions, and no mention of prerequisites. An agent is left to infer usage solely from the tool name and the brief purpose statement.

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

wetrack_toggle_ticket_productB

Toggle the active/inactive status of a ticket product.

Args: product_id: The product ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
product_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full behavioral disclosure burden. It states the literal toggling effect but does not disclose permissions, side effects, whether the current status must be known, or any reversibility implications.

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 first sentence is concise and front-loaded with the core operation. The Args block is redundant with the schema, but it is short and does not add meaningful clutter.

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 one-parameter toggle tool, the core action is minimally described, but with no annotations and no usage guidance, the definition lacks context an agent needs to reliably choose it over wetrack_update_ticket_product or to anticipate the effects of toggling.

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

Parameters2/5

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

Schema description coverage is 0%, and the description's Args line only repeats the parameter name and a generic 'The product ID' with no added semantics such as where to find the ID, allowed formats, or how it relates to ticket products.

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 ('Toggle') and names the exact resource ('ticket product') and the affected state ('active/inactive status'). This clearly distinguishes it from sibling toggle tools such as wetrack_toggle_ticket_watch and wetrack_toggle_metadata_field_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?

The description gives no guidance on when to use this tool versus alternatives like wetrack_update_ticket_product, which could also modify product status. There is no mention of exclusions, prerequisites, or preferred use cases.

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

wetrack_toggle_ticket_watchA

Toggle your watch/follow status on a ticket. If you're not watching, this starts watching. If you are, it stops.

Args: ticket_id: The ticket UUID.

ParametersJSON Schema
NameRequiredDescriptionDefault
ticket_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the disclosure burden. It states the state-dependent behavior explicitly ('If you're not watching, this starts watching. If you are, it stops'), which is exactly the key behavioral trait an agent needs. It does not discuss permissions or side effects, but the operation is inherently reversible and simple.

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 compact, front-loaded, and every sentence adds value. The toggle behavior is stated immediately, and the parameter is described with the essential type detail.

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 single-parameter toggle tool with an output schema available, the description provides all necessary information: what the tool does, the parameter, and the conditional behavior. Nothing essential is missing for an agent to use it correctly.

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

Parameters4/5

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

Schema coverage is 0%, but the description adds meaningful semantics by specifying ticket_id as 'The ticket UUID', which goes beyond the schema's generic 'Ticket Id' title. This is sufficient for a single required 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 identifies a specific verb ('Toggle') and resource ('watch/follow status on a ticket'), immediately distinguishing this tool from siblings like wetrack_get_ticket_watchers. It is unambiguous and action-oriented.

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

Usage Guidelines4/5

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

The description provides clear behavioral context: if not watching it starts watching, and if watching it stops. While it does not explicitly name alternatives or exclusions, the toggle semantics are sufficient for an agent to know when to invoke this tool.

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

wetrack_trigger_sla_checkA

[System/Admin] Trigger the SLA breach notification check. Normally called by an automated scheduler β€” this tool lets you trigger it manually for testing or on-demand checks.

Args: breach_count: Number of SLA breaches to process e.g. 3. auth_key: System auth key (WETRACK_AUTH_KEY from .env). If not provided, reads from WETRACK_AUTH_KEY env var.

Note: This requires the WETRACK_AUTH_KEY environment variable to be set, not the regular user JWT. Contact your WeTrack admin for this key.

ParametersJSON Schema
NameRequiredDescriptionDefault
auth_keyNo
breach_countYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

With no annotations, the description carries the full disclosure burden. It clearly explains that WETRACK_AUTH_KEY, not the regular user JWT, is required, that the key can come from the environment, and that an admin should be contacted if needed. It does not fully spell out side effects such as whether breach notifications are sent, but the "SLA breach notification check" phrasing plus the auth and scheduler context provide strong behavioral guidance.

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 compact and front-loaded, with the core purpose in the first sentence followed by the scheduler context and parameter details. A small amount of redundancy exists between the auth_key argument note and the final environment-variable note, but no unnecessary content is present.

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?

The description covers the tool's purpose, invocation context, parameter semantics, auth requirements, and a caveat about using the system key instead of a user JWT. It is sufficiently complete for an agent to decide whether and how to call it, especially since the output schema already exists to describe return values.

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

Parameters5/5

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

Although the schema provides no property descriptions, the tool description explains both parameters: breach_count is the number of SLA breaches to process with an example, and auth_key is the system auth key with a fallback to the environment variable. This fully compensates for the 0% schema coverage and adds meaning beyond the raw 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 opens with a specific verb and resource: "Trigger the SLA breach notification check." It immediately marks the tool as [System/Admin], and the manual trigger purpose is distinct from all sibling tools, especially other trigger-like tools such as wetrack_trigger_sprint_burndown_snapshot.

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 clearly states that this is normally called by an automated scheduler and that the tool exists for manual testing or on-demand checks. It does not explicitly list exclusions or alternatives, but the scheduler context plus the [System/Admin] tag gives an agent enough guidance on when invocation is appropriate.

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

wetrack_trigger_sprint_burndown_snapshotA

[System/Admin] Snapshot today's remaining scope for every active sprint. Normally called by an automated daily scheduler β€” this tool lets you trigger it manually for testing or to backfill a missed snapshot.

Args: auth_key: System auth key (WETRACK_AUTH_KEY from .env). If not provided, reads from WETRACK_AUTH_KEY env var.

Note: This requires the WETRACK_AUTH_KEY, not the regular user JWT.

ParametersJSON Schema
NameRequiredDescriptionDefault
auth_keyNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.8/5.0
Behavior4/5

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

With no annotations, the description carries the burden. It discloses the restricted 'System/Admin' nature, the primary side effect (capturing a burndown snapshot of remaining scope), and a non-obvious authorization behavior (WETRACK_AUTH_KEY, not user JWT). It does not detail idempotency or effects of repeated manual runs, but the core behavioral profile is clearly conveyed.

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 front-loaded with purpose, followed by usage context and an Args/Note block. Every sentence adds information; there is no filler or repetition of schema data.

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 one-parameter trigger with an output schema already present, the description covers purpose, typical invocation pattern, manual use cases, and auth requirements. Nothing an agent needs to decide whether and how to call it is missing.

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

Parameters5/5

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

The schema is bare (0% description coverage), so the description's Args block is essential. It explains that auth_key is the system auth key from .env, optional with environment-variable fallback, and explicitly warns that the regular user JWT is invalid.

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 opens with '[System/Admin] Snapshot today's remaining scope for every active sprint,' naming a specific verb, resource, and scope. The sibling list contains many getters and only one other trigger (trigger_sla_check), and this description unambiguously identifies this tool as the burndown snapshot trigger.

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

Usage Guidelines5/5

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

It states the tool is 'Normally called by an automated daily scheduler' and that manual invocation is for 'testing or to backfill a missed snapshot,' giving clear when-to-use context. It also distinguishes this from routine user-invoked operations by highlighting the system auth key requirement.

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

wetrack_update_clientB

Update a client organisation's details.

Args: client_id: The client ID. name: Organisation name (required). email: Primary email (required). phone: Phone number. contact_name: Primary contact person name. contact_email: Contact email. contact_phone: Contact phone. address: Physical address. country: Country name. timezone_id: Timezone integer ID.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
emailYes
phoneNo
addressNo
countryNo
client_idYes
timezone_idNo
contact_nameNo
contact_emailNo
contact_phoneNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are provided, so the description must carry the burden. It discloses that it's an update operation and lists updatable fields, but doesn't mention any side effects, permissions, or reversibility. It adds some value but lacks depth, so a 3 is justified.

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 and front-loaded with the main purpose. The parameter list is structured as an Args block, which is easy to scan. There is minimal redundancy, though the purpose sentence could be more detailed.

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?

This is a mutation tool with no annotations but with an output schema. The output schema may clarify return values, but the description doesn't cover prerequisites, side effects, or error conditions. With 10 parameters and only brief descriptions, it feels 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 description coverage is 0%, so the description must compensate. It provides brief descriptions for each parameter (e.g., 'Organisation name (required)'), adding minor meaning beyond the schema's type and default. However, it doesn't clarify semantic details like format or constraints for fields like timezone_id, so it only partially compensates.

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 ('a client organisation's details'), which is specific and distinguishable from siblings like create_client. However, it does not explicitly differentiate from other update tools, so a 4 is appropriate.

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 updating client details, but provides no explicit guidance on when to use this tool versus alternatives like create_client or add_client_members. No exclusions or alternative routing are mentioned, so it is only implicit.

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

wetrack_update_metadata_fieldC

Update an existing metadata field definition.

Args: field_id: Integer ID of the metadata field. label: New field label (required). helper_text: New helper text. is_required: New required state. options: New options list for SELECT/MULTI_SELECT fields: [{"label": "...", "value": "..."}, ...]

ParametersJSON Schema
NameRequiredDescriptionDefault
labelYes
optionsNo
field_idYes
helper_textNo
is_requiredNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden of behavioral disclosure. It states the tool updates a metadata field but doesn't disclose whether the update is partial or full, whether omitted optional parameters are reset to defaults, whether the field_id must reference an existing field, or what happens on failure. For a mutation tool with no annotation coverage, this is a significant gap.

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

Conciseness3/5

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

The description is compact and front-loaded with the core action, but the Args block is embedded in the description and duplicates the input schema. The parameter explanations are terse and the options example is minimal. It's not bloated, but the structure mixes prose and schema-like content, making it less clean than a separate schema would be.

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 parameters, 0% schema description coverage, no annotations, and an output schema, the description should provide more context about update semantics, partial vs. full replacement, and the meaning of the response. The description is too thin to fully guide an agent in correctly invoking this mutation tool, especially for optional fields like options and is_required.

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

Parameters2/5

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

Schema description coverage is 0%, so the description must compensate for the schema's lack of parameter documentation. The description only mentions 'field_id' and 'label' implicitly via the Args block, but the Args block is part of the description and does list all parameters with brief explanations. However, it doesn't explain the semantics of 'options' structure beyond a terse example, nor does it clarify that 'is_required' and 'helper_text' are optional updates. The description adds some meaning but leaves gaps.

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

Purpose4/5

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

The description states a specific verb and resource: 'Update an existing metadata field.' It clearly identifies the action and target, distinguishing it from sibling tools like wetrack_create_metadata_field and wetrack_delete_metadata_field. However, it doesn't explicitly contrast with those siblings, so it doesn't earn 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?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., the field must already exist), nor does it reference sibling tools like wetrack_create_metadata_field or wetrack_toggle_metadata_field_status. The context is implied by the verb 'update' but no explicit usage conditions are given.

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

wetrack_update_projectA

Update a project's fields (partial update β€” only send what changes). Changing timeline recalculates sprints automatically.

Args: project_id: The project UUID. name: New project name. manager_id: UUID of new project manager. description: New description. start_date: New start date 'YYYY-MM-DD'. end_date: New end date 'YYYY-MM-DD'. sprint_duration_weeks: New sprint duration in weeks. color: New hex color. tags: New tag list (replaces existing).

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
tagsNo
colorNo
end_dateNo
manager_idNo
project_idYes
start_dateNo
descriptionNo
sprint_duration_weeksNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.6/5.0
Behavior4/5

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

With no annotations, the description carries the full behavioral burden. It discloses two important behaviors: partial update semantics (only sent fields change) and the automatic sprint recalculation when timeline is modified. This goes beyond a simple 'update' and informs the agent of side effects, though it doesn't cover potential validation 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.

Conciseness5/5

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

The description is efficient: a concise opening (two sentences) that front-loads the critical behavioral notes, followed by a compact, clearly formatted Args list. No filler or repetition – every sentence earns its place.

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

Completeness5/5

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

Given the tool's complexity (9 parameters, no annotations), the description is complete. It explains the partial-update semantics, the sprint recalculation side effect, and provides per-parameter meaning and format. The output schema exists, so return-value details are unnecessary. An agent has everything needed to call this correctly.

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

Parameters5/5

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

Schema description coverage is 0%, so the description must compensate. It lists all 9 parameters with meaningful descriptions: 'project_id: The project UUID', 'start_date: New start date 'YYYY-MM-DD'', and 'tags: New tag list (replaces existing)'. This adds essential semantics (formats, replacement behavior) not present in the schema, fully covering every 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 'Update a project's fields' with the qualifier 'partial update β€” only send what changes', which precisely defines the operation and distinguishes it from creation/deletion siblings like wetrack_create_project and wetrack_delete_project. The verb-resource pairing is explicit.

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 concrete usage guidance: instructs to send only changed fields and notes that timeline changes automatically recalculate sprints. While it doesn't explicitly list when not to use or name alternatives, the partial-update instruction is a strong, actionable guideline for correct invocation.

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

wetrack_update_sprintA

Update sprint details, status, or goal.

Args: sprint_id: The sprint UUID. name: New sprint name. start_date: New start date 'YYYY-MM-DD'. end_date: New end date 'YYYY-MM-DD'. goal: New sprint goal text. status: New status β€” 'PLANNED', 'IN_PROGRESS', or 'COMPLETED'. move_to: Where to move unfinished tickets when completing a sprint. Use 'BACKLOG' or a target sprint UUID.

ParametersJSON Schema
NameRequiredDescriptionDefault
goalNo
nameNo
statusNo
move_toNo
end_dateNo
sprint_idYes
start_dateNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/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 of behavioral disclosure. It does disclose meaningful behavior: the allowed status values and the move_to option for routing unfinished tickets when completing a sprint. However, it does not mention side effects beyond move_to, whether partial updates are supported, or any permission requirements, so transparency is only partial.

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 compact and front-loaded with the core purpose before the parameter list. Every line adds information – no filler, no repetition of schema types, and no unnecessary prose. The formatting makes scanning quick for an agent.

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 7-parameter mutation tool with no annotations, the description covers the key semantics well, including formats and special values. The main gap is that it does not explicitly state that only sprint_id is required while all other fields are optional, nor does it clarify whether move_to is expected when status is set to 'COMPLETED'. Since an output schema exists, return-value documentation is not needed.

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

Parameters5/5

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

Despite the schema having 0% parameter descriptions, the description's Args section fully documents every parameter: sprint_id, name, start_date, end_date, goal, status, and move_to. It provides the date format, the allowed status values, and explains move_to options ('BACKLOG' or a target sprint UUID), adding substantial meaning beyond the raw 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 opens with a specific verb and resource: 'Update sprint details, status, or goal.' This clearly differentiates the tool from sibling sprint operations like create, get, delete, and list by indicating a mutation of an existing sprint. It also mentions status, goal, and move_to, which further scope the operation beyond a generic update.

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 intended use case is implied by the tool name and the verb 'Update' – an agent should call this when modifying an existing sprint. However, the description gives no explicit when-to-use or when-not-to-use guidance, nor does it name alternatives such as wetrack_create_sprint or wetrack_delete_sprint.

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

wetrack_update_ticketA

Update a ticket's fields. Only fields you provide are changed.

Args: ticket_id: UUID of the ticket to update. title: New title. description: New rich HTML description. request_status_id: New status ID. request_priority_id: New priority ID. assignees: New list of assignee user UUIDs (replaces all existing assignees). summary: New short summary. story_points: New story points (positive integer). bug_type: New bug category. tags: New tag list (replaces existing). end_date: New due date (ISO datetime). parent_id: Reassign to a different parent EPIC. sprint_id: Move to a different sprint UUID.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNo
titleNo
summaryNo
bug_typeNo
end_dateNo
assigneesNo
parent_idNo
sprint_idNo
ticket_idYes
descriptionNo
story_pointsNo
request_status_idNo
request_priority_idNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.5/5.0
Behavior4/5

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

No annotations are provided, so the description carries the behavioral burden. It discloses important mutation semantics: only provided fields change, assignees and tags replace existing values, parent_id reassigns to an EPIC, and sprint_id moves the ticket to a sprint. It stops short of explaining null-clearing behavior, permissions, or error behavior, which prevents a 5.

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 efficient: one clear lead sentence followed by compact, one-line parameter explanations. Every line adds necessary information, especially given that the schema itself contains no parameter descriptions.

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?

The description covers all parameters, establishes partial-update behavior, and includes the required ticket_id for targeting. Since an output schema exists, not explaining return values is acceptable, but the description does not clarify whether passing null clears a field or is ignored, nor does it mention failure behavior for invalid IDs.

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

Parameters5/5

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

Schema description coverage is 0%, yet the Args block adds meaningful semantics for all 13 parameters: UUIDs, rich HTML, ID types, positive-integer constraint, ISO datetime, replace semantics, and EPIC/sprint context. This fully compensates for the bare 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 opens with 'Update a ticket's fields', a clear verb-resource pair that immediately identifies what the tool does. It is distinct from the many sibling update_* tools because it targets the ticket object itself, not ticket statuses, priorities, categories, or other support entities.

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 statement 'Only fields you provide are changed' gives clear partial-update context and signals that this tool is for modifying an existing ticket rather than creating one. It does not explicitly name alternatives or exclusion cases, but the resource and action are unambiguous enough for correct selection among siblings.

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

wetrack_update_ticket_categoryC

Update a ticket category.

Args: category_id: The category ID. name: Category name (required). description: Optional description. color: Hex color. icon: Icon identifier. is_active: Active state.

ParametersJSON Schema
NameRequiredDescriptionDefault
iconNo
nameYes
colorNo
is_activeNo
category_idYes
descriptionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description must carry the full burden of behavioral disclosure. It only restates parameter names and minimal labels, and does not explain whether this is a partial update, whether omitted optional fields are left unchanged or reset, what side effects may occur, or what authentication or permissions are required. 'Update' signals mutation, but no meaningful behavior beyond that is disclosed.

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

Conciseness4/5

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

The description is short and front-loaded with the purpose, followed by a clean per-parameter list. There is no filler or redundancy relative to the information it conveys, though the argument list largely mirrors the input schema. It is appropriately sized for its content.

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

Completeness2/5

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

For a mutation tool with no annotations and six parameters, the description is minimally viable but incomplete. It covers parameter names and requiredness but omits behavioral context, update semantics, validation rules, and any warning about consequences. The presence of an output schema reduces the need to describe return values, but the description still lacks enough context for an agent to confidently use this tool correctly in all cases.

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 0% description coverage, so the description must compensate. It does provide brief semantics for every parameter: category_id is 'The category ID', name is required, description is optional, color is a hex color, icon is an identifier, and is_active is an active state. However, several labels are close to tautological or under-specified, and no constraints, allowed values, or formats beyond 'Hex color' are given.

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

Purpose4/5

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

The description states a specific verb and resource: 'Update a ticket category.' This clearly identifies the tool's operation and differentiates it from siblings like wetrack_create_ticket_category and wetrack_update_ticket_status by naming the exact entity being updated. It lacks a richer statement of scope, but the core purpose is 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 about when to use this tool versus alternatives such as wetrack_create_ticket_category, wetrack_get_ticket_category, or wetrack_update_ticket. There is no mention of prerequisites, intended call context, or exclusions. Usage must be inferred entirely from the tool name and the generic 'Update' verb.

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

wetrack_update_ticket_priorityA

Update a ticket priority by ID.

Args: priority_id: The priority ID. name: New priority name (required β€” code is auto-derived from it). priority_type: Severity bucket β€” 'LOW', 'MEDIUM', 'HIGH', 'CRITICAL'. resource: Resource type β€” 'SPRINT', 'TASK', 'PROJECT'. description: Optional description. color: Hex color. icon: Icon identifier.

ParametersJSON Schema
NameRequiredDescriptionDefault
iconNo
nameYes
colorNo
resourceNo
descriptionNo
priority_idYes
priority_typeNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

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

There are no annotations, so the description carries the full burden of behavioral disclosure. It states the update action and adds one useful behavioral detail ('code is auto-derived from name'), but it does not disclose authorization requirements, whether omitted optional fields are preserved or reset, reversibility, or downstream effects such as impacts on tickets using the priority.

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 front-loaded with the core action and then uses a clean Args list. Every line contributes meaningβ€”either clarifying the parameter's purpose or its allowed valuesβ€”without any filler or redundant schema repetition.

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

Completeness3/5

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

The description documents all parameters and an output schema is present, so return-value handling is not a gap. However, for an update operation with no annotations, it lacks guidance on usage context and partial-update semantics, which are important for an agent to correctly invoke it without unintended side effects.

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

Parameters5/5

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

Schema description coverage is 0%, but the description compensates fully by explaining all 7 parameters: priority_id, name, priority_type with allowed values, resource with allowed values, description, color, and icon. This is essential and high-value information that the schema alone does not provide.

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 opens with a specific verb and resource: 'Update a ticket priority by ID.' This clearly identifies the action and distinguishes it from sibling tools like wetrack_create_ticket_priority, wetrack_get_ticket_priority, and wetrack_delete_ticket_priority.

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 explicit guidance on when to use this tool versus sibling tools. It does not mention that this is for modifying an existing priority, nor does it point to get_ticket_priority for reading current values or create_ticket_priority for new priorities. The usage context is only implied by the tool name and verb.

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

wetrack_update_ticket_productB

Update a ticket product.

Args: product_id: The product ID. name: New name (required). description: New description. is_active: Active state.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYes
is_activeNo
product_idYes
descriptionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 carry the burden of behavioral disclosure. It only says 'Update' and lists fields, but does not explain whether this is a partial update, what happens when is_active is null, whether the update is reversible, or what response to expect.

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 compact and front-loaded with the action, followed by a clear parameter list. Every line adds useful information without unnecessary elaboration.

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 operation is simple, has four scalar parameters, and an output schema is present, so the description need not explain return values. However, because annotations are absent and the description lacks usage context, behavioral nuance, and a clear distinction from the toggle operation, it is only moderately complete for an agent deciding how to invoke 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 description coverage is 0%, so the description must compensate for missing parameter documentation. It provides brief semantic labels ('New name', 'New description', 'Active state'), which add minimal meaning beyond field names but do not fully clarify semantics such as null handling for is_active or the meaning of description.

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

Purpose5/5

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

The description states a specific verb and resource ('Update a ticket product'), which clearly identifies the operation. It distinguishes itself from the sibling tools like create_ticket_product, get_ticket_product, and toggle_ticket_product, since 'update' is a distinct 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?

There is no guidance on when to use this tool versus alternatives such as wetrack_toggle_ticket_product or wetrack_create_ticket_product. The description only lists arguments, leaving the agent to infer context from the tool name.

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

wetrack_update_ticket_statusA

Update a ticket status. Name, category, and resource are all required on update.

Args: status_id: The status ID. name: Status name. category: 'TO_DO', 'IN_PROGRESS', or 'DONE'. resource: 'SPRINT', 'TASK', or 'PROJECT'. description: Optional description. color: Hex color. icon: Icon identifier. pauses_sla: Whether this status pauses SLA timer.

ParametersJSON Schema
NameRequiredDescriptionDefault
iconNo
nameYes
colorNo
categoryYes
resourceYes
status_idYes
pauses_slaNo
descriptionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

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 carries the full burden. It discloses that name, category, and resource are required, but does not explain whether omitted optional fields are reset, whether the update is partial or full replacement, what side effects occur, or any permission requirements. This is a meaningful gap for a mutation tool.

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

Conciseness5/5

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

The description is compact, front-loaded with the operation, and uses a clean Args list. Every sentence adds useful information; there is no filler or redundancy.

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

Completeness3/5

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

For an 8-parameter update tool with no annotations, the description covers required fields, optional fields, and value constraints, which is solid. It falls short on update semanticsβ€”whether omitted optional fields are cleared or preservedβ€”and offers no routing guidance, so it is adequate but not complete.

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

Parameters4/5

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

Schema description coverage is 0%, and the description compensates well by listing all eight parameters and adding meaning: category and resource get explicit allowed values, color is identified as hex, and pauses_sla is explained. However, status_id ('The status ID') and icon ('Icon identifier') remain somewhat tautological.

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?

States a specific verb and resource: 'Update a ticket status.' It is clearly distinct from siblings like wetrack_update_ticket (updates a ticket) and wetrack_create_ticket_status/delete_ticket_status, and it signals the update-specific scope.

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

Usage Guidelines3/5

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

The intended use is implied by 'Update a ticket status' and the explicit required-fields note, but there is no direct guidance about when to prefer this over create/delete status tools or how it relates to wetrack_update_ticket. Context is present, but alternatives are not named.

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

wetrack_update_ticket_typeA

Update a ticket type.

Args: type_id: The ticket type ID. name: New name (required). description: New description. color: New hex color. icon: New icon identifier.

ParametersJSON Schema
NameRequiredDescriptionDefault
iconNo
nameYes
colorNo
type_idYes
descriptionNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

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

No annotations exist, so the description must disclose behavioral traits, but it only lists parameters. It does not say whether unspecified fields are preserved or reset, whether the update requires special permissions, what happens for a nonexistent type_id, or what the response contains. The word 'update' signals mutation, but no side effects or error behavior are disclosed.

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 one-line operation plus a clean per-parameter list with no filler or repetition. Every line earns its place, and the most important operation is 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?

For a low-complexity scalar CRUD update, the description plus schema covers the required fields and the output schema covers return values. However, it remains a minimum-viable definition because it lacks behavioral caveats such as partial-vs-full update semantics and does not mention auth or error conditions.

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

Parameters4/5

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

Schema coverage is 0%, and the description compensates by explaining every argument: type_id as the identifier, name as required, color as hex, icon as an identifier. This adds meaning beyond the bare schema titles/types, though it stops short of specifying allowed icon values or exact color formatting.

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 opens with 'Update a ticket type,' naming a specific verb and resource, and the sibling set includes create/get/list ticket type tools, so the operation is immediately distinguishable. It is not a tautology and clearly indicates an existing entity is being 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?

There is no guidance on when to choose this over create_ticket_type, get_ticket_type, or list_ticket_types, nor any mention of prerequisites or exclusions. Usage is only implied by the verb 'update'; no alternative routing or conditions are provided.

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

wetrack_update_userC

Update a user's profile fields.

Args: user_id: The user UUID or integer ID. first_name: New first name. last_name: New last name. role: New role β€” 'ADMIN', 'VITHI_USER', 'EMPLOYEE', 'CUSTOMER'. designation: New job title. Cannot be an empty string.

ParametersJSON Schema
NameRequiredDescriptionDefault
roleNo
user_idYes
last_nameNo
first_nameNo
designationNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It says 'Update' implying mutation, but does not disclose side effects (e.g., whether setting role to null clears it, whether designation constraint applies to all updates, or whether partial updates are supported). No mention of response format 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 extremely concise, a single sentence plus a parameter list. It is front-loaded with the main purpose and each parameter is presented as a bulleted list, making it easy to scan. 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?

There is an output schema, but the description does not explain what the tool returns. With 5 parameters and no annotations, the description lacks essential details: whether the update is partial or full, whether user_id must be a valid existing user, and any required permissions. This is a mutation tool with zero annotation coverage, so more context is needed.

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

Parameters1/5

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

Schema description coverage is 0%, meaning the description must compensate for the schema's lack of field explanations. However, the description merely lists parameter names without adding semantics beyond obvious meanings. For example, 'first_name' and 'last_name' are self-explanatory, but there is no explanation of the role's allowed values (only a list without context) and no note on which fields are optional or how null values are treated.

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 states 'Update a user's profile fields,' which clearly indicates the purpose. It lists specific fields and their constraints (e.g., role values, designation non-empty), distinguishing it from 'wetrack_create_user' and 'wetrack_get_user' in context.

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 description does not specify prerequisites such as whether the user must exist, whether update requires permissions, or when to use create_user instead. This is a gap for a mutation tool.

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

wetrack_update_widgetA

Update a report widget. At least one field must be provided.

Args: widget_id: Widget ID from wetrack_list_widgets. title: New display title (non-empty if provided). metric: New metric β€” see wetrack_create_widget for valid values. dimension: New dimension β€” see wetrack_create_widget for valid values. chart_type: Switch chart type β€” 'BAR', 'LINE', 'PIE', 'DONUT', 'TABLE', 'AREA'. is_visible: Show/hide the widget (True = show, False = hide).

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNo
metricNo
dimensionNo
widget_idYes
chart_typeNo
is_visibleNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.3/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 of behavioral disclosure. It does disclose the partial-update rule, the allowed chart_type values, and the meaning of is_visible. However, it does not state whether omitted fields are preserved or reset, nor any side effects or permission requirements, leaving meaningful behavioral ambiguity.

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 compact and well-structured: a one-line purpose, a key constraint, and an Args block with a single sentence per parameter. No filler or repeated schema 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?

All six parameters are covered, the widget_id source is specified, and an output schema exists so return-value documentation is not needed. The only notable gap is the absence of explicit behavior for omitted fields in a partial update, which matters for a tool like this.

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

Parameters5/5

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

Schema description coverage is 0%, but the description compensates thoroughly by explaining every parameter: widget_id provenance, title's non-empty constraint, metric/dimension pointer to wetrack_create_widget, chart_type enum values, and is_visible semantics. This adds substantial value beyond the bare schema properties.

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 opens with 'Update a report widget,' a specific verb and resource, and immediately adds the partial-update constraint ('At least one field must be provided'). This clearly separates it from sibling tools like create, delete, reorder, or fetch widget operations.

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 operational context: requires a widget_id from wetrack_list_widgets and states that at least one mutable field must be supplied. It does not explicitly contrast with wetrack_create_widget or wetrack_delete_widget for when to use one versus the other, but the update workflow is unambiguous and the prerequisite is helpful.

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

Tool Schema Changelog

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

  1. 110 tool updatesv1.0.0
    • First observedwetrack_add_client_members
    • First observedwetrack_add_project_file
    • First observedwetrack_add_ticket_attachment
    • First observedwetrack_add_ticket_comment
    • First observedwetrack_bulk_create_users
    • First observedwetrack_change_password
    • First observedwetrack_create_client
    • First observedwetrack_create_metadata_field
    • First observedwetrack_create_organisation
    • First observedwetrack_create_project
    • First observedwetrack_create_project_folder
    • First observedwetrack_create_sprint
    • First observedwetrack_create_support_ticket
    • First observedwetrack_create_ticket_category
    • First observedwetrack_create_ticket_priority
    • First observedwetrack_create_ticket_product
    • First observedwetrack_create_ticket_status
    • First observedwetrack_create_ticket_type
    • First observedwetrack_create_user
    • First observedwetrack_create_widget
    • First observedwetrack_create_work_item
    • First observedwetrack_delete_metadata_field
    • First observedwetrack_delete_project
    • First observedwetrack_delete_project_file
    • First observedwetrack_delete_project_folder
    • First observedwetrack_delete_sprint
    • First observedwetrack_delete_ticket_attachment
    • First observedwetrack_delete_ticket_priority
    • First observedwetrack_delete_ticket_status
    • First observedwetrack_delete_widget
    • First observedwetrack_exit_impersonation
    • First observedwetrack_forgot_password
    • First observedwetrack_get_client
    • First observedwetrack_get_current_user
    • First observedwetrack_get_dashboard
    • First observedwetrack_get_metadata_field
    • First observedwetrack_get_microsoft_signin_url
    • First observedwetrack_get_my_sprint_report
    • First observedwetrack_get_my_work_report
    • First observedwetrack_get_oauth_callback_info
    • First observedwetrack_get_project
    • First observedwetrack_get_project_overview
    • First observedwetrack_get_project_reports
    • First observedwetrack_get_project_sprints
    • First observedwetrack_get_project_stats
    • First observedwetrack_get_project_users
    • First observedwetrack_get_recent_projects
    • First observedwetrack_get_reports
    • First observedwetrack_get_reports_catalog
    • First observedwetrack_get_sprint
    • First observedwetrack_get_ticket
    • First observedwetrack_get_ticket_attachments
    • First observedwetrack_get_ticket_category
    • First observedwetrack_get_ticket_comments
    • First observedwetrack_get_ticket_history
    • First observedwetrack_get_ticket_priority
    • First observedwetrack_get_ticket_product
    • First observedwetrack_get_ticket_status
    • First observedwetrack_get_ticket_type
    • First observedwetrack_get_ticket_watchers
    • First observedwetrack_get_unread_notification_count
    • First observedwetrack_get_upload_instructions
    • First observedwetrack_get_upload_presign_url
    • First observedwetrack_get_user
    • First observedwetrack_get_webhook_info
    • First observedwetrack_get_widget_data
    • First observedwetrack_impersonate
    • First observedwetrack_list_clients
    • First observedwetrack_list_metadata_fields
    • First observedwetrack_list_notifications
    • First observedwetrack_list_organisations
    • First observedwetrack_list_project_files
    • First observedwetrack_list_projects
    • First observedwetrack_list_sprints
    • First observedwetrack_list_ticket_categories
    • First observedwetrack_list_ticket_priorities
    • First observedwetrack_list_ticket_products
    • First observedwetrack_list_ticket_statuses
    • First observedwetrack_list_ticket_types
    • First observedwetrack_list_tickets
    • First observedwetrack_list_timezones
    • First observedwetrack_list_users
    • First observedwetrack_list_widgets
    • First observedwetrack_mark_all_notifications_read
    • First observedwetrack_mark_notification_read
    • First observedwetrack_record_project_access
    • First observedwetrack_reorder_widgets
    • First observedwetrack_resend_invite
    • First observedwetrack_search
    • First observedwetrack_set_password
    • First observedwetrack_set_token
    • First observedwetrack_sign_in
    • First observedwetrack_sign_out
    • First observedwetrack_toggle_metadata_field_status
    • First observedwetrack_toggle_ticket_product
    • First observedwetrack_toggle_ticket_watch
    • First observedwetrack_trigger_sla_check
    • First observedwetrack_trigger_sprint_burndown_snapshot
    • First observedwetrack_update_client
    • First observedwetrack_update_metadata_field
    • First observedwetrack_update_project
    • First observedwetrack_update_sprint
    • First observedwetrack_update_ticket
    • First observedwetrack_update_ticket_category
    • First observedwetrack_update_ticket_priority
    • First observedwetrack_update_ticket_product
    • First observedwetrack_update_ticket_status
    • First observedwetrack_update_ticket_type
    • First observedwetrack_update_user
    • First observedwetrack_update_widget

TDQS

B3.1/5.0

Scored across 110 tools

Disambiguation2/5

Multiple reporting/dashboard tools (wetrack_get_reports, wetrack_get_dashboard, wetrack_get_project_reports, wetrack_get_project_overview, wetrack_get_project_stats) have heavily overlapping purposes and outputs, making misselection likely. The client vs organisation tools are also ambiguous since both describe similar organisation entities with nearly identical fields.

Naming Consistency4/5

Most tools follow a consistent wetrack_verb_noun snake_case pattern, which makes the set readable and predictable. There are minor deviations such as add_ vs create_ verbs, sign_in vs the signin_url naming, and the similar list_organisations/list_clients pair, but the overall convention remains strong.

Tool Count1/5

At 110 tools, the surface is far beyond a manageable MCP tool set and creates a severe agent selection burden. Even though the domain is broad, many tools are niche admin, reporting, and system-trigger utilities that should be consolidated or exposed through fewer composite tools.

Completeness4/5

The tool surface is broad and covers most core lifecycle operations for projects, tickets, sprints, users, configurations, files, notifications, and reports. Notable gaps include no ticket deletion, no user deactivation/deletion, and no client/organisation removal, but these are workable gaps rather than fundamental dead ends.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables AI assistants to interact with JetBrains YouTrack 2025.2 for managing issues, sprints, dependencies, time tracking, and knowledge base content. Supports CRUD operations, bulk commands, analytics with Gantt charts and critical path analysis, and covers ~80% of the YouTrack REST API.
    11 npm
    52
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with Yandex.Tracker task management system through MCP protocol. Supports creating and managing issues, searching tasks, handling comments, managing projects and queues, and generating analytics reports.
    -