# Timix.AI (ai.timix/time-tracking): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/ai.timix%2Ftime-tracking/versions/latest)
- Connected to: https://api.timix.ai/api/integration/v1/mcp
- Homepage: https://timix.ai/
- Scoring rules: v2
- Tools: 114
- Average: 43.9 / 100 (Cloudy)
- Near-identical pairs: 13

This page shows how Timix.AI (ai.timix/time-tracking)'s tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

Forecall asked the URL this server lists in the official MCP Registry for its tools/list once, on the date above, without calling any tool. The server may have changed since.

## Across the server

- Major: 114 tools. Above 40, models choose less accurately.
- Minor: 13 pairs with nearly the same description in all; the top 12 are shown.

## Tools

- `get_billing_report`: 31 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: customer_id. Name the tool or the place that returns it, or models look it up first.
- `get_customer_info`: 31 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: customer_id. Name the tool or the place that returns it, or models look it up first.
- `get_invoice`: 31 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: invoice_id. Name the tool or the place that returns it, or models look it up first.
- `get_project_status`: 31 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `list_customers`: 31 / 100
  - Major: The description only restates the name (6 words).
  - Major: The description is too short (6 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_scheduled_reports`: 31 / 100
  - Major: The description only restates the name (8 words).
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `cancel_timer`: 32 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_projects`: 32 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_recycle_bin`: 32 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `cancel_scheduled_report`: 33 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `get_dashboard_metrics`: 33 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `list_invoices`: 33 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `commit_import`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `create_scheduled_report`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `delete_organization`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Major: It may be destructive, but destructiveHint is not set.
- `get_frame_order_utilization`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `update_scheduled_report`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: name.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: id. Name the tool or the place that returns it, or models look it up first.
- `use_favorite`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: favorite_id. Name the tool or the place that returns it, or models look it up first.
- `delete_favorite`: 36 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: favorite_id. Name the tool or the place that returns it, or models look it up first.
- `list_favorites`: 38 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `reissue_invoice`: 38 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: invoice_id. Name the tool or the place that returns it, or models look it up first.
- `start_timer`: 38 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: subtask_id. Name the tool or the place that returns it, or models look it up first.
- `update_time_report`: 38 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: time_report_id. Name the tool or the place that returns it, or models look it up first.
- `void_invoice`: 38 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: invoice_id. Name the tool or the place that returns it, or models look it up first.
- `delete_subtask`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: subtask_id. Name the tool or the place that returns it, or models look it up first.
- `update_custom_field`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: title.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: field_definition_id. Name the tool or the place that returns it, or models look it up first.
- `update_user_preferences`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_hours_summary`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_resource_utilization`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `mark_time_invoiced`: 40 / 100
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: time_report_ids. Name the tool or the place that returns it, or models look it up first.
- `remove_user_from_customer`: 40 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: customer_id, org_user_id. Name the tool or the place that returns it, or models look it up first.
- `manage_user_work_schedule`: 41 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
- `check_budget_limits`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: sub_task_id. Name the tool or the place that returns it, or models look it up first.
- `delete_customer`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: customer_id. Name the tool or the place that returns it, or models look it up first.
- `delete_draft_invoice`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: invoice_id. Name the tool or the place that returns it, or models look it up first.
- `delete_project`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `delete_task`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: task_id. Name the tool or the place that returns it, or models look it up first.
- `get_budget_alerts`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_budget_health`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_unbilled_time`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `mark_invoice_paid`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: invoice_id. Name the tool or the place that returns it, or models look it up first.
- `search`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `stop_timer`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `approve_timesheet`: 43 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: submission_period_id. Name the tool or the place that returns it, or models look it up first.
- `assign_user_to_project`: 43 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `copy_period`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `create_credit_note`: 43 / 100
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: invoice_id. Name the tool or the place that returns it, or models look it up first.
- `create_frame_order`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: customer_id. Name the tool or the place that returns it, or models look it up first.
- `create_subtask`: 43 / 100
  - Minor: String arguments with no constraint or example: name, description.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: task_id. Name the tool or the place that returns it, or models look it up first.
- `generate_invoice`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: customer_id. Name the tool or the place that returns it, or models look it up first.
- `get_cost_rate_history`: 43 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: user_id. Name the tool or the place that returns it, or models look it up first.
- `get_employee_timesheet`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `get_my_time_entries`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `issue_invoice`: 43 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: invoice_id. Name the tool or the place that returns it, or models look it up first.
- `reject_timesheet`: 43 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: submission_period_id. Name the tool or the place that returns it, or models look it up first.
- `reopen_month`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `submit_timesheet`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `update_draft_invoice`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: invoice_id. Name the tool or the place that returns it, or models look it up first.
- `update_frame_order`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: frame_order_id. Name the tool or the place that returns it, or models look it up first.
- `update_user_profile`: 43 / 100
  - Minor: String arguments with no constraint or example: first_name, last_name, country, job_title.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: org_user_id. Name the tool or the place that returns it, or models look it up first.
- `update_project`: 44 / 100
  - Minor: String arguments with no constraint or example: name.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `update_task`: 44 / 100
  - Minor: String arguments with no constraint or example: name, description.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: task_id. Name the tool or the place that returns it, or models look it up first.
- `cancel_invite`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: invite_id. Name the tool or the place that returns it, or models look it up first.
- `change_user_role`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: org_user_id. Name the tool or the place that returns it, or models look it up first.
- `close_frame_order`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: frame_order_id. Name the tool or the place that returns it, or models look it up first.
- `create_customer`: 45 / 100
  - Minor: String arguments with no constraint or example: name, country.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `delete_api_key`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Required identifiers whose description does not say where the value comes from: key_id. Name the tool or the place that returns it, or models look it up first.
- `delete_custom_field`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: custom_field_id. Name the tool or the place that returns it, or models look it up first.
- `delete_holiday_profile`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: holiday_profile_id. Name the tool or the place that returns it, or models look it up first.
- `delete_time_report`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: time_report_id. Name the tool or the place that returns it, or models look it up first.
- `delete_work_schedule`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: work_schedule_id. Name the tool or the place that returns it, or models look it up first.
- `disable_user`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: org_user_id. Name the tool or the place that returns it, or models look it up first.
- `recall_timesheet`: 45 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `resend_invite`: 45 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: invite_id. Name the tool or the place that returns it, or models look it up first.
- `set_budget_thresholds`: 45 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `set_org_work_schedule`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: notes.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `close_month`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Says nothing about what it returns.
- `create_favorite`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: customer_id, project_id, task_id, sub_task_id.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: customer_id, project_id, task_id, sub_task_id. Name the tool or the place that returns it, or models look it up first.
- `delete_frame_order`: 47 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: frame_order_id. Name the tool or the place that returns it, or models look it up first.
- `set_custom_field_value`: 47 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: entity_id, field_id. Name the tool or the place that returns it, or models look it up first.
- `validate_import`: 47 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `assign_user_to_customer`: 48 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: customer_id. Name the tool or the place that returns it, or models look it up first.
- `create_task`: 48 / 100
  - Minor: String arguments with no constraint or example: name, description.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `list_my_time_entries`: 48 / 100
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
- `log_time`: 48 / 100
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: subtask_id. Name the tool or the place that returns it, or models look it up first.
- `move_project`: 48 / 100
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id, new_customer_id. Name the tool or the place that returns it, or models look it up first.
- `move_subtask`: 48 / 100
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: subtask_id, new_task_id. Name the tool or the place that returns it, or models look it up first.
- `move_task`: 48 / 100
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: task_id, new_project_id. Name the tool or the place that returns it, or models look it up first.
- `permanent_delete_entity`: 48 / 100
  - Minor: Says nothing about what it returns.
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: entity_id. Name the tool or the place that returns it, or models look it up first.
- `remove_user_project`: 48 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: org_user_id, project_id. Name the tool or the place that returns it, or models look it up first.
- `restore_entity`: 48 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: entity_id. Name the tool or the place that returns it, or models look it up first.
- `undo_write_off`: 48 / 100
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: time_report_id. Name the tool or the place that returns it, or models look it up first.
- `update_customer`: 48 / 100
  - Minor: String arguments with no constraint or example: country.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: customer_id. Name the tool or the place that returns it, or models look it up first.
- `write_off_time`: 48 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: time_report_id. Name the tool or the place that returns it, or models look it up first.
- `get_import_template`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `remove_user`: 50 / 100
  - Major: It may be destructive, but destructiveHint is not set.
  - Minor: Required identifiers whose description does not say where the value comes from: org_user_id. Name the tool or the place that returns it, or models look it up first.
- `reopen_timesheet`: 50 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: submission_period_id. Name the tool or the place that returns it, or models look it up first.
- `send_invoice`: 50 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: invoice_id. Name the tool or the place that returns it, or models look it up first.
- `update_org_settings`: 50 / 100
  - Minor: String arguments with no constraint or example: name, country.
  - Minor: No `required` list, so every argument is optional.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `set_user_cost_rate`: 51 / 100
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: user_id. Name the tool or the place that returns it, or models look it up first.
- `create_custom_field`: 52 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: field_id. Name the tool or the place that returns it, or models look it up first.
- `bulk_update_time_reports`: 53 / 100
  - Minor: Required identifiers whose description does not say where the value comes from: ids. Name the tool or the place that returns it, or models look it up first.
- `enable_user`: 53 / 100
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: org_user_id. Name the tool or the place that returns it, or models look it up first.
- `get_project_team`: 53 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: project_id. Name the tool or the place that returns it, or models look it up first.
- `update_holiday_profile`: 53 / 100
  - Minor: String arguments with no constraint or example: name, notes.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: profile_id. Name the tool or the place that returns it, or models look it up first.
- `update_subtask`: 53 / 100
  - Minor: String arguments with no constraint or example: name, description.
  - Minor: Says nothing about what it returns.
  - Minor: Required identifiers whose description does not say where the value comes from: subtask_id. Name the tool or the place that returns it, or models look it up first.
- `create_project`: 54 / 100
  - Minor: String arguments with no constraint or example: name.
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: customer_id. Name the tool or the place that returns it, or models look it up first.
- `bulk_update_cost_rates`: 56 / 100
  - Minor: Says nothing about what it returns.
- `create_holiday_profile`: 58 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `create_time_report`: 58 / 100
  - Minor: Says nothing about what it returns.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
  - Minor: Required identifiers whose description does not say where the value comes from: subtask_id. Name the tool or the place that returns it, or models look it up first.
- `find_billing_work`: 62 / 100
  - Minor: No `required` list, so every argument is optional.
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `invite_user`: 62 / 100
  - Minor: No constraints, side effects, auth or rate limits described, and no annotations.
- `suggest_holiday_profile`: 65 / 100
- `bulk_create_time_reports`: 73 / 100

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

[All scored servers](https://forecall.dev/en/servers)
