mfit_get_invoices
Get invoices/billing for one or many students (bulk via client_ids).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| client_id | No | ||
| client_ids | No |
Get invoices/billing for one or many students (bulk via client_ids).
| Name | Required | Description | Default |
|---|---|---|---|
| account | No | ||
| client_id | No | ||
| client_ids | No |
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds that it can retrieve invoices for one or many students via client_ids, but does not add behavioral context beyond what annotations provide (e.g., no mention of authorization or rate limits).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, front-loaded sentence that efficiently conveys the core purpose without extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description omits critical details such as response format, behavior when no parameters are provided, and potential pagination. For a billing tool, these gaps reduce completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so description must compensate. It explains that client_ids enables bulk retrieval but does not clarify the roles of 'account' or 'client_id', leaving two parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the verb 'Get', the resource 'invoices/billing', and the target 'students'. It distinguishes between single and bulk retrieval via client_ids, clearly differentiating from sibling tools like mfit_get_finances (broader finance) and mfit_client_get (client info).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives (e.g., mfit_get_finances for finance overview). It implies usage for invoices but does not state when not to use or provide exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.
Many tools have identical descriptions but different names (e.g., mfit_client_get, mfit_client_list, mfit_client_list_groups all share the same description text). The flattened action pattern creates multiple tools for each action, making it extremely difficult for an agent to choose the correct one. Tools like mfit_workout_write_add_exercise and mfit_workout_write_archive_routine share the same verbose description, leading to high ambiguity.
The naming follows a loose mfit_<domain>_<action> pattern, but there is inconsistency: some tools use 'get' (mfit_get_client_count), others use 'list' (mfit_client_list), and actions like 'write' are overloaded with multiple sub-actions. The pattern is not uniform, and the flattened action suffix adds confusion.
With 48 tools, the count is excessive for what appears to be a single-domain server (personal training management). Many tools are redundant because they only differ by a single action parameter. The number could be reduced significantly by consolidating related operations.
The server covers a wide range of functionality: client management, workouts, exercises, files, finances, retention, and feedback. However, there are notable gaps such as direct messaging, advanced analytics, or payment processing. The duplication of tools also suggests that the actual feature set is less complete than the tool count implies.