Coordinalo — Service Business Operations
Server Details
Scheduling, availability, clients, billing and CRM for appointment-based services.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- danioni/coordinalo-mcp
- GitHub Stars
- 1
- Server Listing
- Coordinalo MCP Server
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 3.9/5 across 111 of 111 tools scored. Lowest: 2.8/5.
Multiple parallel booking creation flows (booking_create, scheduling_book, public_booking_create) and session state transition tools (booking_update_status, lifecycle_transition) create ambiguity. While descriptions are detailed, an agent could easily select the wrong tool for a given task, especially with 111 tools to choose from.
Most tools follow a consistent domain_action pattern (e.g., client_create, service_update, comms_list_campaigns). Minor deviations include Spanish/English mixing (cierre_*, report_deuda_real) and a few noun-only names like org_summary, but the overall structure is predictable.
With 111 tools, the server is massively over-scoped for an MCP surface. Even for a broad service business domain, this exceeds reasonable limits and will overwhelm agents, making tool selection slower and more error-prone.
The tool surface is extremely thorough, covering org setup, services, providers, booking (internal/public/spec), finance, payroll, closing, disputes, clinical notes, treatment plans, and reporting. Gaps are rare and often intentional (e.g., no deliver via MCP, read-only treatment plans), so agents can complete most workflows end-to-end.
Available Tools
111 toolsadmin_create_serviceAInspect
Add a bookable service to an organization. Use after admin_create_organization. Auto-discoverable by default. If the org has exactly one active provider, the service is auto-assigned to them. With multiple providers, use service_assign_provider to assign manually — unassigned services block admin_toggle_discoverable. Next step: admin_set_availability to configure the provider schedule. Requires X-Org-Api-Key header.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| price | Yes | ||
| apiKey | No | ||
| orgSlug | Yes | ||
| currency | No | ||
| vertical | No | ||
| description | No | ||
| duration_minutes | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and meets it admirably. It discloses that services are auto-discoverable by default, auto-assigned when there is exactly one active provider, and that unassigned services block admin_toggle_discoverable. It also states the required X-Org-Api-Key header, providing rich behavioral and authentication context.
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?
The description is dense but front-loaded with the core purpose. Four sentences pack significant workflow and behavioral detail without wasted words. The structure could be slightly clearer by separating the auth requirement, but overall it is efficient for the amount of information.
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?
For an 8-parameter creation tool with no output schema and no annotations, the description provides strong contextual completeness: preconditions, assignment behavior, blocking condition, and next steps. The main gap is lack of return-value or parameter details, but the workflow context is well covered.
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?
The schema has 0% description coverage, and the description does not compensate. It never explains parameters like orgSlug, duration_minutes, price, currency, vertical, or apiKey. While the purpose mentions "organization" and "provider schedule," there is no mapping to specific parameters, leaving the agent guessing about parameter formats, constraints, or relationships.
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 clearly states the tool's purpose: "Add a bookable service to an organization." It uses a specific verb and resource, and the context about auto-discoverability and auto-assignment hints at admin-specific behavior, distinguishing it from generic siblings like service_create. However, it does not explicitly contrast with alternative service creation tools, so it falls short of a 5.
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?
The description explicitly says "Use after admin_create_organization," providing a clear precondition. It also names alternatives: "use service_assign_provider to assign manually" and "Next step: admin_set_availability." This is exemplary guidance for when and how to use the tool within the workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
admin_list_providersAInspect
List active providers (professionals) for an organization. Use this to get providerId before calling admin_set_availability. The org owner is auto-provisioned as a provider. Requires X-Org-Api-Key header.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and adds value by disclosing the auth header requirement and the auto-provisioning behavior of the org owner. It could mention pagination or response shape, but for a read-only list operation it's reasonably transparent.
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?
The description is four compact sentences, each earning its place: purpose, usage, behavioral nuance, and auth requirement. No fluff or redundancy.
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?
It covers purpose, usage, auth, and a relevant behavioral quirk, but lacks parameter-level clarity and doesn't describe the response fields (e.g., providerId) despite having no output schema. Adequate but with clear gaps.
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 coverage is 0%, and the description only vaguely alludes to 'an organization' (implying orgSlug) without explaining the orgSlug parameter. The apiKey parameter is entirely unaddressed, especially in relation to the X-Org-Api-Key header.
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 clearly states the tool lists active providers (professionals) for an organization, using a specific verb and resource. It distinguishes itself from siblings like provider_get by focusing on listing active providers for an org context.
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?
Explicitly says 'Use this to get providerId before calling admin_set_availability' and notes the required X-Org-Api-Key header. It gives clear context and prerequisites, though it doesn't mention when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
admin_set_availabilityAInspect
Replace the weekly availability schedule for a provider (not additive — overwrites all existing blocks). Get providerId from admin_list_providers first. Schedule uses day names and HH:MM times. Requires X-Org-Api-Key header.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes | ||
| schedule | Yes | ||
| providerId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full responsibility for disclosing behavior. It explicitly warns that the operation overwrites all existing blocks, which is the key destructive trait, and also mentions the required header and time format. This is strong disclosure for a mutation tool, though it could mention irreversibility 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each with a distinct purpose: main action with critical caveat, prerequisite, and format/auth details. Front-loaded and no wasted words, making it easy to parse quickly.
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?
Given the tool's complexity (4 parameters, no annotations, no output schema), the description covers the destructive behavior, input format, auth requirement, and how to obtain providerId. It could mention the return value or error scenarios, but for a setter tool, the essential context is present. The sibling availability_get_provider_schedule exists, but a cross-reference is not strictly necessary.
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?
The schema has 0% description coverage, so the description must compensate. It explains the schedule format ('day names and HH:MM times') and mentions that providerId comes from admin_list_providers. It also implies the apiKey is the X-Org-Api-Key header. However, orgSlug is not explained, and the description does not fully cover all parameter meanings, leaving a gap.
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 clearly states the tool replaces the weekly availability schedule for a provider, with a specific verb ('Replace') and resource. It distinguishes from siblings by emphasizing 'not additive — overwrites all existing blocks,' which is a key differentiator from merely adding or updating availability.
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?
The description provides usage guidance by stating to get providerId from admin_list_providers first, and it clarifies when to use this tool by noting it overwrites rather than adds. It does not explicitly name alternative tools, but the context is clear enough for an agent to understand when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
admin_toggle_discoverableAInspect
Toggle the LIFECYCLE flags isPublic and servicialoPublished. ⚠️ This tool does NOT grant public discovery consent — discovery in the Servicialo registry requires Organization.discoveryConsent=true, which can ONLY be set by the human owner via PATCH /api/organizations/:slug/servicialo from the web panel (a deliberate, authenticated consent action). Without consent, the cron registry-sync and resolver-heartbeat skip the org, so calling this tool with discoverable=true on a non-consented org flips local flags but does not publish anywhere. Requires X-Org-Api-Key header.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes | ||
| discoverable | Yes |
Tool Definition Quality
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 flips local flags but does not publish without Organization.discoveryConsent=true, requires the X-Org-Api-Key header, and that cron/resolver skip non-consented orgs. This goes well beyond a simple 'toggle' and provides important side-effect context.
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?
The description is detailed but front-loaded with the core action in the first sentence. Each warning serves a critical purpose, and the flow from action to limitation to consequence to auth requirement is logical. No sentence is wasted.
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?
Given the lack of annotations, output schema, and schema descriptions for the 3 parameters, the description covers all essential aspects: what the tool does, when it has no effect, who can grant consent, the auth header, and downstream behavior. It is highly complete for an agent to make an informed call.
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?
The schema has 0% description coverage, so the description must compensate. It clarifies the semantics of the `discoverable` parameter (local flag only, not actual publication) and maps `apiKey` to the required X-Org-Api-Key header. However, `orgSlug` is not explicitly described, though its purpose is inferable from the operation.
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?
Clearly states the tool's function: toggling the LIFECYCLE flags isPublic and servicialoPublished. This specific verb+resource combination distinguishes it from sibling tools like lifecycle_transition and admin_update. The consent warning doesn't obscure the primary purpose.
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?
Explicitly describes when this tool should not be relied upon (non-consented orgs) and names the alternative: human owner via PATCH endpoint. It also explains the consequence of using it without consent, telling the agent when to expect no publication. This is strong 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.
agendas_createAInspect
Create a public agenda — a shareable booking page where external clients can self-book appointments. Links to a specific provider and/or service. The agenda gets a public URL at /{orgSlug}/agenda/{slug}. Create this after services and availability are configured. Without a public agenda, clients can only be booked via the API or dashboard.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| title | No | ||
| apiKey | No | ||
| orgSlug | Yes | ||
| isActive | No | ||
| isPublic | No | ||
| description | No | ||
| proveedorId | No | ||
| showSessions | No | ||
| showClientNames | No | ||
| bookingFlowOrder | No | ||
| defaultDurations | No | ||
| showProviderList | No | ||
| assignmentStrategy | No | ||
| requiresPrepayment | No | ||
| allowGroupSelection | No | ||
| serviceSelectionMode | No | ||
| providerSelectionMode | No | ||
| showProviderUtilization | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. It discloses that the created agenda is public and gains a URL, and that it links to a provider/service. However, it does not mention auth requirements, failure modes, validation rules, or side effects like slug uniqueness.
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?
The description is four focused sentences: what it creates, how it links, its public URL, and when to create it. It is front-loaded and every sentence adds value without being verbose.
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 19 parameters, no output schema, and no annotations, this description is insufficient for an agent to confidently invoke the tool correctly. It omits return value shape, defaults for flags like isPublic, and the meaning of many configurable enums and options.
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 the description should compensate for 19 parameters. It only indirectly explains orgSlug and slug through the URL pattern /{orgSlug}/agenda/{slug}. Most parameters like assignmentStrategy, bookingFlowOrder, or serviceSelectionMode are left unexplained.
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 clearly states what the tool does: creates a public agenda, a shareable booking page, and links it to a provider and/or service. It distinguishes itself from sibling tools like agendas_update and agendas_delete by focusing on creation and the resulting public URL.
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?
It explicitly says to create this after services and availability are configured, giving a clear prerequisite context. It also explains the consequence of not having a public agenda (clients can only be booked via API or dashboard), which helps agents decide when to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agendas_deleteAInspect
Delete a public agenda permanently. Cascades to related sessions booked through this agenda, comments, and service configs. Requires confirm: true. Cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| confirm | Yes | ||
| orgSlug | Yes | ||
| agendaId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden and does so excellently. It discloses the destructive nature (permanent deletion), the cascade effects on related sessions/comments/service configs, the confirm requirement, and irreversibility. This goes beyond simple 'delete' and gives the agent essential safety information.
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?
The description is three sentences, each carrying a distinct piece of information: action and permanence, cascading effects, and confirm requirement plus irreversibility. There is no filler or redundancy; perfect conciseness for the needed detail.
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?
For a destructive tool with no annotations and no output schema, this description covers the essential aspects: what is deleted, the extent of deletion (cascade), the required confirmation flag, and irreversibility. It provides enough context for an agent to safely invoke the tool.
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 the description must compensate. It adds semantic value for 'confirm' (requires true) and 'agendaId' (cascade effects on related data), but it does not clarify 'orgSlug', 'agendaId' identification, or 'apiKey' usage. The compensation is partial, so a mid-range score is appropriate.
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 uses the specific verb 'Delete' with the resource 'public agenda', explicitly states 'permanently' and 'Cannot be undone', which clearly distinguishes this destructive action from sibling tools like agendas_update or agendas_get. The scope is unambiguous.
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?
The description provides clear operational context: requires confirm: true, cascades to related sessions/comments/service configs, and is irreversible. This effectively implies when to use it (only when permanent deletion is intended) but does not explicitly name alternatives or provide when-not-to-use exclusions, so it falls slightly short of full usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agendas_getAInspect
Get complete details of a public agenda by ID. Returns all configuration including booking flow (service_first, provider_first, auto), selection modes, assignment strategy, privacy settings, linked provider/service, and session count. Use before agendas_update to inspect current settings.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes | ||
| agendaId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and enumerates return content: booking flow, selection modes, assignment strategy, privacy settings, linked provider/service, and session count. It clearly labels the agenda as 'public' but does not address auth failures or error behavior, so it's not a perfect 5.
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?
Two sentence description, front-loads purpose in sentence one and packs return details plus usage advice in sentence two. No redundant filler.
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?
For a simple get-by-ID tool, the description covers purpose, return payload highlights, and a usage context. Missing edge-case behavior (private agenda handling, 404 responses) but sufficient for basic invocation.
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?
The only parameter hint is 'by ID' suggesting agendaId; the description does not explain orgSlug or apiKey. With 0% schema coverage, the description fails to compensate for the undocumented parameters, though the parameter names are fairly self-explanatory.
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 opens with a specific verb and resource: 'Get complete details of a public agenda by ID.' It clearly distinguishes itself from sibling list/create/update tools by focusing on retrieval of a single agenda's full configuration.
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?
Explicitly states 'Use before agendas_update to inspect current settings,' providing a concrete workflow and differentiating from update. It also implies the tool is for single-agenda reads rather than listing via agendas_list, though it doesn't enumerate all exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agendas_listBInspect
List public agendas for an organization. Returns agendas with their provider, service, and session counts.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes |
Tool Definition Quality
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 states that it returns agendas and mentions the 'public' nature, but does not disclose whether authentication is needed (despite an apiKey parameter), possible pagination, rate limits, or any side effects. The read-only nature is implied by 'List' but not explicitly declared.
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?
The description is concise, consisting of a single sentence that front-loads the core action and resource. The additional detail about return content is relevant and earns its place. No unnecessary words or filler.
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?
For a simple list operation with two parameters and no output schema, the description provides the essential purpose and return overview, which is adequate but incomplete. It lacks parameter descriptions and usage context, but the tool is simple enough that the agent can partially infer from the schema names. The description is not as complete as it could be given the absence of annotations and output schema.
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?
The schema description coverage is 0%, so the description must compensate for the lack of parameter explanations. However, it does not mention orgSlug or apiKey at all, and only weakly alludes to the organization via 'for an organization'. The agent cannot derive parameter meaning from the description beyond what the parameter names already suggest.
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 clearly states the verb 'List', the resource 'public agendas', and the scope 'for an organization'. It also mentions the response content (provider, service, session counts), which helps distinguish it from other agenda tools like agendas_get or agendas_create. The purpose is unambiguous and well-defined.
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?
The description implies when to use this tool (when listing public agendas) but does not explicitly state exclusions or alternatives. It could mention that for a single agenda, agendas_get is appropriate, but such guidance is missing. The context is clear but not fully developed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
agendas_updateAInspect
Update a public agenda’s configuration. Partial update — only provided fields are changed. Supports modifying: title, description, visibility (isPublic/isActive), booking flow order (service_first/provider_first/auto), selection modes for service and provider (required/optional/auto/hidden), assignment strategy (manual/round_robin/least_booked/most_available/priority/random), privacy flags (showSessions, showClientNames, showProviderUtilization, showProviderList), prepayment, and provider/service linking. When a provider is assigned, their services are auto-linked to the agenda.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | ||
| title | No | ||
| apiKey | No | ||
| orgSlug | Yes | ||
| agendaId | Yes | ||
| category | No | ||
| isActive | No | ||
| isPublic | No | ||
| expiresAt | No | ||
| isDefault | No | ||
| description | No | ||
| proveedorId | No | ||
| showSessions | No | ||
| showClientNames | No | ||
| bookingFlowOrder | No | ||
| defaultDurations | No | ||
| showProviderList | No | ||
| assignmentStrategy | No | ||
| requiresPrepayment | No | ||
| allowGroupSelection | No | ||
| serviceSelectionMode | No | ||
| providerSelectionMode | No | ||
| showProviderUtilization | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses partial update behavior and auto-linking side effect when a provider is assigned. No annotations are provided, so description carries burden; it covers key behaviors but omits permissions and 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and partial-update note, then compactly lists supported modifications in a structured manner. No filler.
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?
Despite 23 parameters and no output schema, the description conveys core semantics and side effects, but lacks details on return values, validation, or required fields beyond the obvious; still adequate for most use cases.
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?
With 0% schema description coverage, the description compensates by enumerating updatable fields, enum values for bookingFlowOrder, assignmentStrategy, selection modes, and boolean privacy flags. However, it does not mention all 23 parameters, leaving some like slug, apiKey, expiresAt 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 clearly states 'Update a public agenda’s configuration' with a specific verb and resource, and distinguishes from sibling tools like agendas_create/delete/list/get by focusing on modification.
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?
The description implies usage for modifying an existing agenda by listing updatable fields and partial update semantics. It does not explicitly contrast with alternatives but provides enough context to infer when this tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
availability_get_provider_scheduleAInspect
Get the configured weekly availability schedule for a provider (not free slots, but the base configuration). Use admin_set_availability to modify.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes | ||
| providerId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It clarifies that the tool returns the configured base schedule, not dynamic free slots, which is a key behavioral nuance. However, it does not mention potential errors, authorization requirements, or return format, but for a simple getter, the provided transparency is above average.
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?
The description is two concise sentences. The first sentence front-loads the core purpose and includes a clarifying parenthetical, while the second sentence directs to the modifier. Every word earns its place with no fluff.
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?
For a simple getter with no output schema, the description is largely complete: it names the resource, clarifies the scope, and points to the relevant modification tool. It does not mention required parameters or response details, but the schema covers parameter names and the purpose is clear enough for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 by explaining parameter meanings or formats. It does not mention orgSlug, providerId, or apiKey at all. While parameter names are self-explanatory, the description adds no semantic value beyond what the schema already provides, which is nothing.
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 clearly states the verb 'Get' and the resource 'configured weekly availability schedule for a provider'. It also distinguishes itself from sibling tool availability_get_slots by explicitly noting 'not free slots, but the base configuration', and references admin_set_availability for modification, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: it tells the user this tool is for the base configuration, not free slots, implying that availability_get_slots should be used for free slots. It also points to admin_set_availability as the tool for modifying the schedule, thereby giving clear alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
availability_get_slotsAInspect
Query available time slots within a date range. Agenda-aware: without clientId, filters by the org default public agenda — each org decides which services to expose. With clientId, resolves the client titular provider and returns their full service catalog. Five modes: (1) orgSlug only — slots from the public agenda grouped by service, provider auto-assigned at booking; (2) orgSlug + clientId — resolves titular provider if set, falls back to agenda; (3) orgSlug + agendaId — slots for a specific agenda; (4) serviceId — slots for all providers assigned to that service; (5) providerId — slots for a specific provider. Modes 1–3 hide provider details. Use before booking_create.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| apiKey | No | ||
| dateTo | No | ||
| orgSlug | Yes | ||
| agendaId | No | ||
| clientId | No | ||
| dateFrom | No | ||
| duration | No | ||
| timezone | No | ||
| serviceId | No | ||
| providerId | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description bears full burden, and it delivers: it discloses agenda-awareness, org-controlled public exposure, provider resolution with clientId fallback, and that modes 1–3 hide provider details. It is less forthcoming about authentication/authorization requirements and pagination/error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a dense but organized paragraph; the first sentence states the core, and the numbered modes make the combinatorial behavior digestible. It does not waste words, though the length is high for a single-paragraph description.
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?
The description covers the five modes, fallback logic, and provider visibility; this is substantial for a tool with no output schema. Missing return format details and edge-case behavior (overlapping params, defaults) are the main gaps.
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 coverage is 0%, and the description compensates by mapping five mode-specific parameter combinations (orgSlug, clientId, agendaId, serviceId, providerId) and a date range. However, it leaves duration, timezone, and apiKey semantics entirely to the schema (which has no descriptions), so the compensation is partial.
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 names a specific verb ('Query') and resource ('available time slots'), defines the date-range scope, and differentiates five invocation modes tied to parameters. It clearly distinguishes from siblings like availability_get_provider_schedule by explaining the agenda/provider resolution behavior.
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?
Provides explicit usage context: 'Use before booking_create' and enumerates five modes, explaining when each parameter combination is appropriate. However, it does not name sibling alternatives or state when not to use this tool, so it stops short of full exclusivity guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
booking_cancelAInspect
Cancel an existing session. By default applies the org cancellation policy: the charge is computed from the no-charge/partial/full windows and, if the policy has autoApply, registered as a penalty transaction (money-write). Set applyCancellationPolicy: false to waive the charge. Requires confirm: true.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| reason | Yes | ||
| confirm | Yes | ||
| orgSlug | Yes | ||
| sessionId | Yes | ||
| cancelledBy | No | ||
| applyCancellationPolicy | No |
Tool Definition Quality
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 clearly explains that by default the org cancellation policy applies, how the charge is computed (no-charge/partial/full windows), that a penalty transaction may be registered if autoApply is set, and that applyCancellationPolicy: false waives the charge. It also warns that confirm: true is required. This is extensive and transparent about side effects (money-write).
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?
The description is three sentences long and highly efficient. The first sentence states the core purpose, the second explains the default policy behavior and side effects, and the third gives the override option. Every sentence adds value, with no filler or repetition.
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?
Given the tool has no output schema and no annotations, the description covers the main behavioral context: cancellation policy, charge computation, penalty registration, the override flag, and the confirm requirement. It does not describe the return value or error scenarios, but for a mutation tool with this level of behavioral detail, it is reasonably complete. Missing details like what happens if confirm is false or when the policy doesn't autoApply are implied but not explicit.
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?
The input schema has 7 parameters with 0% description coverage. The description compensates by explaining the semantics of applyCancellationPolicy (waive charge) and confirm (must be true), which are critical. However, it does not clarify the meaning of reason, cancelledBy, orgSlug, sessionId, or apiKey beyond their names, so the compensation is partial.
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 clearly states the tool's function: 'Cancel an existing session.' It also specifies the resource (session) and the action (cancel). However, it does not explicitly distinguish this from sibling cancel tools like scheduling_cancel or portal_session_cancel, though the mention of org cancellation policy adds some differentiation.
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?
The description provides context about the default behavior (applying cancellation policy) and how to waive it, but it does not explicitly state when to use this tool versus the other cancel-related tools in the sibling list. The usage is somewhat implied by the org-specific policy details, but no exclusions or alternative tool references are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
booking_createAInspect
Create a new session/appointment for a client. providerId is optional — if omitted, the system auto-assigns a provider using the agenda assignment strategy (round_robin, least_booked, etc.). When a client has a titular provider, that provider is preferred automatically. Without providerId and without publicAgendaId, the org default public agenda is used. Preconditions: (1) service must exist and be active, (2) client must exist (use client_create first). Use availability_get_slots to find valid time slots before calling this. Set retroactive: true to register past sessions (skips slot validation, sets status to completed by default). Use autoCharge: true with retroactive to auto-generate the charge. Retroactive sessions are tagged with self_declared provenance. Max 365 days in the past. Past dates are auto-detected as retroactive — the retroactive flag is optional (system infers it from scheduledAt).
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | ||
| apiKey | No | ||
| orgSlug | Yes | ||
| clientId | Yes | ||
| duration | No | ||
| modalidad | No | ||
| serviceId | Yes | ||
| autoCharge | No | ||
| providerId | No | ||
| retroactive | No | ||
| scheduledAt | Yes | ||
| idempotencyKey | No | ||
| publicAgendaId | No | ||
| retroactiveStatus | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral burden. It discloses extensive details: optional providerId with auto-assignment strategy, titular provider preference, default public agenda, retroactive behavior (skips slot validation, sets status to completed, tags self_declared provenance, max 365 days), autoCharge effect, and auto-detection of past dates. This is exceptionally transparent.
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?
The description is dense but structured, with preconditions, usage guidance, and specialized behavior clearly stated in separate sentences. It is longer than average but every sentence adds value. Slight loss for being somewhat lengthy, but justified by the tool's complexity.
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?
For a tool with 14 parameters, no output schema, and no annotations, the description covers most critical behavioral context: preconditions, slot validation, retroactive logic, and provider assignment. It falls short by not describing the return value or side effects like notifications, and it omits several parameter semantics. Overall, it is quite complete for a complex booking tool.
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 coverage is 0%, so the description must compensate. It explains key non-obvious parameters: providerId, publicAgendaId, retroactive, autoCharge, and retroactiveStatus (implied via 'completed by default'). However, it does not mention duration, modalidad, notes, or idempotencyKey, leaving some parameters semantically undocumented. Still, it adds substantial meaning beyond the schema.
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 opens with a specific verb+resource: 'Create a new session/appointment for a client.' It immediately distinguishes this from sibling tools by detailing unique behaviors such as provider auto-assignment, agenda selection, and retroactive booking. The scope is clear and unambiguous.
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?
The description explicitly names preconditions and related tools: 'Use availability_get_slots to find valid time slots before calling this' and 'client must exist (use client_create first).' It also explains when to use retroactive and autoCharge flags. This gives concrete guidance on when and how to invoke the tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
booking_create_recurringAInspect
Create recurring sessions (e.g. weekly therapy). Generates multiple individual sessions linked by a recurrence series ID. Max 52 occurrences.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | ||
| apiKey | No | ||
| confirm | Yes | ||
| orgSlug | Yes | ||
| clientId | Yes | ||
| timezone | Yes | ||
| serviceId | No | ||
| providerId | Yes | ||
| recurrence | Yes | ||
| skipConflicts | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description discloses key behaviors: it generates multiple sessions, links them via a series ID, and caps at 52 occurrences. This goes beyond the basic 'create' action, though it omits details like confirmation or conflict handling.
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?
Two concise, front-loaded sentences with no redundancy. The primary action is first, and the second sentence adds value without wasting 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?
Given the complex nested schema (10 parameters, recurrence object, no output schema), the description is far too high-level. It lacks parameter semantics, behavior on conflicts, confirmation requirements, and return format, making it insufficient for correct invocation.
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%, and the description provides no explanation of any of the 10 parameters (e.g., orgSlug, clientId, recurrence, timezone, confirm). It fails to compensate for the schema's lack of descriptions.
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 clearly states the tool creates recurring sessions, gives a specific example ('weekly therapy'), and distinguishes it from single-booking siblings like booking_create by explaining it generates multiple linked sessions with a recurrence series ID.
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?
It conveys that this is for creating recurring sessions, with a relevant example, and implies it's for multi-occurrence bookings. However, it does not explicitly name alternatives or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
booking_getAInspect
Get complete details of a session/appointment by its ID, including client, provider, service, financial, and delivery proof information.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes | ||
| sessionId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the burden. The verb 'Get' implies a non-destructive read, but no additional behavioral traits are disclosed (e.g., authentication requirements, error handling, or side effects). It is adequate but sparse.
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?
One clear, front-loaded sentence with no wasted words. It efficiently conveys the core purpose and scope of returned data.
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?
For a simple get-by-ID tool, the description lists the main data categories, which partially compensates for the lack of an output schema. However, with no annotations and no parameter guidance, it leaves gaps about invocation context and response structure.
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 coverage is 0%, so the description must compensate. It hints at 'by its ID' for sessionId, but does not explain orgSlug or apiKey. The description adds minimal value beyond the raw parameter names; the agent would have to infer the role of each parameter.
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 clearly states the tool retrieves a session/appointment by ID and lists the categories of details included (client, provider, service, financial, delivery proof). This distinguishes it from list and mutation tools like booking_list and booking_cancel.
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?
The description implies usage for fetching a single session's full details, but does not explicitly state when to prefer this over alternatives like booking_list or public_booking_get, nor are there exclusions or when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
booking_listAInspect
List sessions for an organization with filters by provider, client, service, status, and date range. Supports cursor-based pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| apiKey | No | ||
| cursor | No | ||
| dateTo | No | ||
| status | No | ||
| orderBy | No | ||
| orgSlug | Yes | ||
| clientId | No | ||
| dateFrom | No | ||
| serviceId | No | ||
| providerId | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses cursor-based pagination, which is a useful behavioral trait. However, with no annotations, it does not mention authentication (apiKey), required orgSlug, default ordering, or potential error behavior. It adds some transparency but leaves significant gaps.
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?
Two sentences, front-loaded with the primary action and resource, followed by filter and pagination details. No redundant information; every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 11 parameters, no output schema, and no annotations, the description should provide more context. It omits required parameter orgSlug, return format, default sort order, and parameter value formats. While it covers filters and pagination, it is insufficient for a tool with such high complexity.
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?
With 0% schema description coverage, the description compensates by naming filter dimensions (provider, client, service, status, date range) and pagination. However, it omits several parameters like orgSlug, limit, cursor, orderBy, and apiKey, so it only partially explains the parameter space.
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 clearly states the tool's function: 'List sessions for an organization' with specific filter dimensions (provider, client, service, status, date range). This distinguishes it from sibling tools like booking_get (single booking), booking_list_requests (requests), and scheduling_book (creation).
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?
The description implies usage when listing sessions with filters, but does not explicitly state when to prefer this over alternatives such as booking_list_requests or provide exclusion criteria. The 'for an organization' context is clear, but no explicit guidance or alternative references are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
booking_list_requestsAInspect
List the reschedule requests (SessionRequest) of an organization — the org side of the bilateral coordination loop a client opens from the portal. Filter by status (pending|all|resolved, default pending), sessionId or clientId. Returns the proposed slot, current session state, and who proposed it. Cursor-paginated. Set includePendingCount: true to also get the count of pending requests (powers the sidebar badge). Read-only. Use booking_resolve_request to approve or reject one.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| apiKey | No | ||
| cursor | No | ||
| status | No | ||
| orgSlug | Yes | ||
| clientId | No | ||
| sessionId | No | ||
| includePendingCount | No |
Tool Definition Quality
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 the operation is read-only, lists what is returned (proposed slot, current session state, proposer), and mentions cursor pagination. It does not cover auth/rate limits, but the key behavioral traits are conveyed.
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?
The description is compact yet dense; every clause adds value. The first sentence is front-loaded with the core purpose, and subsequent sentences efficiently cover filters, return data, pagination, optional flag, read-only nature, and alternate action tool without redundancy.
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?
For a list tool with 8 parameters and no output schema or annotations, the description is largely complete: it covers purpose, filters, return contents, pagination, and related tool. Minor gaps include explicit mention of the limit parameter and required orgSlug, but these are not critical for invocation.
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 the description must compensate. It adds meaning by documenting status values and default (pending|all|resolved), sessionId/clientId filters, includePendingCount purpose, and pagination. It omits explicit details for limit, apiKey, and orgSlug, but orgSlug is implied by 'organization' and apiKey is likely authentication.
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 uses a specific verb 'List' and identifies the resource 'reschedule requests (SessionRequest) of an organization', clearly distinguishing this from sibling tools like booking_resolve_request (action) and booking_list (general bookings). The mention of the 'org side of the bilateral coordination loop' adds context that separates it from client-side portal tools.
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?
It clearly states this is for the organization side of reschedule requests and explicitly recommends 'Use booking_resolve_request to approve or reject one', providing an alternative. Filtering options and default status are also specified, giving the agent clear when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
booking_rescheduleAInspect
Reschedule a session to a new time. Cancels the original and creates a new one. Requires confirm: true.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| reason | No | ||
| confirm | Yes | ||
| orgSlug | Yes | ||
| sessionId | Yes | ||
| newProviderId | No | ||
| newScheduledAt | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It transparently discloses that the original is canceled and a new one created, plus the confirm requirement. Still lacks details on permissions or other side effects, but covers key behavioral traits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action, and every word earns its place. No redundancy or filler.
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?
The tool has 7 parameters, no annotations, and no output schema. The description offers a solid high-level overview (cancel/create, confirm requirement) but omits details like timezone handling or conflict behavior. It is minimally viable but not fully complete.
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 the description must compensate. It only mentions 'confirm' but does not explain most parameters like 'newProviderId' or 'reason'. Many parameters are left undocumented in both schema and description.
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 uses a specific verb 'Reschedule' with a clear resource 'session' and target 'new time'. It explicitly distinguishes from siblings like booking_cancel and booking_create by explaining the cancel-and-create mechanism.
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?
It states a clear prerequisite ('Requires confirm: true'), giving context on when to use. However, it does not explicitly mention alternatives or when not to use it, but the requirement provides practical guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
booking_resolve_requestAInspect
Approve or reject a pending reschedule request (SessionRequest) that a client proposed from the portal — closes the bilateral coordination loop. outcome: "approved" applies the reschedule atomically (moves the session to the proposed slot in the same transaction); "rejected" requires a reason of at least 10 characters. Idempotent: a request already resolved returns a conflict with its current status. Emits the corresponding session lifecycle events.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| reason | No | ||
| orgSlug | Yes | ||
| outcome | Yes | ||
| requestId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully discloses important behaviors: atomic application of approval, rejection reason requirement (min 10 chars), idempotency with conflict return, and emission of session lifecycle events. This exceeds typical transparency for mutation tools.
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?
The description is three sentences, each adding substantive value: purpose, outcome details, and behavioral guarantees. No redundant phrasing, and the information is front-loaded with the core action in the first sentence.
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?
For a mutation tool with no annotations or output schema, the description covers purpose, side effects, idempotency, and validation. It doesn't describe the success response format, but this may be acceptable given the output is likely a standard status object. Overall, it's adequate for an agent to invoke correctly.
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?
The description adds essential semantics for outcome (approved/rejected meanings) and reveals a minLength constraint on reason not present in the schema. However, requestId, orgSlug, and apiKey are left to inference, which is acceptable given their common usage but not fully compensated for with 0% schema coverage.
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 clearly states the tool's purpose: 'Approve or reject a pending reschedule request (SessionRequest) that a client proposed from the portal'. It uses specific verbs (approve/reject) and identifies the resource (pending reschedule request), distinguishing it from sibling tools like portal_propose_reschedule and booking_reschedule.
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?
The description provides strong contextual guidance by indicating this is for resolving client-proposed requests, including atomic approval and rejection criteria. It doesn't explicitly list alternatives, but the phrase 'closes the bilateral coordination loop' implies the appropriate workflow stage. The idempotency note also clarifies what happens if used incorrectly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
booking_update_statusBInspect
Advance a session through the Servicialo lifecycle: confirm, start, complete, or mark as no-show. NOTE: the "deliver" action is NOT available via MCP (ref PDC-SEC-001) — MCP authentication cannot validate actor-as-Proveedor. Delivery must be performed via the REST endpoint PATCH /api/organizations/[orgSlug]/coordinalo/sessions/[sessionId]/deliver which enforces provider binding.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | ||
| action | Yes | ||
| apiKey | No | ||
| orgSlug | Yes | ||
| sessionId | Yes | ||
| noShowType | No | ||
| deliveryType | No |
Tool Definition Quality
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 reveal a key limitation (deliver unavailable due to MCP authentication constraints), but it does not disclose other important behaviors such as whether actions are reversible, required permissions, side effects, or response format. For a state-changing tool, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat long but every sentence carries weight: it defines the tool's purpose, lists actions, and provides a critical security constraint with a concrete alternative. The structure is logical, though the REST endpoint detail could be trimmed without losing the core warning.
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?
Given the tool's complexity (7 params, 3 enums, no output schema) and lack of annotations, the description is incomplete. It covers only the action list and the 'deliver' exclusion, but omits parameter details (e.g., noShowType, deliveryType, notes), error conditions, permission requirements, and return values. A more thorough description is needed for reliable invocation.
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 the description must compensate by explaining parameters. It only lists the action values (confirm, start, complete, no-show), which is already present in the enum, and provides no explanation for notes, noShowType, deliveryType, apiKey, or how they relate to each action. This adds no semantic value beyond the schema.
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 clearly states a specific verb ('Advance') and resource ('session through the Servicialo lifecycle'), enumerates the exact actions available (confirm, start, complete, no-show), and explicitly distinguishes itself by noting the 'deliver' action is not available via MCP. This effectively differentiates from sibling tools like booking_cancel or booking_reschedule.
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?
The description provides clear context for when to use the tool (to advance a session lifecycle) and explicitly states an exclusion: the 'deliver' action is not available and must be done via a REST endpoint, naming that endpoint. However, it does not compare against other lifecycle-related siblings like lifecycle_transition, so guidance is strong but not fully exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cierre_cerrar_orgAInspect
Close the organizational period. Requires ALL active clients with historialCompleto=true to be closed first. Freezes the period. Requires confirm: true.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| confirm | Yes | ||
| orgSlug | Yes | ||
| periodo | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral transparency. It discloses that the operation 'Freezes the period,' which implies irreversibility, and states the confirm requirement. However, it doesn't elaborate on potential side effects beyond freezing or error behavior if preconditions aren't met.
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?
The description is a single, information-dense sentence that covers purpose, precondition, and confirm requirement without waste. Every clause adds value and is front-loaded with the primary action.
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?
The description provides core context (action, precondition, freeze, confirm) but misses details about the meaning of 'orgSlug' and 'periodo,' and doesn't state what the response contains (no output schema). It's adequate for a simple close operation but not fully complete.
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 the description must compensate. It only explains 'confirm' (must be true). It does not clarify 'orgSlug' or 'periodo,' which are core parameters. 'apiKey' is self-explanatory, but the lack of explanation for two required parameters is a significant gap.
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 clearly states the action 'Close the organizational period' with a specific verb and resource. It distinguishes itself from sibling tools like cierre_crear_cliente or cierre_listar_clientes by focusing on closing the period, though it doesn't explicitly compare to those alternatives.
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?
The description provides explicit preconditions: 'Requires ALL active clients with historialCompleto=true to be closed first' and 'Requires confirm: true.' This helps the agent know when to invoke the tool, but it doesn't mention alternatives or when not to use it, leaving a slight gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cierre_crear_clienteAInspect
Create a client monthly closing (immutable financial snapshot). Requires historialCompleto=true on the client. One closing per client per period. Requires confirm: true.
| Name | Required | Description | Default |
|---|---|---|---|
| notas | No | ||
| apiKey | No | ||
| confirm | Yes | ||
| orgSlug | Yes | ||
| periodo | Yes | ||
| clientId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It adds meaningful behavior context such as 'immutable financial snapshot' (result is immutable) and the uniqueness constraint. It does not disclose error behavior, permission requirements, or return format, so it's partial.
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?
The description is four short sentences, each adding value: purpose, prerequisite, constraint, and confirm requirement. It is front-loaded and free of filler.
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?
The description covers the core purpose, key prerequisites, and a critical constraint, but lacks details on return values, error handling, and the significance of the immutable snapshot in practice. Given the financial nature and no output schema, more would be helpful, though the essential invocation criteria are present.
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 the description must compensate. It interprets 'confirm' ('Requires confirm: true') and 'periodo' ('per period'), but leaves orgSlug, clientId, notas, and apiKey unaddressed, providing limited added value beyond the schema.
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 clearly states 'Create a client monthly closing' with the clarifying parenthetical 'immutable financial snapshot,' specifying the verb and resource. This distinguishes it from sibling tools like cierre_listar_clientes (list) and cierre_eliminar_cliente (delete).
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?
The description provides clear context for when to use the tool by specifying prerequisites ('Requires historialCompleto=true on the client') and a unique constraint ('One closing per client per period'). It also notes the confirm parameter requirement. However, it does not explicitly contrast with sibling tools or state when not to use it, so it falls short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cierre_distribuir_utilidadesAInspect
Distribute profits for a closed period. Freezes the current period and all prior open periods. Requires the period to be organizationally closed first. Requires confirm: true.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| confirm | Yes | ||
| orgSlug | Yes | ||
| periodo | Yes | ||
| montoDistribuido | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavioral traits. It mentions a significant side effect: 'Freezes the current period and all prior open periods,' and implies destructiveness via 'Requires confirm: true.' However, it omits reversibility, error conditions, or authorization requirements, leaving some gaps 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences, front-loaded with the core purpose, followed by prerequisites and required confirmation. Every sentence adds value with no redundancy.
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?
For a tool with no output schema and moderate complexity, the description covers purpose, prerequisites, a key side effect, and confirmation requirement. However, it leaves several parameters (orgSlug, apiKey, montoDistribuido) without detailed explanation and does not mention return values or error behavior, making it adequate but not fully complete.
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 the description must compensate. It adds meaning to 'periodo' (must be organizationally closed) and 'confirm' (must be true). 'montoDistribuido' is implied by 'profits,' but orgSlug and apiKey are unexplained. Partial coverage, so a mid-range score is appropriate.
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 clearly states the action ('Distribute profits') and the context ('for a closed period'), making it distinct from sibling tools like cierre_cerrar_org (closing the organization) and cierre_listar_utilidades (listing profits). It gives a specific verb+resource with additional scope.
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?
The description provides an explicit prerequisite: 'Requires the period to be organizationally closed first.' It also states the need for confirm:true, which is a usage condition. It doesn't mention alternatives or when not to use, but the prerequisite is valuable guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cierre_eliminar_clienteAInspect
Delete (reopen) a client closing. Only allowed if the organizational period is not frozen. Requires confirm: true.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| confirm | Yes | ||
| orgSlug | Yes | ||
| cierreId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral disclosure burden. It discloses the precondition (not frozen) and the requirement for confirm=true. However, it does not explain what the delete/reopen actually does in terms of side effects, reversibility, or what happens to associated records. The word "reopen" hints at restoring state, but this is 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences, front-loaded with the core action. Every clause adds useful information: the action, the parenthetical clarification, the precondition, and the required confirm flag. There is no fluff or redundancy.
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?
For a delete/reopen operation with no annotations and no output schema, the description provides essential context (precondition, confirmation) but lacks details about error conditions, return values, or consequences. It is not severely under-specified like the lowest examples, but it leaves gaps for an AI agent to assess the full impact of the operation.
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 the description must compensate. It only mentions "confirm: true" as a required flag, which gives some meaning to that parameter. The other parameters (apiKey, orgSlug, cierreId) are not explained; their meanings are left to inference from names. The description does not clarify the role of cierreId beyond implying it is the closing being deleted.
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 states a specific verb and resource: "Delete (reopen) a client closing." This directly clarifies that the tool operates on a client closing, not a client, distinguishing it from sibling tools like cierre_crear_cliente and cierre_listar_clientes. The parenthetical "reopen" adds scope and nuance, making the action unambiguous.
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?
The description provides clear context for when the tool is allowed: "Only allowed if the organizational period is not frozen." This is a defining precondition. It does not explicitly name alternatives or say "use this instead of X," but the condition and the action (reopen) imply it is for undoing a closing, which is sufficient context given the sibling list.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cierre_evaluar_orgAInspect
Evaluate organizational closing readiness for a period. Returns: active clients, closed count, excluded count, pending count, completion percentage, and whether closing is possible.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes | ||
| periodo | Yes |
Tool Definition Quality
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 lists return values but does not explicitly state that the operation is read-only or has no side effects. The verb 'Evaluate' implies safety, but this is not confirmed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with a clear purpose and a structured list of return values. No filler words; every word earns its place.
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?
The return values are explained, but the tool's role in the closing workflow, prerequisites, and parameter semantics are missing. Given 3 parameters, no output schema, and no annotations, this is a notable gap.
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?
With 0% schema description coverage, the description should explain apiKey, orgSlug, and periodo. It only hints at 'period' and 'organizational' but leaves apiKey and parameter formats 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 clearly states 'Evaluate organizational closing readiness for a period' with a specific verb and resource, and lists return values that distinguish it from sibling tools like cierre_cerrar_org.
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 when-to-use or alternatives are mentioned. The phrase 'Evaluate readiness' implies it is a pre-check for closing, but the description does not explicitly say 'use before cierre_cerrar_org' or exclude other contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cierre_listar_clientesBInspect
List client closings for an organization. Filter by period and/or client.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes | ||
| periodo | No | ||
| clientId | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It conveys that this is a read-only listing operation with optional filters, but it does not mention return format, pagination, auth requirements, or potential performance implications.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core action and scope, and every word contributes. It is concise without sacrificing clarity.
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 and no annotations, the description should explain return values and parameter specifics. It covers the basic purpose and filters but omits auth requirements, period format, output shape, and any pagination details, leaving meaningful gaps for a 4-parameter tool.
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 the description must compensate. It adds meaning by indicating 'period' and 'client' are filter parameters, mapping to periodo and clientId. However, it does not explain the format of periodo, the nature of clientId, or the roles of apiKey and orgSlug beyond their names.
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 clearly states the action ('List') and resource ('client closings') with an organization scope. It is distinct enough from siblings like cierre_listar_utilidades by specifying 'client closings', though it does not explicitly differentiate from other list tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 cierre_listar_utilidades or other list tools. There are no exclusions, prerequisites, or contextual hints beyond the basic filtering options.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cierre_listar_utilidadesAInspect
List retained earnings (utilidades retenidas) for an organization. Returns per-period records with accumulated totals: ingresos, costos, utilidadNeta, distribuido, retenido.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description alone must convey behavior. It discloses the return structure (per-period records with accumulated totals) but omits details like authorization requirements, pagination, or whether it only returns retained earnings versus other financial data. This is adequate but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence that front-loads the action and resource. It immediately adds return-value context, with no wasted 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?
For a simple list endpoint, the return-field summary is helpful, but the lack of parameter explanations and usage context makes it incomplete. Missing details like optional filters, ordering, or required authentication could lead to incorrect calls.
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%, and the description does not name or explain parameters. It mentions 'organization' which hints at orgSlug, but apiKey is left entirely to inference. Parameters lack syntax, format, or required-status context beyond the schema.
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 uses a specific verb ('List') and identifies the resource ('retained earnings') and scope ('for an organization'). It also differentiates from sibling tools by specifying the output fields, making its purpose unmistakable.
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 is given. The context of 'utilidades retenidas' and sibling tool names (e.g., cierre_distribuir_utilidades) implies a distinct niche, but the description doesn't state exclusions or alternative scopes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cierre_preview_clienteAInspect
Preview the financial snapshot for a client in a period WITHOUT creating the closing. Returns totals for ventas, cobros, pagos, sessions.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes | ||
| periodo | Yes | ||
| clientId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the transparency burden. It discloses that the operation is a preview and non-mutating ('WITHOUT creating the closing'), and it lists the returned totals. However, it does not mention permissions, error conditions, or behavior when data is missing, leaving moderate gaps 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the core purpose and includes the critical non-mutating qualifier. It lists the output totals concisely, with no wasted words or repetition.
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?
The tool has no output schema, no annotations, and incomplete parameter documentation. The description covers the basic action and return values but omits essential details like parameter formats, required authorization, or edge-case behavior. For an agent to use this tool correctly, it would need additional context that is not provided.
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?
The schema has 0% description coverage, and the description does not explain any parameter. It only implicitly maps 'client' and 'period' to clientId and periodo, leaving apiKey and orgSlug unexplained, and the format of 'periodo' is entirely unspecified. The description fails to compensate for the lack of schema information.
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 clearly states the tool's purpose: to preview a financial snapshot for a client in a period without creating the closing. It specifies the exact outputs (totals for ventas, cobros, pagos, sessions), and the phrase 'WITHOUT creating the closing' distinguishes it from sibling closing operations like cierre_cerrar_org.
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?
The description provides clear context for when to use the tool: to preview the client's financial snapshot before performing a closing. It explicitly notes that it does NOT create the closing, implying a safe, read-only use case. However, it does not explicitly name alternative tools or state exclusions, which is why it doesn't reach a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
client_createAInspect
Create a new client in the organization. If a Person with the same email exists, it will be linked (not duplicated).
| Name | Required | Description | Default |
|---|---|---|---|
| rut | No | ||
| name | Yes | ||
| No | |||
| notes | No | ||
| phone | No | ||
| apiKey | No | ||
| comuna | No | ||
| orgSlug | Yes | ||
| lastName | Yes | ||
| direccion | No | ||
| idempotencyKey | No | ||
| proveedorTitularId | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for behavioral disclosure. It does disclose a critical behavior: same-email linking prevents duplication. However, it omits other important behaviors such as error handling, idempotency guarantees, required field implications, and return value. This partial disclosure is valuable but incomplete 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is just two sentences, front-loaded with the action, and contains no superfluous information. Every word earns its place: the first sentence states the core action, the second adds a key behavioral nuance.
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?
Given the tool has 12 parameters, no output schema, and annotations are absent, the description offers far too little: no guidance on which parameters are required beyond the schema, no indication of response format, no failure scenarios, and no usage context. The one de-duplication detail is useful but insufficient to fully understand the tool's behavior and invocation.
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?
The input schema has zero description coverage, and the description adds meaning only for the email parameter via the linking behavior. The other 11 parameters (rut, name, lastName, notes, phone, apiKey, comuna, orgSlug, idempotencyKey, proveedorTitularId, direccion) remain semantically opaque, leaving the agent to guess from names alone. The description does not compensate for the low schema coverage.
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 begins with a specific verb and resource: 'Create a new client in the organization.' It adds a distinctive behavior (linking with an existing email instead of duplicating), which clearly differentiates it from siblings like client_update or client_list. The purpose is unambiguous and contextually rich.
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?
The description implies when to use the tool (when creating a client) and hints at the de-duplication benefit, but it does not explicitly state when to prefer this over alternatives or mention any exclusions. It provides no direct comparison with sibling tools like client_update or cierre_crear_cliente. This is acceptable but minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
client_getAInspect
Get complete details of a client including financial summary and recent sessions.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes | ||
| clientId | Yes | ||
| includeHistory | No | ||
| includeFinancials | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. The verb 'Get' implies a read-only operation, and it states what is included in the response (financial summary, recent sessions). However, it does not mention authentication requirements, potential errors, or the effect of optional parameters like includeHistory and includeFinancials.
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?
The description is a single sentence that is direct and front-loaded with the primary action. Every word contributes meaning, with no redundant or filler content.
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?
For a read operation with 5 parameters and no output schema, the description provides the core purpose and key response components, but it lacks detail on parameter behavior, return format, or edge cases. It is adequate for a simple get but leaves some gaps given the missing annotations and schema descriptions.
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?
The input schema has no parameter descriptions (0% coverage), so the description must compensate. It partially does by mentioning financial summary and recent sessions, which likely correspond to includeFinancials and includeHistory, but it does not explain any other parameters (orgSlug, clientId, apiKey) or clarify how the booleans control the response.
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 clearly states the verb 'Get' and resource 'client', and specifies the scope: complete details including financial summary and recent sessions. This distinguishes it from siblings like client_list (which lists clients) and client_update (which modifies clients).
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?
The description implies usage for fetching a single client's detailed information, but it does not explicitly mention when to use this tool versus alternatives like client_list or finance_client_balance. No exclusions or alternative references are provided, so guidance is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
client_listCInspect
List clients of an organization with search and pagination. Can filter by provider or outstanding debt.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| apiKey | No | ||
| cursor | No | ||
| search | No | ||
| hasDebt | No | ||
| orgSlug | Yes | ||
| providerId | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It mentions search and pagination but does not describe response format, cursor-based pagination mechanics, authentication via apiKey, or any side effects, leaving significant behavioral traits undisclosed.
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?
The description is a single, front-loaded sentence that efficiently conveys the core function and key features. There is no filler or redundant information, making it appropriately concise and well-structured.
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?
Given 7 parameters and no annotations or output schema, the description is too brief to cover essential context such as the required orgSlug, pagination mechanics, and authentication. It provides only a high-level overview, which is insufficient for an agent to invoke the tool reliably across varied scenarios.
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?
The input schema has no descriptions for any of the 7 parameters, so the description must compensate. It explains that 'provider' and 'outstanding debt' are filters, but it does not explain the semantics of apiKey, cursor, limit, or orgSlug, leaving a substantial gap in parameter understanding.
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 clearly states that the tool lists clients of an organization and mentions search, pagination, and filters. It uses a specific verb 'List' and specifies the resource 'clients', but it does not explicitly distinguish itself from sibling tools like client_get or cierre_listar_clientes, so it lacks sibling differentiation.
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?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or conditions that would help an agent decide between this and other client-related tools, leaving usage entirely implied by the tool name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
client_updateAInspect
Update an existing client's personal data. Email cannot be changed via MCP.
| Name | Required | Description | Default |
|---|---|---|---|
| rut | No | ||
| name | No | ||
| notes | No | ||
| phone | No | ||
| apiKey | No | ||
| comuna | No | ||
| orgSlug | Yes | ||
| clientId | Yes | ||
| lastName | No | ||
| direccion | No | ||
| proveedorTitularId | No |
Tool Definition Quality
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 key constraint (email cannot be changed) but does not specify whether updates are partial or full replacements, required permissions, reversibility, or return format. Some value is added, but significant behavioral details are missing.
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?
The description is exactly two sentences: the first states the action, the second adds a constraint. There is zero fluff and the key information is front-loaded. It earns a high score for conciseness.
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?
For an update tool with 11 parameters, no output schema, and no annotations, the description is severely incomplete. It only provides the intent and one limitation, leaving parameter semantics, update behavior, and usage context uncovered. This is insufficient for an agent to invoke it confidently.
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%, and the description provides no explanation for any of the 11 parameters. 'Personal data' is too generic to explain fields like rut, comuna, or direccion. The mention of email is not even a parameter in the schema, adding confusion rather than clarity.
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 clearly states the action ('Update an existing client's personal data') with a specific verb and resource. It distinguishes from sibling tools like client_create (new clients) and client_get (retrieval). The additional note about email not being changeable adds useful scope.
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?
The description implies when to use the tool (updating existing clients) and explicitly excludes email changes. It does not name alternative tools, but 'existing' suggests using client_create for new clients. This is clear context but lacks explicit alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comms_create_campaignAInspect
Create a new email campaign with HTML body to send to a segmented audience. Supports variable substitution: {nombre}, {apellido}, {nombre_completo}, {email}, {telefono}, {organizacion}. Use audienceType "predefined" with audienceId "active"/"inactive"/"new"/"withPhone"/"withoutPhone", or "adhoc" with custom filters. On send, links in the body are auto-tagged with UTMs (utm_campaign = stable slug from campaign name) and a legal footer with unsubscribe link is appended. Returns campaign ID and recipient count. Campaign starts as draft — use comms_send_campaign to execute. Requires confirm: true.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| type | No | ||
| apiKey | No | ||
| confirm | Yes | ||
| orgSlug | Yes | ||
| emailBody | Yes | ||
| audienceId | No | ||
| adHocFilters | No | ||
| audienceType | Yes | ||
| emailSubject | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility and does an excellent job: it discloses variable substitution support, UTM auto-tagging on send, automatic legal footer with unsubscribe link, return values (campaign ID and recipient count), draft status, and the requirement of confirm: true. These are meaningful behavioral details beyond a simple 'create'.
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?
The description is dense but well-structured: purpose, variable substitution, audience selection, send-time side effects, output, workflow, and confirmation requirement. Each sentence adds valuable information; no fluff or redundancy.
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?
Given the tool's complexity (10 params, nested adHocFilters, no annotations/output schema), the description covers a lot: audience types, UTM behavior, return values, and the draft workflow. Gaps remain for orgSlug and emailSubject, and the type parameter's interaction with the 'email campaign' description is not addressed, so it's not fully complete but is very usable.
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?
The description adds substantial meaning beyond the bare schema: it explains audienceType/audienceId combinations, emailBody as HTML, the confirm flag, and name's role in generating the UTM slug. However, it omits orgSlug (a required param), emailSubject, type, and apiKey. With schema description coverage at 0%, the description partially compensates but leaves some parameters unexplained.
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 opens with a clear action and resource: 'Create a new email campaign with HTML body to send to a segmented audience.' It also distinguishes itself from the sibling comms_send_campaign by noting the campaign starts as a draft, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly instructs to use comms_send_campaign after creation ('Campaign starts as draft — use comms_send_campaign to execute') and provides detailed audience selection instructions (predefined vs adhoc, specific audienceId values). This gives clear when-to-use guidance and names the alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comms_get_campaignAInspect
Get details of a specific campaign with optional delivery logs per recipient.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes | ||
| logLimit | No | ||
| campaignId | Yes | ||
| includeLogs | No |
Tool Definition Quality
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 the optional delivery logs per recipient, which is a useful behavioral trait, but it does not disclose whether logs are included by default, what the response format looks like, error handling, or any side effects. For a tool with no annotations, this is insufficient transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence of moderate length. It front-loads the verb and resource, and the optional-logs clause adds relevant context without unnecessary detail. Every word contributes meaning, making it highly concise and well-structured.
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?
The tool has 5 parameters and no output schema, so the description should provide more context about what 'details' includes, whether logs are returned by default, and how includeLogs and logLimit interact. The description is adequate for a simple get-details tool but leaves several important aspects unaddressed, making it complete only at a basic level.
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?
The schema description coverage is 0%, so the description must compensate. It partially addresses the log-related parameters (includeLogs, logLimit) by mentioning 'optional delivery logs per recipient,' but it doesn't explain what logLimit does or how includeLogs controls the logs. Required parameters like orgSlug and campaignId are self-explanatory from their names, but the description adds little semantic value beyond the schema.
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 clearly states the tool's purpose: 'Get details of a specific campaign with optional delivery logs per recipient.' The verb 'Get' is specific, and the resource is identified as a specific campaign, which distinguishes it from sibling tools like comms_list_campaigns (list) and comms_send_campaign (send). This makes 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.
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 a user needs details of a single campaign, as opposed to listing campaigns. The context is clear, but there are no explicit exclusions or alternative recommendations. Still, the phrasing 'specific campaign' provides enough contextual guidance for typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comms_get_preferencesBInspect
Get the communication preferences for an organization (WhatsApp, email, confirmation, reminder channels and messages).
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes |
Tool Definition Quality
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 does not explicitly state that this is a read-only operation, nor does it mention authentication requirements, rate limits, or potential side effects. It adds some context about what preferences are included, but does not disclose enough for an agent to understand the tool's behavior safely.
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?
The description is a single, well-structured sentence that front-loads the action and resource. It is concise and every word adds meaning, with no filler or redundancy.
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?
Given the lack of annotations, output schema, and detailed parameter docs, the description must compensate by explaining return values, parameter usage, and tool behavior. It does none of this, only stating the basic purpose. For a simple getter it might be minimally acceptable, but it falls short of being complete.
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?
The input schema has 0% description coverage, and the description does not explain the parameters. While 'orgSlug' is somewhat self-explanatory, 'apiKey' is not described, and there is no guidance on how the parameters relate to the operation. The description adds minimal value beyond the bare schema.
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 clearly states the verb 'Get', the resource 'communication preferences', and the scope 'for an organization'. It also specifies the content areas (WhatsApp, email, confirmation, reminder channels and messages), which distinguishes it from sibling tools like comms_update_preferences or comms_get_campaign.
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?
The description gives no guidance on when to use this tool versus alternatives, no prerequisites, and no context about typical workflows (e.g., retrieving settings before updating them). It is a simple getter, but the lack of any usage direction makes it less helpful for an AI agent deciding between tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comms_list_audiencesAInspect
List the saved audiences/segments used for campaign targeting, each with its filter definition and campaign-usage count. Set includeCount: true to also resolve how many clients currently match each audience, and includePredefined: true to include built-in predefined segments. Read-only — use before comms_create_campaign to pick a target audience.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes | ||
| includeCount | No | ||
| includePredefined | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It states the tool is read-only and explains the effect of both optional flags (resolving match counts, including predefined segments). Missing details like pagination or error behavior, but for a list tool 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the main purpose, followed by flag explanations and usage guidance. No wasted words; every sentence adds value.
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?
Despite no output schema, the description specifies what each audience includes (filter definition, campaign-usage count) and what the includeCount flag adds. It could mention ordering or pagination, but it's reasonably complete for a list tool with 4 params and no annotations.
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?
The schema has 0% coverage and the description explains includeCount and includePredefined, but does not explain orgSlug (required) or apiKey. Since these are likely common context parameters, some clarity is missing; the description compensates only partially.
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 clearly states the verb (List) and the resource (saved audiences/segments used for campaign targeting), and adds specifics like filter definition and campaign-usage count. It distinguishes from sibling tools like comms_list_campaigns by focusing on audiences/segments.
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?
Explicitly says 'use before comms_create_campaign to pick a target audience', providing a concrete usage context and linking to a sibling tool. Also explains when to set includeCount and includePredefined flags.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comms_list_campaignsBInspect
List communication campaigns (WhatsApp/email) for the organization. Filter by status.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| apiKey | No | ||
| cursor | No | ||
| status | No | ||
| orgSlug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It only states 'List' and 'Filter by status', but does not mention pagination (cursor/limit), authentication (apiKey), the required orgSlug, or any side effects. The read-only nature is implied by 'List' but not explicitly stated, and no other behavioral traits 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short, front-loaded sentences with no wasted words. It effectively communicates the core action and a key filter option.
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?
Given the tool has 5 parameters, no output schema, and no annotations, the minimal description is not complete. It omits critical details like pagination behavior, response format, required fields, and authentication, making it difficult for an agent to use correctly without additional inference.
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 the description must compensate. It only explains the 'status' parameter via 'Filter by status', leaving limit, cursor, apiKey, and orgSlug entirely unexplained. This is insufficient for a 5-parameter tool.
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 clearly states the tool lists communication campaigns (WhatsApp/email) for the organization, using a specific verb 'List' and a resource. This distinguishes it from siblings like comms_get_campaign (single campaign), comms_create_campaign, and comms_send_campaign.
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?
The description implies usage when one needs to list campaigns and mentions filter by status, but it does not explicitly state when to use this tool over alternatives or provide exclusion criteria. No alternatives are named, leaving the guidance implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comms_render_messageAInspect
Render a communication template as a visual image (PNG). Available templates: session-confirmation, session-reminder, payment-reminder. Use action "preview" to get the image URL, "send" to render and send via WhatsApp with the image attached. Each template requires specific data fields (clientName, providerName, date, time, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| width | No | ||
| action | No | preview | |
| apiKey | No | ||
| orgSlug | Yes | ||
| clientId | No | ||
| template | Yes | ||
| whatsappTo | No | ||
| whatsappBody | No |
Tool Definition Quality
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 PNG rendering and the WhatsApp send side effect. However, it omits the 'upload' action entirely, does not mention authentication requirements, and does not describe the response format or consequences of sending.
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?
Three sentences, front-loaded with the tool's purpose, and no fluff. The template list and action guidance are packed into compact, useful phrasing.
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?
Given the tool's complexity (9 params, nested data object, no output schema, no annotations) the description covers core behavior and send side effects but leaves notable gaps: the 'upload' action, response/return details, and several parameter semantics. It is adequate for basic use but not fully self-sufficient.
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%, and the description compensates partially by listing template values and example data fields ('clientName, providerName, date, time'). Yet it leaves several parameters unexplained: apiKey, orgSlug, width, clientId, whatsappTo, and whatsappBody.
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 opens with a specific verb and resource: 'Render a communication template as a visual image (PNG)'. It lists the three available templates and distinguishes itself from sibling comms_send_message by emphasizing image rendering and WhatsApp attachment behavior.
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?
Provides actionable usage instructions: 'Use action "preview" to get the image URL, "send" to render and send via WhatsApp with the image attached.' This gives clear context on how to use the two main actions, though it does not mention the 'upload' action or explicitly contrast with comms_send_message for non-image sends.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comms_send_campaignAInspect
Execute a draft or scheduled campaign. Sends messages to all matching recipients asynchronously, skipping recipients with email opt-out or bounced addresses (logged as "skipped"). Campaign must be in draft or scheduled status. Returns immediately — use comms_get_campaign to track progress (sent/delivered/opened/clicked update via provider webhooks). Requires confirm: true.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| confirm | Yes | ||
| orgSlug | Yes | ||
| campaignId | Yes |
Tool Definition Quality
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 excellently. It discloses asynchronous sending, immediate return, recipient skipping for opt-out/bounce (with 'skipped' logging), and tracking via provider webhooks. This gives a clear picture of side effects and timeout behavior.
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?
The description is three sentences, each earning its place: the action, the side effects/skipping behavior, and the status/confirmation/tracking guidance. It is front-loaded with the core purpose and contains no filler or redundancy.
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?
Given the tool's moderate complexity and lack of output schema/annotations, the description is remarkably complete. It covers prerequisites (draft/scheduled status), behavioral side effects (asynchronous, skip logic), required confirmation, and post-invocation tracking via a sibling tool. An agent has enough context to invoke correctly and know what to expect.
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 the description must compensate. It adds the critical requirement 'Requires confirm: true', which the schema alone does not convey. However, orgSlug, campaignId, and apiKey are left to self-explanatory names, and the description doesn't elaborate on them further. The confirm requirement adds meaningful value, but overall parameter semantics are only partially compensated.
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 clearly states the tool 'Execute a draft or scheduled campaign' and 'Sends messages to all matching recipients asynchronously', which is a specific verb+resource scope. It distinguishes from siblings like comms_get_campaign and comms_send_message by focusing on bulk campaign execution and explicitly referencing comms_get_campaign for tracking.
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?
The description provides clear usage context: 'Campaign must be in draft or scheduled status' and 'Requires confirm: true'. It explicitly names comms_get_campaign as the tool for tracking progress, serving as an alternative. It doesn't explicitly state when not to use it, but the constraints are clear enough for an agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comms_send_messageAInspect
Send a single WhatsApp or email message to a specific client. Use templateKey for predefined templates or customMessage for free text. Requires confirm: true.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| channel | Yes | ||
| confirm | Yes | ||
| orgSlug | Yes | ||
| clientId | Yes | ||
| variables | No | ||
| templateKey | No | ||
| customMessage | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits itself. It does mention 'Requires confirm: true' as a safety mechanism, and the template/custom distinction offers some insight into input behavior. However, it omits critical details such as whether the send is immediate, irreversible, what the response looks like, or any rate limits or permission requirements. Major gaps remain.
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?
The description is three sentences long, concise, and front-loaded with the core purpose. The 'Requires confirm: true.' sentence is slightly abrupt but effectively highlights a key constraint. No wasted words, though it could be slightly more structured.
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?
For a tool with 8 parameters and no output schema, annotations, or return-value documentation, the description is incomplete. It does not explain the role of variables, the exact effect of sending, potential errors, or the response format. It provides the essential action but leaves the agent without enough operational context for safe and correct invocation.
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 coverage is 0%, so the description must compensate. It explains templateKey, customMessage, and confirm, but leaves apiKey, orgSlug, clientId, variables, and channel unexplained. Variables is particularly important for template usage, and its absence is a significant gap. The description only covers a minority of the parameters.
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 clearly states the tool's function: 'Send a single WhatsApp or email message to a specific client.' The verb is specific ('send'), the resource is explicit ('message'), and the scope ('single', 'specific client') distinguishes it from sibling tools like comms_send_campaign and comms_render_message.
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?
The description provides clear guidance on how to choose content: 'Use templateKey for predefined templates or customMessage for free text.' This implies when to use the tool (one-off direct messaging) and how to construct the content, though it does not explicitly name alternative tools or 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.
comms_update_preferencesAInspect
Enable or disable communication channels and features for an organization. Partial update — only provided fields are changed. Creates preferences if none exist.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes | ||
| emailEnabled | No | ||
| phoneRequired | No | ||
| whatsappEnabled | No | ||
| emailReminderEnabled | No | ||
| phoneRequiredMessage | No | ||
| whatsappReminderEnabled | No | ||
| whatsappReminderMessage | No | ||
| emailConfirmationEnabled | No | ||
| whatsappConfirmationEnabled | No | ||
| whatsappConfirmationMessage | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the transparency burden. It discloses two important behaviors: partial update ('only provided fields are changed') and upsert behavior ('Creates preferences if none exist'), which go beyond a generic 'update.' It does not mention auth requirements, return value, or error conditions, but the core side effects are clearly stated.
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?
The description is two sentences, starts with an action verb, and contains no filler. Every clause earns its place by adding either purpose, behavior, or upsert semantics.
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?
For a tool with 12 parameters and no output schema, the description is too sparse. It omits return value, required authentication (apiKey), and parameter-specific details, so an agent cannot fully predict the result or formulate the call without additional inference from property names.
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?
With 12 parameters and 0% schema description coverage, the description needed to compensate, but it only describes the overall effect ('Enable or disable communication channels') and the partial-update rule. It does not explain individual parameters such as apiKey, orgSlug, phoneRequiredMessage, or the various confirmation/reminder flags, leaving the agent to infer from property names.
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 opens with the specific verb 'Enable or disable' and identifies the resource as 'communication channels and features for an organization.' It also distinguishes this mutation from retrieval/send siblings by stating 'Partial update' and 'Creates preferences if none exist,' 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for updating organizational communication preferences, and the partial-update/upsert details provide context for invocation. However, it does not explicitly name alternatives or state when not to use it (e.g., versus comms_get_preferences or comms_send_message), so guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delivery_confirmations_listAInspect
List the delivery-confirmation ledger for an organization's sessions. Each row reflects the DeliveryProof overlay: whether the provider confirmed delivery, whether the client confirmed, and whether the system auto-confirmed after the verification window (silence). Filter by state — awaiting_client (provider confirmed, client has not, not yet auto-confirmed), confirmed (client confirmed or auto-confirmed), or provider_pending (proof exists but the provider has not confirmed delivery) — or look one up by sessionId. Privacy: returns confirmation flags/timestamps and a hasEvidence boolean only, never the evidence summary content.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| state | No | ||
| apiKey | No | ||
| orgSlug | Yes | ||
| sessionId | No |
Tool Definition Quality
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 privacy behavior (returns only flags/timestamps and hasEvidence, never evidence summary content) and explains the auto-confirmation behavior. However, it omits pagination, error handling, and authentication requirements.
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?
The description is a single, information-dense sentence that front-loads the purpose and includes state definitions and privacy note. It is efficient but somewhat long; a more concise structure would improve readability without losing content.
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?
The description covers purpose, state semantics, and privacy, which is strong for a tool with no output schema or annotations. However, it lacks details on pagination behavior and authentication, which are relevant for a list endpoint.
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 the description must compensate. It adds meaning for 'state' (defines each enum value) and 'sessionId' (lookup), but does not explain page, limit, apiKey, or orgSlug beyond their generic role. This partial coverage is insufficient for a 0% schema coverage.
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 clearly states the tool lists the delivery-confirmation ledger for an organization's sessions, with a specific resource ('DeliveryProof overlay') and verb ('List'). It distinguishes itself from sibling confirmations tools by detailing the three-state model and session lookup.
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?
The description provides clear usage context: filter by state or look up by sessionId. It does not explicitly name alternatives or when not to use it, but the guidance is unambiguous for the intended scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
disputes_listAInspect
List disputes for an organization. Filter by status or type. Returns disputes with client and provider info.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| type | No | ||
| limit | No | ||
| apiKey | No | ||
| status | No | ||
| orgSlug | Yes |
Tool Definition Quality
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 discloses that filtering by status/type is supported and that client/provider info is returned. However, it does not mention pagination, ordering, authentication requirements, or potential edge cases, which are important for a list tool.
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?
The description is only two sentences, front-loading the primary action ('List disputes') and adding essential details about filtering and return content. There is no unnecessary verbosity.
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?
Given the tool has 6 parameters, no output schema, and no annotations, the description is incomplete. It does not clarify pagination, required authentication parameters, or the meaning of filter values, leaving significant gaps for an agent invoking the tool.
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 the description must compensate. It only explains the 'status' and 'type' filter parameters, leaving 'page', 'limit', 'apiKey', and 'orgSlug' without meaningful explanation. This partial coverage is insufficient for a 6-parameter tool.
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 clearly states 'List disputes for an organization' and specifies the filtering options and the returned data (client and provider info). This makes it unambiguous and distinguishes it from sibling list tools.
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?
The description implies usage through its action statement but does not provide explicit when-to-use or exclusions relative to alternatives. There are no sibling dispute-specific tools, so the intended use is reasonably clear, but explicit guidance is missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dunning_configureAInspect
Update dunning (payment recovery) configuration for an organization. All fields except organizationSlug are optional — only provided fields are updated, rest stays unchanged.
| Name | Required | Description | Default |
|---|---|---|---|
| steps | No | ||
| enabled | No | ||
| blockOnStep5 | No | ||
| gracePeriodDays | No | ||
| organizationSlug | Yes |
Tool Definition Quality
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 behavioral traits. It does disclose a key behavior: the partial-update semantics ('rest stays unchanged'). However, it does not mention auth requirements, reversibility, side effects on existing configuration, or error behavior. This is a mutation tool, so more transparency would be beneficial, but the partial-update disclosure adds meaningful value.
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?
The description is concise (two sentences), front-loaded with the primary purpose, and every sentence contributes information. It avoids fluff and gets straight to the point while including the important partial-update detail.
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?
This is a configuration tool with 5 parameters, one being a nested array of objects, and no output schema. The description does not explain the steps array structure, what blockOnStep5 or gracePeriodDays control, or what happens after the update. It is minimally viable but insufficient for an agent to confidently invoke the tool with correct nested data.
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 the description must compensate. It adds optionality information ('All fields except organizationSlug are optional') but does not explain the meaning of the 'steps' array, its nested structure (step, channel, daysAfterDue), or the purpose of 'blockOnStep5' and 'gracePeriodDays'. The schema names provide some hints, but the description fails to clarify the expected format for a complex nested parameter.
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 clearly states the tool's function: 'Update dunning (payment recovery) configuration for an organization.' It uses a specific verb ('Update') and resource ('dunning configuration'), and clarifies the domain term 'dunning' as 'payment recovery'. It also distinguishes itself from the sibling tool 'dunning_get_config' by contrasting update vs. get operations.
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?
The description provides explicit usage guidance: 'All fields except organizationSlug are optional — only provided fields are updated, rest stays unchanged.' This tells the agent when to use it (partial updates) and clarifies that not all fields need to be supplied. However, it does not explicitly mention alternatives or when not to use it, such as referencing dunning_get_config for reading current configuration.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dunning_get_configAInspect
Get the current dunning (payment recovery) configuration for an organization. Returns whether dunning is enabled, grace period, step timings, and blocking settings.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| organizationSlug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the safety burden. It discloses that the tool returns configuration details but doesn't cover permission requirements, error conditions, or the fact that it's a read-only operation beyond the verb 'Get'.
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?
Two sentences, front-loaded with the action and resource, then a list of returned fields. No filler 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?
The tool has no output schema, so the description should provide a fuller picture, including parameter semantics and potential errors. The description covers the return content but is incomplete for safe invocation, especially without annotations.
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% and the description does not mention apiKey or organizationSlug. The only hint is 'for an organization,' which clues in organizationSlug but leaves apiKey completely unexplained, forcing the agent to guess its purpose.
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 uses the specific verb 'Get' and names the resource 'dunning configuration' scoped to an organization, listing key output fields (enabled, grace period, step timings, blocking settings). This clearly distinguishes it from the sibling dunning_configure tool.
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?
The description provides clear context: use when you need to read current dunning settings. It doesn't explicitly mention when not to use it or point to dunning_configure for updates, but the wording implies this is the read-only counterpart.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
email_domain_deleteAInspect
Remove the configured email sending domain from the organization. This deletes it from both Resend and the database. The organization will revert to using the default Coordinalo sending address. Requires confirm: true.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| confirm | Yes | ||
| orgSlug | Yes |
Tool Definition Quality
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 provides concrete behavioral details: deletes from both Resend and the database, reverts to the default address, and requires confirm:true. This goes beyond a generic delete description. It does not mention irreversibility or permission requirements, but the information given is solid. Score 4, not 5, because it omits consequences like whether the action is irreversible and potential edge cases (e.g., if the domain is already the default).
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?
The description is three sentences long, front-loads the action ('Remove...'), and contains no filler. Every sentence earns its place: the first states the core purpose, the second explains the scope of deletion, the third gives the fallback and confirmation requirement. It is appropriately sized for a simple delete tool.
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?
The tool has no output schema and 0% schema description coverage, so the description needs to provide enough context. It explains the main behavioral consequences (dual deletion, fallback) but does not mention return values, error handling (e.g., what happens if domain is not found), or the role of 'apiKey'. While the deletion result is likely a success message, the description could be more complete. Score 3 reflects moderate 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?
The description refers to 'confirm: true' and implies that orgSlug identifies the organization, but it does not explain the role of orgSlug in the deletion or what apiKey is used for. With schema description coverage at 0%, the description should have compensated by explaining each parameter. It only partially addresses the required parameter 'confirm', leaving the other two parameters unexplained. This fails to provide sufficient meaning beyond the raw schema.
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 clearly states the tool's purpose: 'Remove the configured email sending domain from the organization.' This is a specific verb (remove) and resource (email domain), and it distinguishes from siblings like email_domain_get, email_domain_register, and email_domain_verify by describing a deletion action. The wording 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool (to remove an email sending domain) and clarifies the fallback behavior ('revert to using the default Coordinalo sending address'). However, it does not explicitly name alternatives or state when not to use it, so it meets the 'clear context' level but lacks explicit exclusions or alternative mentions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
email_domain_getAInspect
Get the email sending domain configured for an organization and its verification status (PENDING, VERIFIED, FAILED). Returns null if no domain is configured. Use email_domain_register to set one up.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes |
Tool Definition Quality
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 explains that the tool returns null if no domain is configured and lists the possible verification statuses (PENDING, VERIFIED, FAILED). However, it does not explicitly confirm that the operation is read-only, though 'Get' strongly implies this.
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?
The description is three sentences long, front-loaded with the main purpose, then adds the null-return behavior and an alternative tool reference. Every sentence adds value, and there is no redundant information.
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?
The description is complete for a simple get tool: it covers what is retrieved, the return value in the absence of a configured domain, and directs users to a related tool. It does not explain the return format in detail, but since there is no output schema, the mention of verification status is helpful. Missing details like authentication are generic and not critical here.
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?
The schema has no descriptions for parameters (0% coverage), so the description must compensate. It mentions that the tool works 'for an organization', which partially maps to the required orgSlug, but it does not explain the apiKey parameter or clarify how to pass the orgSlug. This leaves the parameter semantics incomplete.
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 clearly states the tool's purpose: to retrieve the email sending domain configured for an organization and its verification status. It uses a specific verb ('Get') and resource (email sending domain), and distinguishes itself from sibling tools like email_domain_register and email_domain_verify.
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?
The description provides clear context for when to use this tool (to fetch domain configuration and status) and points to an alternative (email_domain_register) for setting one up. It does not explicitly mention when not to use it, but the guidance given is sufficient for basic differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
email_domain_registerAInspect
Register a custom email sending domain for an organization via Resend. Returns DNS records that must be configured in the domain provider before verification. Replaces any previously configured domain. After adding DNS records, call email_domain_verify to check status.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| domain | Yes | ||
| orgSlug | Yes |
Tool Definition Quality
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 a critical behavioral trait: 'Replaces any previously configured domain,' and also explains that DNS records are returned for external configuration. It does not mention authentication requirements or rate limits, but the disclosed side effects and follow-up step provide solid transparency beyond the raw schema.
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?
The description is three sentences long, with each sentence adding value: the registration action, the DNS records requirement, and the replacement warning plus verification step. It is front-loaded with the purpose and avoids unnecessary detail.
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?
For a tool with no output schema, the description explains the return value ('Returns DNS records') and the essential workflow. It also highlights the destructive replacement behavior and directs users to the verification tool. It could elaborate on the DNS record structure or prerequisites, but it is sufficiently complete for a straightforward registration tool.
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?
The schema has 0% description coverage for its 3 parameters (apiKey, domain, orgSlug), and the description adds no information about them. It does not explain the meaning, format, or purpose of any parameter. The description mentions 'domain' and 'organization' only indirectly via prose, but fails to compensate for the complete lack of schema-level documentation.
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 clearly states the tool's function with a specific verb ('Register'), a resource ('custom email sending domain'), and a scope ('for an organization via Resend'). It distinguishes itself from sibling tools like email_domain_delete, email_domain_get, and email_domain_verify by focusing on the registration action.
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?
The description provides a clear workflow: register, configure DNS records, then verify with email_domain_verify. It also warns that the tool 'Replaces any previously configured domain,' which is an important usage consideration. However, it does not explicitly mention alternatives for getting or deleting domains, but the verification pointer is strong.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
email_domain_verifyAInspect
Trigger DNS verification for the configured email domain and return updated status. Call this after the organization has added the required DNS records. Status will be VERIFIED (ready to send), PENDING (DNS not yet propagated), or FAILED.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses the side effect ('Trigger DNS verification') and explains possible outcomes: VERIFIED, PENDING, FAILED, including their meanings. This gives a clear picture of what the tool does and what to expect, although it doesn't discuss auth requirements or idempotency.
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?
Three sentences, each earning its place: purpose, when to call, and possible statuses. Front-loaded with the action, no filler.
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?
For a simple tool with two parameters and no output schema, the description covers the core aspects: purpose, timed usage, and return statuses. It could mention prerequisites like prior registration, but overall it's sufficiently complete for an agent to invoke correctly.
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 the description must compensate. It does not explain apiKey or orgSlug beyond what their names imply. While orgSlug is somewhat self-explanatory, the lack of any parameter detail fails to add value over the raw schema.
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 clearly states a specific action: 'Trigger DNS verification for the configured email domain'. It distinguishes this tool from siblings like email_domain_get, email_domain_register, and email_domain_delete by using the verb 'verify' and describing the verification process.
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?
Provides explicit timing: 'Call this after the organization has added the required DNS records.' This tells the agent when to invoke the tool. It does not explicitly mention alternatives, but the sibling names make alternatives apparent, and the 'after adding DNS records' context is clear enough for correct usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
finance_agingAInspect
Get accounts receivable aging report: pending charges grouped by age buckets (0-7, 7-30, 30-90, 90+ days). Use to answer "who owes money" or "old debts" questions.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| apiKey | No | ||
| cursor | No | ||
| orgSlug | Yes |
Tool Definition Quality
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 tool's output structure (pending charges grouped by age buckets) but does not clarify read-only safety, return format, or pagination behavior. This is adequate for a read-only report but lacks explicit behavioral safeguards or side-effect disclosure.
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?
The description is two sentences, front-loaded with the core action and resource, then provides bucket details and usage context. Every sentence adds value, and there is no redundancy.
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?
The tool has 4 parameters, no annotations, and no output schema. The description explains what the report contains but omits pagination behavior, return structure details, and parameter semantics. This is minimally adequate for a simple report tool, but not fully complete.
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%, and the description does not explain any of the parameters (orgSlug, limit, apiKey, cursor). The schema provides names and types, but the agent must infer their meaning. The description adds no value beyond the schema for parameter understanding, so a low score is warranted.
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 uses a specific verb ('Get') and names a clear resource ('accounts receivable aging report'), and it details the age buckets (0-7, 7-30, 30-90, 90+ days). This distinguishes it from sibling tools like finance_client_balance or finance_list_invoices, which are not aging-specific.
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?
The description explicitly states when to use the tool: 'Use to answer "who owes money" or "old debts" questions.' It provides a clear context without naming alternatives, which would merit a 5, but it still gives actionable guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
finance_client_balanceAInspect
Get the complete financial balance for a client: total sales, charges, payments, pending debt, and credits.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes | ||
| clientId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden. It discloses the components of the balance but does not state that the operation is read-only, require permissions, or describe return format or edge cases. It adds some context beyond the name but lacks depth for full behavioral transparency.
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?
A single sentence that front-loads the core action and lists key outputs. No redundant information or filler. Every word earns its place.
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?
Given no output schema and no annotations, the description is somewhat under-specified. It defines the purpose and balance components but does not mention parameter details, return structure, or any usage caveats. For a simple getter, it is minimally viable but not complete enough for an agent to fully predict behavior.
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 the description must compensate. It only mentions 'client', which maps to clientId, but does not explain orgSlug or apiKey. The parameter names are self-explanatory to a degree, but the description adds minimal value beyond the schema, failing to fully compensate for the lack of parameter descriptions.
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 clearly states the tool's purpose with a specific verb ('Get') and resource ('complete financial balance for a client'), and enumerates the components (sales, charges, payments, pending debt, credits). It is specific enough to distinguish from sibling finance tools like finance_aging or finance_list_payments.
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?
The description implies usage when a client's overall financial balance is needed, but it does not explicitly state when to use this tool over alternatives (e.g., finance_list_payments for just payments) or mention any exclusions. This is clear context without explicit guidance, so it falls at 'implied usage'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
finance_create_cobroAInspect
Create a manual charge (cobro) for a client. Not linked to a sale/venta. Requires confirm: true.
| Name | Required | Description | Default |
|---|---|---|---|
| tipo | No | ||
| fecha | No | ||
| monto | Yes | ||
| apiKey | No | ||
| confirm | Yes | ||
| orgSlug | Yes | ||
| clientId | Yes | ||
| descripcion | Yes | ||
| idempotencyKey | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It adds the requirement that 'confirm' must be true and clarifies that the charge is not linked to a sale. However, it omits other behavioral aspects such as side effects on client balances, idempotency, or authentication requirements, leaving significant ambiguity for a financial 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three short sentences, front-loaded with the primary action, followed by a key differentiator and a required flag. Every sentence contributes information with no wasted 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?
The tool has 9 parameters, no output schema, and no annotations, yet the description provides only minimal guidance. It lacks information about return values, error conditions, prerequisites, or the meaning of optional fields, making it incomplete for a complex financial operation.
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?
The schema has 9 parameters with 0% coverage from descriptions. The description only addresses 'confirm' (requires true), leaving orgSlug, clientId, monto, descripcion, and others unexplained. Field names provide some hints but are insufficient for an agent to construct valid calls, especially for optional parameters like tipo, fecha, apiKey, and idempotencyKey.
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 uses a specific verb 'Create' and identifies the resource as a 'manual charge (cobro) for a client.' It further distinguishes from sale-linked transactions by stating 'Not linked to a sale/venta,' which clearly differentiates it from finance_create_venta and other billing tools.
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?
The description provides usage context by clarifying this tool is for manual charges not linked to sales, which helps select among finance_create_venta and other billing tools. However, it does not explicitly name alternative tools or mention when not to use it beyond the sale exclusion, so it lacks explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
finance_create_ventaAInspect
Create a service sale (venta) for a client. Optionally auto-creates a charge (cobro) depending on org configuration. Requires confirm: true.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| estado | No | ||
| precio | Yes | ||
| confirm | Yes | ||
| orgSlug | Yes | ||
| cantidad | No | ||
| clientId | Yes | ||
| fechaRef | No | ||
| servicioId | Yes | ||
| proveedorId | No |
Tool Definition Quality
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 discloses a key side effect (auto-creating a cobro) and a critical precondition (confirm must be true), but it does not explain what happens when confirm is false, permission requirements, reversibility, or return behavior, leaving notable gaps.
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?
The description is three short sentences, with the main purpose front-loaded. Every sentence adds value, with no redundant or filler content.
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?
Given the tool's complexity (10 params, no output schema, no annotations), the description is too sparse. It covers the core action and one side effect, but omits essential guidance on parameters and operational context, making it difficult for an agent to invoke correctly without additional knowledge.
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?
The schema has 0% description coverage, so the description must compensate by explaining parameters. It only mentions confirm, leaving orgSlug, clientId, servicioId, precio, cantidad, estado, fechaRef, proveedorId, and apiKey completely unexplained. This is severely insufficient for a 10-parameter tool.
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 clearly states the tool creates a service sale (venta) for a client, using a specific verb and resource. It also distinguishes from sibling tools like finance_create_cobro by mentioning the optional auto-creation of a charge, making its scope unambiguous.
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?
The description implies usage context: use this tool to create a service sale, with the note that a charge may be auto-created based on org configuration. It does not explicitly name alternatives or exclusions, but the auto-charge note provides enough contextual differentiation from finance_create_cobro.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
finance_get_cobroBInspect
Get details of a specific charge (cobro) including all associated payments.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| cobroId | Yes | ||
| orgSlug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It implies a read-only operation via 'Get details' and mentions response content (associated payments), but does not cover authentication needs (apiKey), error behavior, pagination, or whether the operation has side effects. This is minimal disclosure for an unannotated tool.
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?
The description is a single, concise sentence that directly states the action and key detail (associated payments). No wasted words; it is efficient and appropriately sized.
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 and no annotations, the description provides the core purpose but leaves out important context like org scoping (orgSlug), authentication (apiKey), and any details about the response structure beyond payments. It is sufficient for a simple retrieval but has clear gaps in 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%, and the description does not explain the parameters (apiKey, cobroId, orgSlug). 'Specific charge' indirectly maps to cobroId, but orgSlug and apiKey are not described. The description adds minimal semantic value beyond the parameter names in the schema.
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 clearly states the tool's purpose with a specific verb ('Get details') and resource ('specific charge (cobro)'), and adds a distinctive scope ('including all associated payments') that differentiates it from sibling tools like finance_list_cobros (listing all cobros) and finance_create_cobro (creating a cobro).
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?
The description implies when to use the tool (when you need details of a specific charge) but does not explicitly state alternatives or exclusions. It does not reference sibling tools like finance_list_cobros or finance_register_payment, leaving the agent to infer the appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
finance_list_cobrosBInspect
List charges (cobros) for an organization. Filter by client, status, or date range. Includes summary totals.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| apiKey | No | ||
| cursor | No | ||
| dateTo | No | ||
| estado | No | ||
| orgSlug | Yes | ||
| clientId | No | ||
| dateFrom | No |
Tool Definition Quality
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 adds some context by stating the tool supports client/status/date filtering and includes summary totals, but it omits pagination behavior, auth requirements, ordering, and any details about the returned summary totals.
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?
The description is two concise sentences, front-loaded with the primary action, and contains no filler or redundant information. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 8 parameters, no output schema, and no annotations, the description is too sparse. It omits important context such as pagination via cursor/limit, supported status values, date format expectations, the shape of summary totals, and how this tool differs from other finance_* list tools.
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%, and the description only vaguely references filters by client, status, and date range, which maps to some parameters (clientId, estado, dateFrom/dateTo). It does not explain limit, cursor, apiKey, or orgSlug semantics, leaving most of the 8 parameters undocumented in prose.
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 uses a specific verb ('List') and resource ('charges (cobros)') and scopes it to an organization. It is clear and distinct in meaning, though it does not explicitly contrast with sibling tools like finance_list_payments or finance_list_invoices.
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?
The description provides no guidance on when to use this tool versus alternatives such as finance_list_payments, finance_list_ventas, or finance_list_invoices. There are no explicit use cases, exclusions, or context to help an agent select this specific list tool among its siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
finance_list_confirmationsAInspect
List pending charge confirmations and their status. Shows cobros in pending_confirmation state that await client verification. Filter by client or confirmation status (pending, confirmed, disputed, auto_confirmed).
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| status | No | ||
| orgSlug | Yes | ||
| clientId | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It discloses that it shows cobros in pending_confirmation state awaiting client verification, which is useful. However, there is an internal ambiguity: it says 'pending' but offers filters for confirmed/disputed/auto_confirmed, yet doesn't clarify default behavior or whether non-pending are included. Lacks detail on return format 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with the key information front-loaded: what it lists, the state, and the available filters. No wasted 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?
For a filtered list tool, it covers the resource and filters, but lacks specification of default scope (pending only vs all statuses), pagination, output fields, or auth requirements. The absence of an output schema makes this more necessary, leaving the agent somewhat in the dark about the response.
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 coverage is 0%, so the description must compensate. It explains 'status' with the allowed enum values and mentions 'client' as a filter (clientId). However, it does not explain apiKey or the required orgSlug, though these are likely self-evident authentication/tenant identifiers. Partial compensation.
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 uses a specific verb ('List') and resource ('pending charge confirmations'), and clearly states it shows cobros in pending_confirmation state. It distinguishes from siblings like finance_list_cobros and disputes_list by focusing on confirmation statuses.
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?
The description provides clear context for when to use this tool: to list charge confirmations and filter by status. It does not explicitly name alternatives or exclusions, but the context is unambiguous and implies this is the tool for confirmation status tracking.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
finance_list_gastosAInspect
List operational expenses (gastos operacionales) of an organization with their category, plus totals broken down by category type (FIJO/VARIABLE/COSTO_PRODUCTO/PROVISION). Filter by date range (dateFrom/dateTo), category id, type(s), or recurring-only. Read-only — complements finance_list_cobros/finance_list_payments (income side) to complete the financial picture.
| Name | Required | Description | Default |
|---|---|---|---|
| tipo | No | ||
| limit | No | ||
| apiKey | No | ||
| dateTo | No | ||
| orgSlug | Yes | ||
| dateFrom | No | ||
| recurrente | No | ||
| categoriaId | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses read-only behavior and mentions filtering and totals, which is helpful. However, it doesn't detail pagination, auth requirements, or default return behavior, leaving some gaps for a complete understanding.
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?
Two sentences, front-loaded with the core function, then filter options, then relationship to siblings. No redundant information, every sentence earns its place.
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?
Given no annotations and no output schema, the description provides the main purpose, filters, and sibling context. It omits response shape and pagination details, but for a list tool this is largely adequate. The mention of totals by category type gives some response insight.
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?
Since schema descriptions are empty (0% coverage), the description must compensate. It names dateFrom/dateTo, categoriaId, tipo (with enum values), and recurrente, giving meaning beyond the schema. It doesn't explain limit or apiKey, but these are generally self-explanatory.
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 clearly states the tool lists operational expenses with their category and totals broken down by category type. It distinguishes itself from sibling income-side tools by explicitly naming finance_list_cobros/finance_list_payments, making the resource and scope unambiguous.
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?
It states this complements finance_list_cobros/finance_list_payments (income side), implying use for expense-related queries. It also lists filter options, giving context for when to use. However, it doesn't explicitly state exclusions, but the sibling reference is clear enough to guide tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
finance_list_invoicesAInspect
List invoices (facturas) of an organization with total, balance (saldo), status, SII status, linked-sales count and the amount already applied via payment links (with a derived payment status: pendiente/abonada/pagada). Filter by client or status (pendiente/pagada/cancelada). Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| apiKey | No | ||
| estado | No | ||
| orgSlug | Yes | ||
| clientId | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description adds 'Read-only' and explains the derived payment status field. It also mentions the filterable fields and invoice-specific statuses. However, it does not detail pagination or authentication behavior, but for a list tool with no destructive operations, 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences, but the first sentence is a lengthy list of fields. It's front-loaded and contains no filler, though it could be more structured.
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?
Without output schema or annotations, the description should enumerate return fields and default behavior. It lists many return fields, but doesn't clarify filtering defaults, pagination, or how the derived status is computed. For a moderate-complexity tool, this is a clear gap.
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 coverage is 0%, so description must explain parameters. It only references clientId and estado (with enum values) but ignores limit, apiKey, and orgSlug. The returned fields are described, not parameter semantics. This leaves three parameters unexplained.
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 clearly states the tool lists invoices with specific fields (total, balance, SII status, linked-sales count, payment status), using a specific verb. It distinguishes from siblings by naming invoice-specific attributes not covered by other finance_list_* tools.
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?
It implies usage by stating filterable by client or status and read-only, but doesn't explicitly say when to use this vs finance_list_ventas, finance_list_cobros, etc. No alternatives or exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
finance_list_paymentsCInspect
List payments received with filters. Includes summary by payment type.
| Name | Required | Description | Default |
|---|---|---|---|
| tipo | No | ||
| limit | No | ||
| apiKey | No | ||
| cursor | No | ||
| dateTo | No | ||
| orgSlug | Yes | ||
| clientId | No | ||
| dateFrom | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits itself. It mentions the summary by payment type, which is useful. However, it omits typical list-tool behaviors such as pagination (cursor, limit), required orgSlug, and confirms it is a read-only operation; these are not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, eleven words, with the primary purpose front-loaded. Every word adds value, and the summary note is a meaningful addition. No filler or redundancy.
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?
Given 8 parameters, no output schema, and no annotations, this minimal description leaves major gaps. It does not explain return format, pagination behavior, required fields, or how filters map to parameters. In the context of many sibling finance list tools, it also does not clarify its unique scope beyond 'payments received'.
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% and the description does not explain any of the 8 parameters. It only mentions 'filters' generically, offering no meaning for `tipo`, `dateFrom`, `clientId`, `cursor`, or the required `orgSlug`. This is severely insufficient for an agent to correctly construct a request.
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 clearly states the tool's action ('List payments received') and adds a specific detail ('Includes summary by payment type'). It distinguishes from sibling finance tools like finance_list_ventas and finance_list_gastos, though 'payments received' could potentially overlap with finance_list_cobros.
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 guidance is provided on when to use this tool instead of similar finance list tools (e.g., finance_list_cobros, finance_list_invoices). The phrase 'with filters' implies flexibility but gives no examples or exclusions, leaving the agent to infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
finance_list_ventasAInspect
List sales (ventas) for an organization. Filter by client, service, provider, or status.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| apiKey | No | ||
| cursor | No | ||
| dateTo | No | ||
| estado | No | ||
| orgSlug | Yes | ||
| clientId | No | ||
| dateFrom | No | ||
| servicioId | No | ||
| proveedorId | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must fully communicate behavioral traits. It does not disclose pagination behavior (limit, cursor), date-range filtering (dateFrom/dateTo), authentication requirements (apiKey), or the response structure. For a list tool, this lack of operational detail is a significant gap, leaving the agent to guess at common list semantics.
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?
The description is two short sentences, front-loads the primary action ('List sales'), and includes only the essential filter details. Every word earns its place, with no fluff or redundancy.
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?
Given the tool has 10 parameters, no annotations, and no output schema, the description is too sparse. It omits crucial context such as pagination, date filtering, authentication, and what the response contains. For a list tool of this complexity, the description does not adequately prepare 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.
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 maps four of ten parameters to conceptual filters (client → clientId, service → servicioId, provider → proveedorId, status → estado), which is helpful. However, it ignores limit, cursor, dateTo, dateFrom, apiKey, and orgSlug, so not all parameters are clarified. The mapping it provides earns a baseline pass, but the incomplete coverage prevents a higher score.
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 clearly states the tool lists sales ('ventas') for an organization and lists specific filter dimensions (client, service, provider, status). This distinguishes it from sibling tools like finance_list_cobros (collections) and finance_list_gastos (expenses), earning a perfect score.
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?
The description implies the tool is for listing sales records and specifies available filters, giving clear context for when to use it. It does not explicitly mention alternatives or exclusions, but the tool name and description are sufficiently distinct from siblings, so no exclusion is necessary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
finance_register_paymentAInspect
Register a manual payment against an existing charge (cobro). Updates cobro status automatically. Requires confirm: true.
| Name | Required | Description | Default |
|---|---|---|---|
| tipo | Yes | ||
| fecha | No | ||
| monto | Yes | ||
| apiKey | No | ||
| cobroId | Yes | ||
| confirm | Yes | ||
| orgSlug | Yes | ||
| descripcion | No | ||
| idempotencyKey | No |
Tool Definition Quality
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 disclose two key behaviors: 'Updates cobro status automatically' and 'Requires confirm: true'. However, it does not clarify what 'confirm' actually does, what happens if confirm is false, or provide any details about side effects, reversibility, or error handling. This leaves significant gaps in behavioral transparency.
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?
The description is two sentences, front-loaded with the primary action, and contains no fluff or redundancy. It is concise, but given the tool's complexity (9 parameters), it is perhaps too sparse to convey all necessary information, though that is more a completeness issue than a conciseness issue.
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?
Given the tool's complexity—9 parameters, no output schema, and no annotations—the description is incomplete. It does not explain most parameters, does not specify the return value or success/failure indicators, and lacks guidance on prerequisites like idempotencyKey or the meaning of tipo and fecha. An agent would struggle to correctly invoke this tool based on the description alone.
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 the description must compensate by explaining parameters. It only mentions 'confirm: true', providing meaning for one of nine parameters. Parameters like monto, tipo, cobroId, and orgSlug are not explained at all, leaving the agent to guess their meaning. This is insufficient for a tool with this many parameters.
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 clearly states 'Register a manual payment against an existing charge (cobro)', with a specific verb and resource. This distinguishes it from siblings like finance_create_cobro (creating a charge) and finance_list_payments (listing payments). The 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: it is for manual payments against existing charges, which implies it is used when a charge already exists and needs a payment registered. It does not explicitly exclude alternatives or state 'when not to use', but the context is clear enough for an agent to distinguish from payment listing or creation tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
finance_send_confirmationsAInspect
Send pending confirmation digest to clients. Groups all pending_confirmation charges by client and sends a single message per client via WhatsApp or email. Creates confirmation tokens and sets a grace period for auto-confirmation. Requires confirm: true.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| channel | No | ||
| confirm | Yes | ||
| orgSlug | Yes | ||
| clientId | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description carries the full burden. It discloses key side effects: it groups charges, sends one message per client, creates confirmation tokens, and sets a grace period for auto-confirmation. This goes beyond a simple 'send' and informs the agent of consequential actions. It does not mention failure modes or whether the operation is reversible, but the core behavior is well covered.
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?
The description is three sentences, front-loaded with the primary action, and every sentence adds meaningful detail (grouping, channel, token creation, confirm requirement). There is no fluff or irrelevant information.
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?
The tool has 5 parameters, no output schema, and no annotations, so the description must cover operation, return value, and parameter nuances. It covers the action and notable side effects, but omits what the tool returns (e.g., status, counts), how clientId affects behavior, and error conditions. It is adequate for basic understanding but not fully complete for safe invocation.
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?
The schema has 0% description coverage, so the description must compensate for all parameters. It only clarifies that 'confirm' must be true and implicitly references the 'channel' option ('via WhatsApp or email'). It leaves 'orgSlug', 'apiKey', and 'clientId' unexplained, including how clientId might filter which clients receive the digest. This is a significant gap for a 5-parameter tool.
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 opens with 'Send pending confirmation digest to clients,' which uses a specific verb and resource. It clearly distinguishes from sibling tools like finance_list_confirmations (listing vs. sending) and describes the grouping and channel mechanism, making the tool's purpose unmistakable.
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?
The description provides clear context for when to use the tool: it sends a digest of pending confirmations, grouping by client. It also states 'Requires confirm: true,' which is a strong prerequisite. However, it does not explicitly mention alternatives or when not to use it (e.g., for a single client or non-confirmation communications).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lifecycle_get_stateAInspect
Get the current lifecycle state of a session, including available transitions, state history, and SC resolution. Returns current_state, available_transitions, verification_deadline (when state=delivered), timestamps, duration, sc_resolution (the fundamental SC event: resolved, resolved_at, resolved_by, billing_model), and recent transition history with from/to/at/by/method fields. Requires X-Org-Api-Key. Shape per docs/protocol/sc-event-canonical-schema-2026-04-18.md §7.1.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes | ||
| session_id | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It discloses the required X-Org-Api-Key authentication and details the return fields and structure, including a reference to a canonical schema. As a read operation, there are no side effects, and the 'Get' wording makes this clear.
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?
The description is a single, information-dense paragraph. It front-loads the main purpose and then lists the returned fields, which is efficient. While somewhat long, every sentence adds value.
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?
In the absence of an output schema, the description thoroughly lists the return fields and references the canonical schema doc. It covers authentication and the shape per protocol. It lacks error handling details, but for a simple getter, this is fairly complete.
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 the description must compensate. However, it does not explain any of the parameters (apiKey, orgSlug, session_id) — it only lists return fields. This is a significant gap, as the schema itself provides no additional meaning.
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 clearly states the tool's purpose: 'Get the current lifecycle state of a session' with specific details on what's included (available transitions, state history, SC resolution). This distinguishes it from sibling tools like lifecycle_history and lifecycle_transition.
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?
The description provides clear context for when to use this tool (to fetch current state), but does not explicitly mention alternatives or exclusion criteria. Given the sibling tools, it's implied when this is appropriate, but explicit guidance would be better.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lifecycle_historyAInspect
Get the SCEvent stream for a session — all observed transitions reconstructed from status_history. Returns events[] with discriminated union by event_type (sc.scheduled, sc.confirmed, sc.completed, sc.delivered, sc.verified, sc.cancelled, etc.), plus stream_completeness ("complete" | "partial_pre_trigger") and pagination cursor. Events carry origin="reprojected_from_status_history" and canonical SCEvent shape per docs/protocol/sc-event-canonical-schema-2026-04-18.md §7.2. Filters: event_types (e.g. ["sc.delivered"]), from_sequence (cursor), limit (default 50, max 500). PII note: delivery_proof clinical fields (summary, outcome, next_steps) are returned only for admin-scoped keys. IMPORTANT: backfilled sc_resolved timestamps do NOT emit sc.resolved events in this stream (Forma B, see decisions log 2026-04-18-lifecycle-history-backfill-policy). For current resolution status, use lifecycle_get_state.sc_resolution. Requires X-Org-Api-Key.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| apiKey | No | ||
| orgSlug | Yes | ||
| session_id | Yes | ||
| event_types | No | ||
| from_sequence | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description fully carries the transparency burden. It discloses that events are reprojected from status_history, the origin field, PII restrictions on clinical fields for non-admin keys, pagination behavior, and the critical caveat about sc.resolved events not being emitted. This is exemplary disclosure.
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?
The description is a dense block of text but every sentence adds vital information: return shape, filters, PII, backfill caveat, alternative tool, and auth requirement. It could be improved with bullet points or section breaks, but it remains reasonably sized for the tool's complexity.
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?
This is a complex read tool with no output schema and no annotations. The description covers return structure, event types, pagination, filtering, PII handling, a subtle behavioral caveat, and the recommended sibling tool for current state. It is nearly complete for an agent to select and invoke correctly.
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 the description must compensate. It explains event_types with an example, from_sequence as a cursor, and limit with default/max. However, orgSlug, session_id, and apiKey are not explicitly described, though their names are self-explanatory. Overall, it adds meaning beyond the schema, but not complete coverage.
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 clearly states the tool gets the SCEvent stream for a session, a specific resource and action. It explicitly differentiates from lifecycle_get_state by noting the latter is for current resolution status, and the events stream is historical reconstructions.
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?
The description gives direct guidance: use this for historical SCEvent streams and for current status use lifecycle_get_state.sc_resolution instead. It also clarifies when sc.resolved events are not emitted (backfill policy), preventing incorrect usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
lifecycle_transitionAInspect
Execute a state transition on a session. Accepts either to_state (target state name per Servicialo spec: confirmed, in_progress, completed, verified, documented, cancelled, no_show) or action (semantic verb: confirm, start, complete, verify, document, cancel, no_show). When to_state=no_show, no_show_type is required. NOTE: to_state="delivered" / action="deliver" is NOT available via MCP (ref PDC-SEC-001) — MCP authentication cannot validate actor-as-Proveedor. Delivery must be performed via the REST endpoint PATCH /api/organizations/[orgSlug]/coordinalo/sessions/[sessionId]/deliver which enforces provider binding. Returns transition record with from, to, at, by, method fields. Requires X-Org-Api-Key.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | ||
| action | No | ||
| apiKey | No | ||
| orgSlug | Yes | ||
| evidence | No | ||
| to_state | No | ||
| session_id | Yes | ||
| no_show_type | No | ||
| delivery_type | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description takes on full disclosure responsibility. It reveals the auth requirement (X-Org-Api-Key), the return shape (from, to, at, by, method), and a security-driven limitation (delivery cannot be performed via MCP). It omits behavior around conflicting to_state/action inputs or error handling, but the essential behavioral traits are covered.
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?
The description is longer than average but every sentence carries operational weight: purpose, parameter modes, conditional requirement, security restriction, return fields, and auth. It is front-loaded with the core purpose and flows logically, though a slight trim could improve scannability.
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?
Given 9 parameters, no annotations, and no output schema, the description provides a solid operating picture: what the tool does, valid states/actions, a special-case requirement, an explicit exclusion, return fields, and authentication. It misses some parameter nuances (evidence, delivery_type) and edge cases (conflicting inputs), but is generally complete for safe invocation.
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?
The schema has zero description coverage, so the description must compensate. It thoroughly explains to_state and action (including valid values) and clarifies the no_show_type requirement. However, it leaves evidence, delivery_type, notes, and apiKey meanings implicit, and it does not fully clarify the relationship or precedence between to_state and action.
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 clearly states the tool executes a state transition on a session, distinguishing it from sibling read tools like lifecycle_get_state and lifecycle_history. It enumerates valid states and semantic actions, and even includes a specific exclusion (delivery) with rationale, making the tool's scope unmistakable.
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?
The description explicitly tells the agent when not to use MCP (for delivery) and directs to the REST endpoint, and it specifies that no_show_type is required for the no_show state. However, it does not explicitly contrast with lifecycle_get_state/history as the read alternatives, though the tool name and purpose make this inference fairly clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
members_inviteAInspect
Invite a new member to the organization by email. Sends an invitation email. Requires confirm: true.
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | ||
| Yes | |||
| apiKey | No | ||
| confirm | Yes | ||
| orgSlug | Yes |
Tool Definition Quality
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 side effect of sending an invitation email and the confirmation requirement, but does not cover permissions, reversibility, or error behavior, which for a mutation tool is a moderate gap.
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?
The description is compact at three short sentences, with the main action front-loaded. The second sentence is somewhat redundant with 'by email' in the first, but the overall structure is clear.
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?
Given the lack of output schema and annotations, the description is too sparse. It does not mention required fields like orgSlug and role, nor the apiKey parameter, and does not describe the response or error conditions. For a mutation tool, this is inadequate.
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 the description must compensate. It only explains the 'email' parameter implicitly and the 'confirm' requirement, leaving 'orgSlug', 'role', and 'apiKey' unexplained. This is insufficient for a 5-parameter tool.
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 clearly states the tool's function with a specific verb ('Invite') and resource ('new member to the organization by email'), distinguishing it from sibling tools like members_list.
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?
It provides clear context that this tool is for inviting members and notes a prerequisite ('Requires confirm: true'). It does not explicitly name alternatives, but none exist among the siblings, so the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
members_listCInspect
List members of an organization with their roles and status.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry full burden. It mentions output content ('roles and status') but does not disclose auth requirements (apiKey), read-only nature, pagination, or side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single concise sentence with no redundancy, directly stating the tool's function.
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?
Given the lack of annotations and parameter descriptions, the description is too sparse. It does not clarify required inputs, output format, or any behavioral nuances, leaving a simple tool under-specified.
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% and the description does not mention either parameter. 'Organization' loosely implies orgSlug, but apiKey is completely unaddressed.
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?
Clear verb 'List' + resource 'members of an organization' with added detail on what is included ('roles and status'). This distinguishes it from siblings like members_invite or client_list.
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, no prerequisites or exclusions. Only implies usage via its purpose statement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
org_summaryAInspect
Compact organization overview (~500 tokens). Returns services, providers, schedules, active features, key counts, and an onboarding_status checklist showing what is configured vs missing (services, providers, availability, public agenda). Use as first call to orient yourself — cheaper than report_dashboard. If onboarding_status.ready is false, follow the missing steps before booking.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It describes return content, token size (~500 tokens), and the meaning of onboarding_status (configured vs missing). It implicitly signals read-only behavior via 'overview' and 'orient yourself.' Slightly more explicit statement that it does not mutate state would earn 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with front-loaded core purpose, then a compact list of return contents, and a clear usage recommendation. No wasted 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?
Despite no output schema, the description enumerates all key outputs and adds decision logic based on onboarding_status. The tool's complexity is low-to-moderate and the description fully covers what an agent needs to orient and proceed.
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 has 0% description coverage and the tool description does not mention orgSlug or apiKey. Parameter names are partially self-explanatory (orgSlug) but no semantic details are added. Since coverage is low, the description should compensate, but it does not.
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?
Description clearly states what the tool does: 'Compact organization overview' returning specific data categories. It lists exact content (services, providers, schedules, active features, key counts, onboarding_status checklist) and distinguishes itself from report_dashboard by being cheaper and intended as first call.
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?
Explicit guidance is provided: 'Use as first call to orient yourself — cheaper than report_dashboard.' It also gives conditional follow-up: 'If onboarding_status.ready is false, follow the missing steps before booking.' This establishes when to use it and how to react to output.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
org_updateAInspect
Update organization profile fields: name, description, logo URL, or vertical. Only provided fields are updated.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| apiKey | No | ||
| logoUrl | No | ||
| orgSlug | Yes | ||
| vertical | No | ||
| description | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits itself. It reveals that the update is partial (only provided fields are updated), which is important, but it does not mention authentication requirements (apiKey), return value, or error behavior. This is partially transparent.
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?
The description is a single, front-loaded sentence without redundant wording. It efficiently conveys the core action and key behavior.
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?
For a mutation tool with no annotations and no output schema, the description covers the main purpose and partial-update behavior but lacks details on authentication, response, and edge cases (e.g., setting fields to null). Given the schema's required orgSlug and apiKey, the description is not fully self-sufficient.
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?
The description enumerates the updatable fields (name, description, logoUrl, vertical), mapping to 4 of 6 schema properties. It omits orgSlug and apiKey, and with 0% schema description coverage, this leaves the required identifier and authentication parameter unexplained. It does add partial-update semantics, providing modest value.
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 uses the specific action 'Update' with resource 'organization profile' and enumerates the updatable fields (name, description, logo URL, vertical). This clearly distinguishes it from read tools like org_summary and other resource-specific update tools.
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?
It states 'Only provided fields are updated,' which clarifies partial-update semantics, but it does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention prerequisites or exclusions. The intended usage is implied but not fully elaborated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
payroll_get_summaryBInspect
Get payroll summary for a period: total per provider, total cost, pending approvals.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes | ||
| periodo | Yes |
Tool Definition Quality
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 tool aggregates data by provider and includes cost and pending approvals, which is useful behavioral context. However, it does not mention whether this is a read-only operation, any permission requirements, or potential side effects. For a get operation, it adds some value but lacks depth.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that packs useful information without any fluff. It front-loads the core purpose and provides examples of what the summary includes.
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?
The tool is relatively simple, and the description covers the return content. However, without an output schema or annotations, the description does not fully clarify the input parameters or the overall operation context. It is minimally complete but leaves gaps in parameter handling and expected usage.
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% and the description does not compensate for this. It only implicitly references 'period' via the word 'periodo', but does not explain apiKey or orgSlug, nor the format expected for periodo. The parameter semantics are largely unexplained.
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 clearly states the action ('Get payroll summary'), the resource (payroll summary for a period), and the content (total per provider, total cost, pending approvals). This is specific and distinguishes it from sibling tools like payroll_list_records, which likely lists individual records rather than a summary.
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?
The description provides no guidance on when to use this tool versus alternatives. It does not mention any exclusions, prerequisites, or why one might choose this over payroll_list_records or report_dashboard. Usage context is implied only by the word 'summary'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
payroll_list_recordsBInspect
List payroll records for an organization. Filter by period, provider, or status.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| apiKey | No | ||
| status | No | ||
| orgSlug | Yes | ||
| periodo | No | ||
| providerId | No |
Tool Definition Quality
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 behavior. The verb 'list' implies a read-only operation, but there is no mention of pagination, limit behavior, authentication requirements, or response format. This leaves significant ambiguity about how the tool actually behaves.
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?
The description is two short sentences with the action front-loaded. Every word contributes meaning: the first sentence states the core purpose, and the second lists available filters. No wasted 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?
Given six parameters, no output schema, and no annotations, the description is too thin. It omits return value details, pagination behavior, required parameter semantics, and any caveats about filtering. An agent would need to make many assumptions to use this tool correctly.
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 the description should compensate. It mentions filtering by period, provider, or status, which maps to some parameters, but it does not explain the required orgSlug, the apiKey, the limit parameter, or the mismatch between 'period' in the description and 'periodo' in the schema. This is incomplete for a tool with six parameters.
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 uses a specific verb 'list' and resource 'payroll records', and clarifies the organizational scope. This clearly distinguishes it from the sibling payroll_get_summary tool, which focuses on a summary rather than records.
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?
The description clearly indicates this tool is for listing payroll records and mentions filter options, but it does not explicitly state when to use it over alternatives or provide any exclusions. The usage is implied rather than fully guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
portal_cancel_reschedule_requestAInspect
Cancel a pending reschedule request (SessionRequest) on behalf of the client who proposed it — the client-side withdrawal in the bilateral loop (outcome=cancelled_by_client). Idempotent: a request already cancelled_by_client returns wasAlreadyCancelled=true; a request in another terminal state returns a conflict. Use booking_list_requests to find pending requests; use booking_resolve_request for the org's own approve/reject.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes | ||
| requestId | Yes |
Tool Definition Quality
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 discloses idempotency ('returns wasAlreadyCancelled=true'), terminal-state behavior ('returns a conflict'), and the terminal outcome ('cancelled_by_client'). It does not detail auth requirements or exact error responses, but the key operational traits are clearly surfaced.
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?
The description is three sentences, front-loaded with the action and resource, followed by idempotency semantics and alternative tool references. Every sentence adds distinct, valuable information with no padding or repetition of schema fields.
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?
For a simple cancellation tool with 3 parameters, no output schema, and no annotations, this description is complete: it states the purpose, the exact behavior in edge cases, and the sibling tools to use for related operations. The only minor omission is parameter-level detail, but that is covered by the parameter semantics dimension.
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 the description must compensate. It adds meaning for requestId by explaining it refers to a pending reschedule request and discussing states, but it does not explicitly describe orgSlug or apiKey. The parameter names are fairly self-evident, but the description could have mapped them more directly.
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 opens with the specific verb 'Cancel', identifies the resource as 'a pending reschedule request (SessionRequest)', and clarifies the actor perspective: 'on behalf of the client who proposed it'. It further distinguishes the outcome ('outcome=cancelled_by_client') and differentiates from siblings by naming the 'client-side withdrawal in the bilateral loop'.
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?
The description provides explicit when-to-use guidance: it is for the client-side withdrawal of a pending reschedule request. It also names alternatives: 'Use booking_list_requests to find pending requests; use booking_resolve_request for the org's own approve/reject.' This clearly directs an agent to the right tool in context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
portal_confirm_deliveryAInspect
Confirm, on behalf of the client, that the service was delivered (writes DeliveryProof.clientConfirmed) — the client-side confirmation that closes dual-confirm verification. Allowed once the session is completed/delivered/documented; rejected if an open dispute exists. Optionally records a 1-5 rating (only if the service captures quality). This is an OVERLAY: it does NOT change session.status (the auto-verify cron advances delivered→verified). Idempotent: alreadyConfirmed=true if already done. Triggers SC resolution.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | ||
| apiKey | No | ||
| rating | No | ||
| orgSlug | Yes | ||
| sessionId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses the mutation (writes DeliveryProof.clientConfirmed), what it does NOT do (does not change session.status), side effects (triggers SC resolution), idempotency, and conditions for rejection. This is exemplary transparency for a state-changing tool.
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?
The description is dense yet every sentence earns its place: purpose, conditions, optional parameter, overlay behavior, idempotency, and side effects. It is front-loaded with the primary action and uses clear formatting with semicolons and commas for readability.
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?
Given the complexity of this tool (dual-confirm flow, overlay behavior, conditions, idempotency, side effects), the description covers all critical aspects. It explains prerequisites, prohibitions, what it changes, what it does not change, and the trigger for SC resolution. No output schema exists, but the idempotent return field is mentioned, which is sufficient for an agent.
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 coverage is 0%, so the description must compensate. It explains the 'rating' parameter (1-5, only if service captures quality) but does not explain 'note', 'apiKey', 'orgSlug', or 'sessionId'. The latter three are likely self-evident identifiers/authentication, but 'note' and 'apiKey' would benefit from at least a phrase. Overall, partial compensation.
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 uses a specific verb ('Confirm'), identifies the resource ('delivery'), and clarifies the exact effect ('writes DeliveryProof.clientConfirmed'). It clearly distinguishes from siblings like portal_session_confirm by framing this as the client-side confirmation that closes dual-confirm verification.
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?
The description provides explicit conditions for use: 'Allowed once the session is completed/delivered/documented; rejected if an open dispute exists.' It also notes idempotency and how it fits into the broader verification flow. It does not explicitly name alternative tools, but the context is strong enough to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
portal_propose_rescheduleAInspect
Propose a new time for a session on behalf of the client — opens the bilateral coordination loop by creating a pending SessionRequest (it does NOT move the session; the org resolves it with booking_resolve_request). Provide requestedScheduledAt as an ISO datetime (must be future, within ~3 months). Gated by the org's session-request flow flag and rate-limited per (client, session). The event records the session's client as the proposer. Use booking_list_requests to track pending requests.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| reason | No | ||
| orgSlug | Yes | ||
| sessionId | Yes | ||
| requestedScheduledAt | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description fully carries the transparency burden and does so richly: it discloses side effects (creates pending SessionRequest, does not move session), conditions (gated by org flag, rate-limited per client/session), and data semantics (records client as proposer, future ISO datetime within ~3 months). These are meaningful behavioral details beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense yet well-structured: purpose first, key constraint second, behavioral gating/rate-limit third, and tracking pointer last. Every sentence adds useful information with no filler.
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?
Given the absence of annotations and output schema, the description gives a complete enough picture for selecting and invoking the tool. The only minor gap is no mention of response shape or explicit error conditions, but the side effects and constraints are thoroughly covered.
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?
The schema has no parameter descriptions, so the description must compensate. It does well for requestedScheduledAt (ISO datetime, future, within ~3 months) and implies sessionId/orgSlug by context, but it does not explain optional reason or apiKey. Partial compensation for a 0%-coverage schema merits a mid-range score.
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 opens with a specific action ('Propose a new time for a session on behalf of the client') and clearly distinguishes the tool from booking_reschedule by stating it 'does NOT move the session' and creates a pending SessionRequest resolved via booking_resolve_request. This goes beyond a vague restatement of the name.
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?
It explicitly frames when to use the tool (opening the bilateral coordination loop) and points to the org-side resolution path and tracking tool (booking_list_requests). It also implies the alternative of a direct move via booking_reschedule by emphasizing the pending nature.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
portal_report_sessionAInspect
Report, on behalf of the client, that the professional did not show up (reason=provider_no_show) or that the session was cancelled/not delivered (reason=cancelled). Creates a Dispute(OPEN) for the org to review — it does NOT change the session status. Idempotent: if an open dispute already exists for the session, returns alreadyReported=true with its disputeId. Notifies the org.
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | ||
| apiKey | No | ||
| reason | Yes | ||
| orgSlug | Yes | ||
| sessionId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and excels: it discloses that the tool creates a Dispute(OPEN), does NOT modify session status, is idempotent (returns alreadyReported=true with disputeId if an open dispute exists), and notifies the org. This is comprehensive behavioral disclosure beyond what the schema or annotations provide.
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?
The description is three sentences, front-loaded with the main purpose, and every sentence adds value. No fluff or redundancy; it efficiently covers functionality, side effects, and idempotency.
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?
Given the lack of output schema and annotations, the description covers core context: what it does, what it doesn't do, idempotency, and notification. It is missing details on the success response (other than idempotent case) and potential errors, but overall it is nearly complete for a tool of this complexity.
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 the description must compensate. It explains the 'reason' parameter fully (enum values and meanings) and implies the roles of orgSlug and sessionId. However, it does not describe 'note' or 'apiKey' semantics, leaving some parameters under-explained despite their presence in the schema.
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 clearly states the tool's purpose: reporting on behalf of the client that a provider did not show up or a session was cancelled, creating a dispute. It distinguishes from sibling tools by explicitly noting it does NOT change session status, differentiating it from portal_session_cancel and similar tools.
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?
The description provides clear context for when to use the tool (reasons for reporting) and explicitly excludes a major alternative behavior (changing session status). While it doesn't name specific alternative tools, the guidelines are clear enough for an agent to select this tool appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
portal_session_cancelAInspect
Cancel a client's session on behalf of the client (client-initiated cancellation: cancelledBy=client). Allowed from scheduled/pending_confirmation/confirmed; rejects past sessions. Idempotent: a session already cancelled returns alreadyCancelled=true. Distinct from the admin cancellation with cancellation-policy charges — this is the client-portal cancel flow. The org API key owner is recorded as the actor acting on behalf of the client (ADR-004 §6).
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes | ||
| sessionId | Yes | ||
| cancellationReason | No |
Tool Definition Quality
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 excellently covers idempotency (alreadyCancelled=true), status restrictions, actor attribution (org API key owner recorded per ADR-004), and the distinction from admin cancellation with policy charges—far exceeding typical transparency.
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?
The description is front-loaded with the primary action and includes four sentences, each adding critical information (state restrictions, idempotency, flow distinction, actor recording). There is no redundant or filler content; every sentence earns its place.
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?
Given the absence of annotations and output schema, the description is quite thorough, covering status preconditions, idempotency, actor semantics, and the client-flow distinction. However, the complete lack of parameter explanations leaves a notable gap in operation-level context, preventing a perfect score.
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 coverage is 0% for 4 parameters, yet the description gives no explanation of apiKey, orgSlug, sessionId, or cancellationReason. It references the session and org API key conceptually, but does not map these to the actual parameters or clarify their roles, leaving the agent without semantic guidance.
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 clearly states the action: cancel a client's session on behalf of the client. It specifies the resource (client session), the initiating party (cancelledBy=client), and explicitly distinguishes itself from the admin cancellation flow, making its scope unambiguous.
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?
The description provides explicit when-to-use guidance by listing allowed session statuses (scheduled/pending_confirmation/confirmed) and disallowing past sessions. It also contrasts with the admin cancellation flow, indicating when not to use this tool, which serves as a clear exclusion criterion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
portal_session_confirmAInspect
Confirm a client's attendance to their session, on behalf of the client (e.g. the client called or messaged the org to confirm). Moves scheduled/pending_confirmation → confirmed and notifies the provider. This is the client-portal confirm flow (event role = client), distinct from the org's own admin confirm in booking_update_status. Idempotent: a session already confirmed returns alreadyConfirmed=true. The org API key owner is recorded as the actor acting on behalf of the client (ADR-004 §6).
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes | ||
| sessionId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries full burden. It discloses the state transition ('Moves scheduled/pending_confirmation → confirmed'), side effect ('notifies the provider'), idempotency behavior ('alreadyConfirmed=true'), and actor semantics ('org API key owner is recorded as the actor'), which goes well beyond basic expectations.
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?
The description is dense and front-loaded, with each sentence providing distinct value: purpose, state change, differentiation, idempotency, and actor. The ADR-004 reference adds specificity but may be cryptic; still, the structure is efficient.
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?
For a state-changing tool with no output schema, the description covers key behavioral facets: state transition, notification, idempotency, and actor. It doesn't mention failure conditions or prerequisites, but the core semantics are well covered.
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 has 0% description coverage, and the description doesn't directly explain each parameter. However, 'org API key owner' clarifies apiKey, 'session' implies sessionId, and orgSlug's role as a route scope is inferable. Names are self-explanatory, but the description should have explicitly addressed required parameters, so it only partially compensates.
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 states a specific verb ('Confirm') with a specific resource ('client's attendance to their session') and clearly distinguishes from siblings by naming the 'client-portal confirm flow' versus the org's admin confirm in booking_update_status.
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?
Provides an explicit when-to-use context ('on behalf of the client (e.g. the client called or messaged the org)') and explicitly names the alternative ('distinct from the org's own admin confirm in booking_update_status'), making it easy to select over siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
provider_createAInspect
Create a new provider in the organization. Links or creates a Person record by email.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| Yes | |||
| phone | No | ||
| apiKey | No | ||
| orgSlug | Yes | ||
| lastName | Yes | ||
| isInternal | No | ||
| serviceIds | No | ||
| idempotencyKey | No | ||
| comunasCobertura | No | ||
| defaultCommission | No |
Tool Definition Quality
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 a significant side effect: linking or creating a Person record by email, which is beyond the obvious creation of a provider. However, it omits other behavioral aspects such as permissions, idempotency (despite an idempotencyKey param), error conditions, and whether the operation is reversible, leaving substantial gaps.
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?
The description is appropriately short and front-loaded with the main purpose. The second sentence adds valuable info about the Person record side effect. Every sentence earns its place, with no fluff or redundancy.
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?
Given the tool's complexity (11 parameters, 4 required) and the absence of annotations and output schema, the description is not complete enough for an agent to invoke the tool confidently. It lacks parameter explanations, expected outcomes, error handling, and usage context. The description gives only a basic purpose and one side effect, falling far short of what is needed for such a parameter-rich operation.
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 the description must compensate for all 11 parameters. It only adds meaning for the email parameter by explaining its role in linking/creating a Person record. All other parameters (e.g., name, lastName, phone, apiKey, isInternal, serviceIds, comunasCobertura, defaultCommission, idempotencyKey) remain unexplained, providing minimal aid to the agent.
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 clearly states the tool's primary function with a specific verb and resource: 'Create a new provider in the organization.' It also adds a key behavioral detail about linking or creating a Person record by email, which distinguishes it from related provider tools like provider_update and provider_get.
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?
The description implies when to use the tool — whenever a new provider needs to be created — but it does not explicitly state when not to use it or mention alternatives. The sibling tools are not referenced, and there is no exclusionary guidance. Usage context is therefore implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
provider_getBInspect
Get complete details of a provider including services, schedule, and session stats.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes | ||
| providerId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description conveys that this is a read operation ('Get'), implying no side effects. However, it does not disclose authentication requirements or other behavioral details beyond the schema's apiKey parameter, and no annotations are present to confirm safety.
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?
The description is a single, focused sentence that front-loads the tool's purpose.
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?
The tool is simple, but the description only partially compensates for the missing output schema by listing included details. It doesn't mention required parameters or return structure beyond these categories, and lacks usage guidance.
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 coverage is 0%, and the description does not explain any of the three parameters (apiKey, orgSlug, providerId). Parameter names are self-evident but their semantics, required formats, or relationships are not elaborated.
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 clearly states the tool fetches complete provider details, enumerating services, schedule, and session stats. This distinguishes it from sibling tools like provider_get_stats and provider_update.
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 guidance is provided on when to use this tool versus alternatives. Sibling tools like provider_get_stats and admin_list_providers exist, but the description does not differentiate usage contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
provider_get_statsBInspect
Get detailed performance metrics for a provider over a date range: sessions, occupancy, no-show rate, revenue.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| dateTo | No | ||
| orgSlug | Yes | ||
| dateFrom | No | ||
| providerId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full transparency burden. It only says 'Get detailed performance metrics,' without disclosing return format, aggregation logic, permission requirements, or possible side effects, leaving the agent uncertain about behavior.
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?
The description is a single, focused sentence that front-loads the action and lists key metrics 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?
The tool has no output schema and no annotations, yet the description provides only a minimal overview. It omits parameter details, output structure, and any caveats, making it insufficient for an agent to invoke reliably.
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 descriptions are absent (0% coverage), so the description must explain parameters. It vaguely references 'provider' and 'date range' to map providerId and dateFrom/dateTo, but fails to clarify apiKey, optionality, date format, or pairing constraints.
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 clearly states the action (Get), the resource (performance metrics for a provider), and the scope (over a date range), listing specific metrics: sessions, occupancy, no-show rate, revenue. This distinguishes it from sibling tools that focus on individual metrics like report_no_shows or report_occupancy.
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?
The description implies a use case—retrieving aggregated provider metrics—but does not explicitly state when to use this tool over alternatives. Sibling specialized report tools exist, yet no exclusions or alternative guidance are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
provider_updateCInspect
Update provider data: status, commission, coverage areas, permissions.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| phone | No | ||
| apiKey | No | ||
| orgSlug | Yes | ||
| isActive | No | ||
| lastName | No | ||
| providerId | Yes | ||
| comunasCobertura | No | ||
| defaultCommission | No | ||
| canManageOwnServices | No | ||
| canManageOwnAvailability | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full responsibility for disclosing behavioral traits. It does not mention semantics like partial vs. full update, required permissions, idempotency, or side effects. The description is purely declarative ('Update provider data') without explaining what happens on execution.
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?
The description is a single sentence with a clean structure: verb + object + a colon-separated list of updatable aspects. It avoids fluff and is easy to parse, though it could include a bit more detail without becoming verbose.
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?
Given the tool has 11 parameters, no annotations, and no output schema, the description is severely under-specified. It does not explain return values, required identifiers, or the nature of the update operation (e.g., partial update vs. full replacement). The description is inadequate for an agent to invoke the tool correctly without further inference.
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 the description must compensate for parameter meaning. It maps a few concepts (status, commission, coverage areas, permissions) to likely schema properties (isActive, defaultCommission, comunasCobertura, canManageOwnServices/CanManageOwnAvailability), but it fails to explain the required identifiers (orgSlug, providerId) and other params like name, phone, apiKey, isActive. This partial coverage does not adequately compensate for the lack of schema descriptions.
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 clearly identifies the action ('Update provider data') and lists specific fields (status, commission, coverage areas, permissions), making the tool's purpose understandable. However, it does not explicitly distinguish it from sibling tools like provider_create or admin_toggle_discoverable, so it lacks 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is used when updating provider data, but it provides no explicit guidance on when to use it vs. alternatives, nor any exclusions (e.g., 'for creating providers, use provider_create'). The usage context is only inferred from the verb 'Update' and the resource.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
public_availability_get_slotsAInspect
Query available time slots for public booking. Does NOT require an API key. Returns slots grouped by service from the organization's public agenda. Provider details are hidden — the system auto-assigns at booking time. Use after public_service_list to find bookable times.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| dateTo | No | ||
| orgSlug | Yes | ||
| dateFrom | No | ||
| timezone | No | ||
| serviceId | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It usefully discloses that no API key is required, that provider details are hidden, and that the system auto-assigns providers at booking time. It does not mention pagination or error behavior, but the provided details meaningfully shape agent expectations.
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?
Three sentences with no filler. It front-loads the core purpose, then adds critical behavioral details and usage sequencing, all in a compact and readable format.
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?
The description covers the essential purpose, public context, and key constraints, but given 6 parameters with zero schema coverage and no output schema, it leaves gaps around date range handling, timezone behavior, and the exact return shape. It is adequate for a simple query tool but not fully complete.
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% and none of the six parameters are explained in the description. The phrase 'grouped by service' hints at the relevance of serviceId, but date, timezone, and orgSlug semantics are left entirely to the schema, which only provides names. The description does not compensate for the lack of parameter documentation.
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 clearly states the tool's function: 'Query available time slots for public booking.' It distinguishes itself from sibling tools like availability_get_slots by emphasizing 'public', noting that no API key is required, and specifying that slots are grouped by service from the organization's public agenda.
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?
The description provides explicit usage context: 'Use after public_service_list to find bookable times.' This indicates the intended sequence. However, it does not explicitly contrast with the private availability_get_slots or state when not to use it, so it falls short of full alternative-based guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
public_booking_cancelAInspect
Cancel a public booking using the bookingToken. Only works for bookings in pending_confirmation, scheduled, or confirmed status. Optionally include a reason. Does NOT require an API key. The booking token scopes access to a single booking.
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | ||
| orgSlug | Yes | ||
| bookingToken | Yes |
Tool Definition Quality
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 reveals important traits: the restriction to certain statuses, the lack of API key requirement, and the token's scoping to a single booking. It does not mention reversibility or side effects, but the provided context goes beyond basic schema information.
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?
The description is four sentences, all informative and without fluff. It front-loads the action ('Cancel a public booking'), then succinctly provides status restrictions, optional reason, auth note, and token scoping. Every sentence earns its place.
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?
The description covers purpose, token usage, statuses, auth, and optional reason, but lacks explanation of the required orgSlug parameter and any indication of return values or error behavior. Given no output schema, some description of expected result would improve 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?
The schema has 0% description coverage, so the description must compensate. It explains bookingToken (required, scopes access) and reason (optional), but entirely omits orgSlug, which is a required parameter. This leaves a significant semantic gap for one of the three parameters.
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 clearly states the verb 'Cancel' and the resource 'a public booking' using the bookingToken. It distinguishes itself from sibling tools like booking_cancel and public_booking_confirm by specifying it operates on public bookings via a token, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context by specifying that it only works for bookings in pending_confirmation, scheduled, or confirmed status, and that it does not require an API key while the token scopes access to a single booking. It does not explicitly name alternative tools, but the constraints imply when it should be used versus admin tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
public_booking_confirmAInspect
Confirm a pending public booking using the confirmationToken returned by public_booking_create. Advances the booking from pending_confirmation to scheduled. The token expires after 30 minutes. Does NOT require an API key. Rate-limited.
| Name | Required | Description | Default |
|---|---|---|---|
| orgSlug | Yes | ||
| confirmationToken | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It explicitly discloses the state transition, token expiry, that no API key is required, and that the tool is rate-limited. This is substantial behavioral information beyond the bare schema, though it does not cover response format or failure behavior.
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?
The description is efficient, with each sentence adding a distinct piece of information: purpose, state change, token expiry, auth requirement, and rate limiting. It is front-loaded with the primary action and contains no redundant or filler content.
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?
For a simple 2-parameter tool with no output schema, the description covers the essential aspects: what it does, the state transition, token lifecycle, auth, and rate limiting. It could mention that orgSlug should match the one used at booking creation, but that is a minor omission. Overall, it is sufficiently complete for an agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has no property descriptions, so the description must explain parameters. It thoroughly explains confirmationToken (origin from public_booking_create and expiry). However, orgSlug is not mentioned at all. While orgSlug is somewhat self-explanatory, the description does not add clarity for that required parameter, leading to partial compensation for the 0% schema coverage.
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 clearly states the tool's purpose: confirming a pending public booking via a confirmation token. It specifies the verb 'Confirm' and the resource 'public booking', and goes further to describe the state transition from pending_confirmation to scheduled, which distinguishes it from sibling tools like public_booking_cancel or public_booking_reschedule.
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?
The description states that the confirmationToken comes from public_booking_create, implying the tool should be used after creation. It also notes the 30-minute token expiry, signaling urgency. However, it does not explicitly mention alternative tools or when NOT to use this tool, but the context of public booking confirmation with a token is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
public_booking_createAInspect
Create a public booking request. Does NOT require an API key, but DOES require: (1) requester identity — fullName plus at least email or phone, (2) submission context — channel and whether an agent assisted, (3) authorization.humanIntentConfirmed must be true. The booking is created as pending_confirmation — use public_booking_confirm with the returned confirmationToken to confirm. A bookingToken is also returned for future lifecycle management (cancel, reschedule). Rate-limited per IP+org. All requests are audited with semantic decision codes. Use public_service_list → public_availability_get_slots → public_booking_create → public_booking_confirm as the complete public booking flow.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | ||
| orgSlug | Yes | ||
| startAt | Yes | ||
| requester | Yes | ||
| serviceId | Yes | ||
| submission | Yes | ||
| authorization | Yes | ||
| idempotencyKey | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Since no annotations are provided, the description fully carries the burden. It discloses the pending_confirmation status, the return of confirmationToken and bookingToken for lifecycle management, rate limiting, and auditing with semantic decision codes. This far exceeds basic schema information.
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?
The description is dense but well-organized, using numbered requirements and a clear flow sequence. Every sentence contributes useful information with no redundancy or filler.
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?
Given the complex nested schema and absence of an output schema, the description provides the necessary lifecycle context, return tokens, prerequisites, and end-to-end flow. This is sufficient for an agent to correctly select and invoke the tool.
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?
The description adds important semantics beyond the schema, such as requiring 'fullName plus at least email or phone', submission channel and agent assistance context, and authorization.humanIntentConfirmed=true. However, it does not clarify startAt format or idempotencyKey behavior, so it is not fully comprehensive for all 8 parameters.
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 clearly states 'Create a public booking request', specifying the verb and resource. It further distinguishes itself from sibling tools like booking_create by emphasizing the 'public' nature and lack of API key requirement.
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?
It provides explicit prerequisites and an explicit flow: 'Use public_service_list → public_availability_get_slots → public_booking_create → public_booking_confirm as the complete public booking flow.' It also notes when no API key is required and describes rate limiting, giving clear situational context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
public_booking_getAInspect
Get details of a public booking using the bookingToken returned by public_booking_create. Returns status, scheduled time, service, and requester info. Does NOT require an API key — the booking token is the credential. Only returns public-safe data.
| Name | Required | Description | Default |
|---|---|---|---|
| orgSlug | Yes | ||
| bookingToken | Yes |
Tool Definition Quality
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 discloses the authentication model (booking token is the credential, no API key), the read-only nature ('Get details'), and the data scope ('only returns public-safe data'). This adds meaningful behavioral context beyond the schema and name, though it does not mention error cases or token expiration.
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?
The description is three sentences, front-loaded with the main action and resource. Each sentence earns its place: what it does, what it returns, and the notable auth/security context. No fluff or repetition.
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?
For a simple two-parameter read tool with no output schema, the description covers the core purpose, return fields, and auth model. However, the required orgSlug parameter is completely unexplained, leaving a meaningful gap in the tool's usage context. The description is useful but not fully complete.
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 the description must explain parameter meaning. It clearly explains bookingToken (returned by public_booking_create, acts as credential) but does not explain orgSlug at all. Since one of two required parameters is left undefined, the description only partially compensates for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets details of a public booking using the bookingToken, listing specific returned fields (status, scheduled time, service, requester info). It distinguishes itself from sibling tools like public_booking_cancel, public_booking_confirm, and public_booking_reschedule by focusing on retrieval, and from booking_get by emphasizing the public/token-based nature.
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?
The description provides clear context: use the bookingToken returned by public_booking_create and no API key is needed. It implies when to use this tool (public booking flows) but does not explicitly mention alternatives or when not to use it. This is clear context without exclusions, matching a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
public_booking_rescheduleAInspect
Reschedule a public booking using the bookingToken. Cancels the original and creates a new pending_confirmation booking at the new time. Returns new confirmationToken and bookingToken. Only works for bookings in pending_confirmation, scheduled, or confirmed status. Does NOT require an API key.
| Name | Required | Description | Default |
|---|---|---|---|
| orgSlug | Yes | ||
| newStartAt | Yes | ||
| bookingToken | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully discloses side effects: 'Cancels the original and creates a new pending_confirmation booking at the new time.' It also mentions return values (new confirmationToken and bookingToken), status restrictions, and auth requirements—far beyond what annotations would provide.
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?
The description is three sentences, front-loaded with the primary purpose, and every sentence adds essential information—no fluff, no repetition.
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?
Given three simple parameters, no output schema, and no annotations, the description covers behavior, return values, status constraints, and auth requirements. It is complete enough for an agent to decide when and how to invoke the tool.
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?
The input schema has no descriptions, and the tool description mentions bookingToken and 'new time' (newStartAt) explicitly, but does not explain orgSlug at all. Since orgSlug is required and not self-evident in context, this is a gap in parameter semantics.
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 clearly states the tool's function: 'Reschedule a public booking using the bookingToken.' It specifies the verb (reschedule), resource (public booking), and method (using bookingToken), and distinguishes it from siblings like booking_reschedule by emphasizing 'public' and the token-based workflow.
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?
The description provides clear context for when the tool is applicable: 'Only works for bookings in pending_confirmation, scheduled, or confirmed status.' This is an explicit exclusion condition, though it does not name alternatives. It also notes that no API key is required, adding operational context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
public_service_listAInspect
List publicly bookable services for an organization. Does NOT require an API key. Returns only active, discoverable services with assigned providers. Use this as the first step in the public booking flow to show available services to end users or agents.
| Name | Required | Description | Default |
|---|---|---|---|
| orgSlug | Yes |
Tool Definition Quality
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 explicitly states that no API key is required, which is critical auth information for agents. It also discloses a filtering behavior (only active, discoverable services with assigned providers). This goes beyond a bare 'list' statement, though it stops short of describing error handling 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each adding critical value: purpose, auth requirement, and usage guidance. It is front-loaded with the primary verb and resource, and there is no redundancy or filler.
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?
The tool is simple (one parameter, no output schema), so the description covers the core invocation and purpose. However, it does not describe the output format or fields of the returned services, which would be needed for an agent to consume the result. Given the absence of an output schema, this is a notable gap.
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?
The schema provides no description for the only parameter (orgSlug), and the description does not explicitly explain it either. The phrase 'for an organization' implies the slug identifies the organization, but the meaning and format are left vague. With 0% schema description coverage, the description should compensate more directly for this parameter.
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 clearly identifies the action ('List') and resource ('publicly bookable services for an organization'). It also specifies the scope ('active, discoverable services with assigned providers') and distinguishes itself from sibling admin tools by noting it is public and requires no API key.
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?
The description explicitly states when to use the tool: 'Use this as the first step in the public booking flow to show available services.' This provides clear context and sequencing. However, it does not explicitly mention when not to use it or name alternative tools for other contexts (e.g., admin service tools).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reminders_get_configAInspect
Get the full reminder/notification configuration for an organization. Returns detailed settings for each reminder type: bookingReminder (post-booking follow-up), sessionReminder24h (24h before), sessionReminder1h (1h before), paymentReminder (payment due), paymentOverdue (overdue payment), notificationFollowup (post-session follow-up), pendingConfirmation (auto-cancel unconfirmed). Each has enabled, timing, and frequency settings. More granular than settings_get reminders chapter.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It clearly states the return content: 'Returns detailed settings for each reminder type' and lists each type and the settings fields (enabled, timing, frequency). It does not discuss side effects, but 'Get' implies a read-only operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the purpose and provides a helpful enumerated list of reminder types. It is a bit lengthy but each piece adds useful context; no wasted 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 does a good job explaining the return values, listing all reminder types and their settings. However, it omits parameter usage details and could clarify the relationship between orgSlug and the organization context.
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%, and the description does not explain either parameter (apiKey, orgSlug). It only says 'for an organization' which indirectly references orgSlug, but fails to state that orgSlug is required or describe apiKey. The description must compensate for low schema coverage but does not.
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 uses a specific verb ('Get') and resource ('full reminder/notification configuration') and enumerates the exact reminder types returned. It also differentiates from the sibling settings_get tool by stating it is 'More granular than settings_get reminders chapter'.
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?
The comparison to settings_get reminders chapter gives an alternative and implies this tool is for more detailed config. However, it does not explicitly state when to use this tool versus alternatives like reminders_update_config or comms_get_preferences.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reminders_update_configAInspect
Update reminder/notification configuration for an organization. Partial update — only provided sections are changed. Sections: bookingReminder {enabled, daysAfter, maxReminders, interval}, sessionReminder24h {enabled, hoursBefore, sendTime}, sessionReminder1h {enabled, hoursBefore}, paymentReminder {enabled, daysAfter, maxReminders, interval}, paymentOverdue {enabled, daysOverdue, maxReminders, interval}, notificationFollowup {enabled, daysAfter, maxFollowups, interval}, pendingConfirmation {enabled, cutoffHours, autoConfirm} (cutoffHours = hours BEFORE the appointment that an unaccepted booking expires). Returns the full configuration after update.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes | ||
| paymentOverdue | No | ||
| bookingReminder | No | ||
| paymentReminder | No | ||
| sessionReminder1h | No | ||
| sessionReminder24h | No | ||
| pendingConfirmation | No | ||
| notificationFollowup | No |
Tool Definition Quality
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 explicitly states that the update is partial, meaning only provided sections are changed, and that it returns the full configuration after update. It also clarifies the meaning of cutoffHours. This covers key behavior, though it does not mention permissions, validation constraints, or error handling, which would add depth.
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?
The description is dense but well-organized: it starts with purpose, then partial update behavior, then a structured list of sections, and ends with return value. The information is efficient and every part contributes value, though the listing of all sections makes it a bit long. It remains concise relative to the complexity.
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?
For a nested config update with no output schema, the description covers the essential aspects: what is updated, how partial update works, what fields each section has, and what is returned. It does not mention error scenarios or edge cases, but the provided information is sufficient for an agent to understand the tool's function and usage. The explanation of cutoffHours adds contextual 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?
The schema has no descriptions (coverage 0%), so the description must compensate. It lists all the config sections (bookingReminder, sessionReminder24h, etc.) and their fields, which adds meaning beyond the schema. However, it omits the apiKey and orgSlug parameters, which are part of the schema. The cutoffHours clarification is valuable, but the missing identifier parameters are a gap.
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 clearly states the tool's function: 'Update reminder/notification configuration for an organization.' It also specifies 'Partial update — only provided sections are changed,' which distinguishes it from the read-only sibling reminders_get_config. The verb 'update' and resource are explicit, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context by explaining the partial update behavior and listing configurable sections. However, it does not explicitly mention alternatives like 'use reminders_get_config to retrieve current settings' or note when not to use this tool. The partial update note is helpful but lacks explicit exclusion or alternative guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_dashboardBInspect
Executive summary of the organization: today's sessions, monthly metrics, revenue, pending charges, and alerts.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | ||
| apiKey | No | ||
| orgSlug | Yes |
Tool Definition Quality
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 content of the summary but does not disclose whether the operation is read-only, auth requirements, rate limits, or any potential side effects. The term 'Executive summary' implies a read operation, but this is not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently lists the content areas without any repetition or filler. Every phrase adds value, making it concise and well-structured.
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?
For a read-only report tool with no output schema and no annotations, the description provides a useful list of content but lacks details on return format, parameter usage, or how to distinguish this from similar report tools. It is minimally viable but leaves gaps for an agent to understand exact invocation behavior.
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%, and the description does not mention any of the three parameters (date, apiKey, orgSlug) or their formats. The description fails to compensate for the lack of schema documentation, not even explaining the meaning of orgSlug or apiKey.
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 clearly identifies the tool as producing an executive summary of the organization, and it lists specific content areas (sessions, metrics, revenue, charges, alerts). This distinguishes it from many report_* siblings, but the lack of an explicit verb (e.g., 'get', 'generate') and potential overlap with org_summary prevent a perfect score.
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?
The description implies usage: if an executive summary of the organization is needed, this tool is appropriate. However, it provides no explicit guidance on when to use this tool versus alternatives like report_revenue, org_summary, or report_sc_summary, and no exclusions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_deuda_realAInspect
Real-time report of clients with genuine outstanding debt. Excludes temporal payment mismatches (prepaid clients whose global balance is covered). Shows: client name, debt amount, periods with debt, last payment date, and collection status (active/inactive/never_paid). Use to answer "who actually owes money" questions.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes |
Tool Definition Quality
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 the report is real-time and excludes temporal payment mismatches, and it lists the returned fields. The word 'report' implies a read-only operation, but safety, authentication, and rate-limit details are not mentioned. Still, it provides meaningful behavioral context beyond the bare tool name.
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?
The description is two concise sentences with no filler. The first sentence states the core purpose and filtering logic; the second lists output fields and the intended use case. Every sentence earns its place and information is front-loaded.
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?
For a simple report tool with no output schema and no annotations, the description is fairly complete: it explains what the report does, what data it returns, and when to use it. It lacks details on pagination, sorting, or error behavior, but those are not essential for basic invocation. The main missing element is explicit parameter guidance, but that is more about the parameters themselves.
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%, and the description does not mention the parameters apiKey or orgSlug at all. It adds no meaning beyond what the schema's property names already suggest, failing to compensate for the lack of schema descriptions. This is a significant gap for an agent needing to invoke the tool correctly.
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 clearly states this is a 'Real-time report of clients with genuine outstanding debt' and distinguishes itself by excluding 'temporal payment mismatches.' It also lists the exact fields shown, making the tool's purpose specific and unambiguous. This differentiates it from sibling finance/report tools like finance_aging or report_no_shows.
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?
The description explicitly says 'Use to answer "who actually owes money" questions,' providing clear when-to-use guidance. It also clarifies scope by excluding prepaid clients whose balance is covered, but it does not name alternative tools or provide explicit when-not-to-use instructions, leaving some gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_no_showsBInspect
Report no-show statistics for a period. Group by client, provider, service, or day.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| apiKey | No | ||
| dateTo | No | ||
| groupBy | No | ||
| orgSlug | Yes | ||
| dateFrom | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It reveals only that the tool can group by client/provider/service/day, which duplicates the schema enum. It does not disclose date range behavior, required permissions, pagination, or output format.
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?
The description is two short sentences, front-loaded with the purpose, and contains no redundant information.
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?
The tool has six parameters, no output schema, and no annotations. The description provides only a high-level purpose and one grouping hint. It lacks essential context about date range semantics, answer format, and constraints, making it incomplete for an agent to select and invoke correctly.
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 the description must compensate. It adds meaning to the groupBy parameter by explaining grouping options, but it does not cover dateFrom/dateTo, limit, or orgSlug, leaving most parameters unexplained.
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 clearly states the tool reports no-show statistics for a period and lists grouping options. It uses a specific verb and resource, and differentiates from sibling report tools by focusing on no-shows.
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?
Usage context is implied by the name and description (analyzing no-show statistics), but there is no explicit guidance on when to use this tool versus other report tools like report_occupancy or report_revenue. No exclusions or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_occupancyBInspect
Calculate provider occupancy rates for a period. Group by provider, day, or week.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| dateTo | No | ||
| groupBy | No | ||
| orgSlug | Yes | ||
| dateFrom | No | ||
| providerId | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully convey behavioral context. It does not disclose output format, aggregation behavior, date range handling, required authentication (orgSlug, apiKey), or whether the operation has side effects. The description only states the calculation intent, leaving the agent without critical operational details.
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?
The description is a single, front-loaded sentence that immediately identifies the action and resource. It contains no redundant text or filler, making it maximally concise for the information it does provide.
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 6 parameters, no output schema, and no annotations, the description is too sparse to support correct invocation. It omits essential context such as the meaning of the required orgSlug, date range constraints, how grouping affects results, and what the occupancy rate calculation includes. The tool is moderately complex, and the description does not adequately cover that complexity.
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 the description must compensate by explaining parameter semantics. It only rephrases the groupBy enum values ('provider, day, or week') and does not explain the meaning or formatting of dateFrom, dateTo, providerId, orgSlug, or apiKey. The agent cannot correctly populate parameters based on the description alone.
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 clearly states the specific verb 'Calculate' and the resource 'provider occupancy rates', which distinguishes it from sibling report tools like report_revenue and report_no_shows. It also mentions the grouping dimensions (provider, day, week), aligning with the schema enum and further clarifying the tool's scope.
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?
The description implies the tool is for calculating occupancy rates over a period, but it does not explicitly state when to use it versus alternative report tools like report_revenue or report_no_shows. There is no mention of exclusions, prerequisites, or situations where another report would be more appropriate, so usage guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
report_revenueBInspect
Calculate revenue for a period grouped by day, week, month, service, or provider.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| dateTo | No | ||
| groupBy | No | ||
| orgSlug | Yes | ||
| dateFrom | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavioral traits, but it only states 'calculate revenue' without addressing whether this is a read-only operation, how it handles date ranges, whether it returns aggregated rows, or any limitations. This leaves significant room for misinterpretation.
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?
The description is a single, front-loaded sentence that communicates the core purpose efficiently. Every word contributes to understanding the tool's function without unnecessary fluff.
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?
The tool has 5 parameters, no output schema, and no annotations, yet the description only provides a minimal overview. It does not explain parameter semantics, output structure, or usage constraints, leaving the agent with insufficient information to confidently invoke the tool correctly.
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 the description should explain parameters. It mentions period and grouping, which loosely maps to dateFrom/dateTo and groupBy, but it does not clarify the required orgSlug parameter, apiKey, or date format. The description adds little value beyond the schema's enum values.
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 uses a specific verb ('Calculate') and clearly identifies the resource ('revenue') along with the supported groupings ('day, week, month, service, or provider'). This distinguishes it from sibling reporting tools like report_occupancy or report_no_shows by focusing exclusively on revenue calculations.
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?
The context is implied: this tool is for calculating revenue over a period with grouping options. However, there is no explicit guidance on when to use this tool versus alternatives, nor any exclusions or prerequisites, so the agent must infer applicability from the 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.
report_sc_summaryAInspect
Breakdown of Servicio Coordinado (SC) events by month and resolver path (backfill, cac-native, live, compensalo). Use to validate SC coverage and monitor live SC resolution growth. Key metric: sc_live shows SCs resolved in production (not backfill).
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes | ||
| periodo | No |
Tool Definition Quality
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 explains the meaning of the key metric sc_live (production-resolved SCs vs backfill), which is useful. However, it does not mention any side effects, return format, or that this is a read-only report, though that is implied by the report nature.
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?
The description is three sentences long, front-loaded with the core purpose, and every sentence adds value. It avoids unnecessary detail while including the key metric clarification.
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?
For a report tool with no output schema and no parameter descriptions, this description provides the purpose and a key metric definition, but leaves the agent without enough detail on how to invoke it. Missing parameter semantics and output structure make it incomplete for reliable use.
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%, and the description does not explain any of the parameters (apiKey, orgSlug, periodo). The mention of 'by month' hints at time granularity but never connects it to the 'periodo' parameter, so agents cannot infer how to set parameters correctly.
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 clearly identifies the tool as a breakdown of Servicio Coordinado (SC) events by month and resolver path, naming specific resolver dimensions (backfill, cac-native, live, compensalo). This distinguishes it from sibling report tools like report_revenue or report_occupancy.
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?
It explicitly states two use cases: validating SC coverage and monitoring live SC resolution growth. It does not mention when not to use it or name alternative tools, but the context is clear enough for an agent to decide.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resources_listAInspect
List the bookable resources of an organization (rooms, boxes, chairs, equipment) with their type, capacity, buffer minutes, location and active state. Filter by type, active state, or a name/description search. Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | ||
| limit | No | ||
| apiKey | No | ||
| search | No | ||
| orgSlug | Yes | ||
| isActive | No |
Tool Definition Quality
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 delivers: it explicitly states 'Read-only', lists the return fields, and mentions available filters. This adds behavioral context that is not available from structured data, though it stops short of discussing pagination, API key requirements, or error behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is just two sentences, front-loaded with the core purpose and followed by a filter summary. Every word earns its place, with no redundancy or filler. It is concise and well-structured.
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?
The description covers the main functionality, return fields, and filter options, which is adequate for a simple list tool. However, it does not explain the behavior of the 'limit' parameter, authentication through 'apiKey', or what happens with required 'orgSlug'. Given the lack of an output schema and annotations, these gaps make the description complete enough for basic use but not fully robust.
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 the description must compensate. It partially does by indicating that 'type', 'active state', and 'search' are filters, but it does not clarify the semantics of 'limit', 'apiKey', or 'orgSlug' (beyond the required field name). The property names are somewhat self-explanatory, but the description adds only partial meaning.
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 clearly states the tool's function: 'List the bookable resources of an organization' with concrete examples (rooms, boxes, chairs, equipment) and the attributes returned (type, capacity, buffer minutes, location, active state). This is a specific verb+resource that distinguishes it from sibling tools, none of which appear to handle resource listing.
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?
The description implies when to use the tool (when you need to list/filter bookable resources) but does not explicitly state when not to use it or mention alternatives. There is no exclusionary guidance or comparison to other tools, so it stops at implied usage rather than clear context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scheduling_bookAInspect
Book a session (Servicialo spec). Returns confirmation_credential (opaque token, valid 30 min) and booking_id. Use scheduling_confirm with the credential to finalize. Does NOT require an API key — uses requester identity (fullName + email or phone). Accepts optional submission context for audit trail.
| Name | Required | Description | Default |
|---|---|---|---|
| notes | No | ||
| orgSlug | Yes | ||
| datetime | Yes | ||
| requester | Yes | ||
| service_id | Yes | ||
| submission | No | ||
| provider_id | No | ||
| idempotencyKey | No |
Tool Definition Quality
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 explicitly states that the tool returns a confirmation_credential (opaque token, valid 30 min) and booking_id, and that the booking is not final until confirmed via scheduling_confirm. It also discloses the authentication model and optional audit-trail context. However, it does not mention potential side effects, error conditions, or what happens if confirmation is not completed, which would be valuable additional transparency.
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?
The description is three sentences, each earning its place. It front-loads the purpose, then provides return values, the follow-up step, auth requirements, and optional context. No wasted 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?
The tool has 8 parameters, no output schema, and no annotations, so the description must be relatively rich. While it explains the core two-phase flow and return tokens, it fails to detail most parameters, error scenarios, or implications of the 30-minute credential expiry. This leaves significant gaps for an agent to invoke the tool confidently.
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 the description must compensate. It adds meaning for 'requester' by explaining it uses fullName + email or phone, and for 'submission' as audit context. However, it leaves other significant parameters such as orgSlug, service_id, datetime, provider_id, and idempotencyKey unexplained, making it insufficient for an agent to understand all required inputs.
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 clearly states the tool books a session, using a specific verb and resource. It distinguishes itself from siblings by referencing the 'Servicialo spec' and the two-step confirmation flow with scheduling_confirm, which differentiates it from generic booking tools.
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?
The description provides clear usage context by instructing to use scheduling_confirm with the returned credential to finalize the booking. It also notes that no API key is required, clarifying authentication expectations. However, it does not explicitly mention alternatives like booking_create or public_booking_create, which are siblings, so it stops short of fully differentiating when to use this tool vs others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scheduling_cancelBInspect
Cancel a session (Servicialo spec). Applies cancellation policy based on time remaining before scheduled time. Requires confirm: true and X-Org-Api-Key.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| reason | No | ||
| confirm | Yes | ||
| orgSlug | Yes | ||
| session_id | Yes |
Tool Definition Quality
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 a cancellation policy applies based on time remaining and that confirm=true and an API key are required, which provides useful behavioral context. However, it does not mention outcomes like refunds, penalties, or reversibility, leaving significant behavioral gaps.
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?
The description is two sentences, front-loaded with the core action, and every sentence adds meaningful information. It is appropriately concise without unnecessary fluff.
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?
Given the tool has 5 parameters, no annotations, no output schema, and no parameter descriptions, the description is insufficient for an agent to fully understand the cancel flow. It omits effect on related entities (e.g., bookings, payments), error conditions, and how it differs from sibling cancel tools, making it incomplete for safe invocation.
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 the description must compensate. It explains 'confirm' must be true and mentions the X-Org-Api-Key, which relates to apiKey. However, it does not clarify the meaning or usage of orgSlug, session_id, or reason, leaving most parameters unexplained beyond their names.
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 clearly states the tool cancels a session, which is a specific verb and resource. However, it does not distinguish this from sibling cancellation tools like booking_cancel, portal_session_cancel, or public_booking_cancel, so it loses a point for lacking explicit sibling differentiation.
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?
The description mentions the cancellation policy and authentication requirements, but provides no guidance on when to use this tool versus the alternative cancel tools. It does not state exclusions or alternatives, leaving the agent without clear selection criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scheduling_confirmAInspect
Confirm a booking (Servicialo spec). Dual-mode: (1) with credential — uses the confirmation token from scheduling_book, no API key needed; (2) with booking_id — uses API key to confirm an existing session. Returns confirmed status with timestamp.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes | ||
| booking_id | No | ||
| credential | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses authentication requirements (API key vs credential token), the source of the credential (scheduling_book), and the return value (confirmed status with timestamp). This is decently transparent, though it doesn't elaborate on side effects or failure modes.
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?
Two tightly packed sentences with no fluff. Front-loaded purpose, followed by mode clarifications. Every word earns its place.
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?
For a simple confirm operation with no output schema or annotations, the description covers the key aspects: modes, auth, and return value. It could mention required parameters (orgSlug) and potential interactions with sibling tools like public_booking_confirm, but overall it's sufficient for basic invocation.
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 the description must compensate. It explains the role of 'credential' and 'booking_id', and implies 'apiKey' usage, but does not explicitly explain 'orgSlug' (which is required) or the exact parameter names. This adds meaning but leaves gaps for a fully unassisted agent.
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?
Description clearly states the tool confirms a booking, with a direct verb and resource. It further distinguishes itself by explicitly describing dual-mode operation (credential vs booking_id), setting it apart from sibling tools like scheduling_cancel or public_booking_confirm.
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?
The description provides clear context on when to use each mode: with a credential from scheduling_book (no API key) or with a booking_id and API key. It doesn't explicitly name alternatives, but the mode breakdown serves as practical guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scheduling_rescheduleAInspect
Reschedule a session to a new time (Servicialo spec). Cancels the original session and creates a new one at the specified datetime. Requires confirm: true and X-Org-Api-Key.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| confirm | Yes | ||
| orgSlug | Yes | ||
| session_id | Yes | ||
| new_datetime | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavioral traits. It explicitly states the destructive nature of the operation ('Cancels the original session and creates a new one') and the mandatory confirmation and API key requirement, which is valuable context beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the core purpose, and includes key behavioral details without any fluff. Every sentence contributes valuable information, and the length is appropriate for the tool's complexity.
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?
The description gives a solid high-level overview, but the tool has 5 parameters, no output schema, and no annotations, so more detail is expected. It lacks parameter formats, error conditions, and return-value behavior, making it adequate but not fully complete for an agent to invoke without additional inference.
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?
The schema description coverage is 0%, so the description must compensate. It adds meaning for 'new_datetime' (the new time), 'confirm' (must be true), and indirectly for 'apiKey' (X-Org-Api-Key). However, it does not explain 'orgSlug' or 'session_id' beyond what their names imply, nor does it detail the datetime format, leaving some ambiguity.
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 clearly states the tool's function: 'Reschedule a session to a new time' and specifies the behavior of canceling the original session and creating a new one. However, it does not explicitly distinguish itself from sibling tools like booking_reschedule or public_booking_reschedule, despite the different naming.
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?
The description provides prerequisites ('Requires confirm: true and X-Org-Api-Key') but does not offer guidance on when to use this tool versus the many sibling scheduling/booking tools. There is no mention of alternatives or exclusion criteria, leaving the agent to infer the appropriate context from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
service_assign_providerAInspect
Assign or unassign a provider to/from a service. Controls which providers can deliver which services.
| Name | Required | Description | Default |
|---|---|---|---|
| price | No | ||
| action | Yes | ||
| apiKey | No | ||
| confirm | No | ||
| orgSlug | Yes | ||
| serviceId | Yes | ||
| commission | No | ||
| providerId | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It mentions the core assign/unassign action and the high-level effect, but fails to disclose important behaviors such as the need for confirmation (confirm parameter), set of configurable fields (price, commission), or potential side effects of unassigning (e.g., whether it removes historical data). This is a significant 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded with the primary action ('Assign or unassign'). It consists of two sentences that each add value: the first specifies the exact operation, and the second clarifies the real-world impact. No wasted 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?
Given the tool's complexity (8 parameters, no output schema, no annotations), this description is far from complete. It does not explain the optional parameters, the confirmation flow, or expected return behavior. A user would have to guess how price/commission/confirm interact with the assignment, making this inadequate for safe invocation.
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 the description must compensate by explaining parameters. It only maps 'provider' to providerId and 'service' to serviceId, but does not explain orgSlug, action (beyond assign/unassign), price, commission, confirm, or apiKey. The description adds little meaning beyond what the raw schema already shows.
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 clearly states the verb and resource ('Assign or unassign a provider to/from a service') and explains the purpose ('controls which providers can deliver which services'). This distinguishes it from sibling tools like service_update or provider_update, which modify the entities themselves rather than the assignment relationship.
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?
The description implies when to use this tool: to manage provider-service assignments. It provides clear context that this is the tool for controlling provider eligibility for services. However, it does not explicitly mention alternatives or exclusion criteria, such as using admin_set_availability for scheduling-related constraints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
service_createAInspect
Create a new bookable service in an existing organization. Use this for day-to-day service management (requires X-Org-Api-Key). For initial org setup, prefer admin_create_service instead. After creating, use service_assign_provider to link providers. A service without providers cannot accept bookings. Optional delivery-verification overrides per service: verificationLevel (none = silent auto-complete, legacy; default_confirm = both can confirm and silence auto-confirms after the org window; dual_confirm = the client must positively confirm, silence does NOT; documented = the provider must attach evidence) and qualityCapture (ask the client for a 1–5 rating on confirmation). Omit both to inherit the organization defaults.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| price | Yes | ||
| apiKey | No | ||
| orgSlug | Yes | ||
| category | No | ||
| currency | No | ||
| duration | Yes | ||
| modalidad | No | ||
| providerId | No | ||
| description | No | ||
| isDiscoverable | No | ||
| qualityCapture | No | ||
| verificationLevel | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the auth requirement, the critical business rule that a service without providers cannot accept bookings, and explains the behavior of verificationLevel and qualityCapture in detail, including what 'silence' does in each mode. It omits return value details, but the provided behavioral context goes well beyond a basic create tool.
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?
The description is a single paragraph but front-loaded with the main purpose and usage. It uses semicolons to compactly list verificationLevel options, and every sentence adds value—there is no fluff. Length is justified by the complexity of the delivery-verification overrides, though a list format could improve scannability.
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?
The tool has 13 parameters, no output schema, and no annotations. The description explains the creation flow, prerequisites, and tricky enum semantics well, but it does not mention the return value or cover several parameters (e.g., modalidad, isDiscoverable, apiKey). Given the tool's complexity, the description is helpful but not fully complete.
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 coverage is 0%, and the description explicitly explains only two parameters (verificationLevel, qualityCapture) with deep semantic meaning. It also implies providerId may be discouraged since it directs users to service_assign_provider instead. However, many important parameters (price, duration, currency, modalidad, isDiscoverable) receive no explanation, so the description only partially compensates for the missing schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb and resource: 'Create a new bookable service in an existing organization.' It distinguishes itself from siblings by naming admin_create_service for initial setup and service_assign_provider for linking providers, which shows the tool's specific role in the service lifecycle.
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?
Explicitly says when to use this tool ('day-to-day service management') and when not to ('For initial org setup, prefer admin_create_service instead'). It also provides the next step ('After creating, use service_assign_provider to link providers') and notes the auth requirement (X-Org-Api-Key), giving clear context relative to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
service_listCInspect
List services of an organization. Can filter by active status, discoverability, or category.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes | ||
| category | No | ||
| activeOnly | No | ||
| discoverableOnly | No |
Tool Definition Quality
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 does not state whether services are returned by default with no filters, whether pagination applies, or any authentication requirements beyond the implicit apiKey. For a list tool, this is insufficient 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no waste. It efficiently conveys the primary action and key filter options, earning the highest score for conciseness.
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?
Given the absence of output schema, annotations, and the presence of 5 parameters, the description is under-specified. It does not explain the return shape, ordering, pagination, or how it differs from public_service_list. A list tool of this complexity needs more context to be fully useful.
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 the description must compensate. It mentions 'active status, discoverability, or category' which maps to activeOnly, discoverableOnly, and category, but adds little beyond the parameter names. apiKey and orgSlug are left unexplained, and boolean semantics or value formats are not clarified.
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 clearly states it lists services of an organization, using the specific verb 'List' and specifying the resource scope. It distinguishes from sibling tools like service_create/service_update and admin_list_providers, though it doesn't explicitly differentiate from public_service_list.
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 guidance is provided on when to use this tool versus alternatives. There is no mention of public_service_list for public contexts, nor any exclusions or conditions for use. The description simply states what it does without contextual cues.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
service_updateAInspect
Update an existing service (price, duration, status, etc.). Creates a price history entry if price changes. Delivery-verification overrides can be changed too: verificationLevel (none / default_confirm / dual_confirm / documented — see service_create for semantics) and qualityCapture (1–5 rating on confirmation). Pass null on either to reset that field and inherit the organization default again; omit to leave it unchanged.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| price | No | ||
| apiKey | No | ||
| orgSlug | Yes | ||
| category | No | ||
| currency | No | ||
| duration | No | ||
| isActive | No | ||
| modalidad | No | ||
| serviceId | Yes | ||
| description | No | ||
| isDiscoverable | No | ||
| qualityCapture | No | ||
| publicDescription | No | ||
| verificationLevel | No |
Tool Definition Quality
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 key side effect (creating a price history entry on price changes) and explains the null behavior for verificationLevel and qualityCapture. While it does not cover permissions or error cases, the most impactful behavioral traits 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: three sentences deliver the main action, a side effect, and the nuanced override semantics without redundancy. It is front-loaded with the primary purpose and then logically expands into details and edge cases.
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 15 parameters and no output schema, the description covers the intricate parts (delivery-verification overrides, history, null resets) but does not state the overall partial-update semantics for all fields or the shape of the response. Given the complexity, a little more on return value or behavior for unmentioned fields would improve completeness, but it is largely sufficient for most agents.
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 the description must compensate. It does add meaning for verificationLevel (enum values, reference to service_create) and qualityCapture (1–5 rating, null vs omit), but it contradicts the schema by describing qualityCapture as a rating while schema types it as boolean/null. Many parameters (orgSlug, serviceId, apiKey, etc.) remain unexplained, and this inconsistency prevents a higher score.
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 clearly states 'Update an existing service' with a specific verb and resource, and lists the affected fields (price, duration, status, etc.). It distinguishes from sibling tools like service_create by emphasizing 'existing' and directing users to service_create for semantics of verificationLevel. This makes 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It implicitly indicates when to use the tool (for updating an existing service) and excludes creation via the word 'existing'. It also explains how to reset fields to organization defaults (pass null) versus leaving them unchanged (omit), which helps decide parameter usage. It does not explicitly name alternatives, but the sibling context and clear update semantics provide adequate guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
session_note_getAInspect
Read the clinical note of a session. Non-restricted notes return full content. Notes marked dataSensitivity=restricted return metadata only (type, sensitivity, timestamps, which fields are present) with the clinical text withheld — pass includeRestricted: true to retrieve the full content, which logs an audited restricted-access event and increments the access counter. Returns note: null if the session has no note.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes | ||
| sessionId | Yes | ||
| includeRestricted | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden and does so well. It discloses that restricted notes return metadata only unless includeRestricted=true, and that passing that flag triggers an audited restricted-access event and increments an access counter. It also states the return value when no note exists (null). This is thorough and transparent.
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?
The description is a single, well-organized paragraph that front-loads the core purpose, then details conditional behavior and side effects. Every sentence adds necessary information, and it is appropriately sized for the tool's complexity.
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?
The description covers the main return behavior (full content, metadata, null), the restricted-note workflow, and the audit side effect. Given the absence of an output schema, it sufficiently explains what callers can expect. No critical gaps.
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 the description must compensate. It does clarify includeRestricted's effect, but apiKey, orgSlug, and sessionId are not described. These are common auth/context parameters, but the description only partially covers the parameter meanings.
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 clearly states the tool reads a clinical note ('Read the clinical note of a session'), specifies behavior for restricted vs non-restricted notes, and distinguishes itself from session_note_upsert as the read counterpart. The verb and resource are specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes clear context for when to use this tool — retrieving a session's clinical note — and provides conditional guidance for restricted notes via includeRestricted. It does not explicitly name alternatives or exclusion criteria, but the sibling session_note_upsert makes the read/write distinction clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
session_note_upsertAInspect
Create or update the clinical note (ficha) of a session: evolution, treatmentPerformed, nextSessionPlan, type (evaluacion/tratamiento/derivacion/cierre), progressMetrics, etc. One note per session (upsert). Sensitivity is resolved automatically (health-vertical orgs default to restricted). NOTE: unlike the provider's own UI save, this does NOT create the provider-confirmed DeliveryProof nor award practice points — those are provider-bound actions (PDC-SEC-001); use the provider portal / REST for delivery confirmation.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | ||
| apiKey | No | ||
| orgSlug | Yes | ||
| evolution | No | ||
| isPrivate | No | ||
| sessionId | Yes | ||
| dataSensitivity | No | internal | |
| nextSessionPlan | No | ||
| treatmentPerformed | No |
Tool Definition Quality
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 does well by explaining the upsert semantics ('One note per session'), automatic sensitivity resolution, and the important side-effect caveat that no DeliveryProof or practice points are created. It omits details like auth requirements, rate limits, or return format, but the disclosed behavioral traits are valuable and non-obvious.
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?
The description is compact and front-loaded with the primary purpose. The subsequent sentences earn their place by covering upsert behavior, sensitivity handling, and a critical caveat about delivery confirmation. It is slightly dense in the middle but remains readable and free of fluff.
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?
Given eight input parameters, no output schema, and no annotations, the description covers the core context: what the tool does, upsert semantics, sensitivity behavior, and a key integration caveat. It does not describe the return value or all parameter semantics, but the most decision-relevant context is present, making the tool usable with reasonable confidence.
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 coverage is 0% and the description must compensate. It does add meaning by listing clinical fields (evolution, treatmentPerformed, nextSessionPlan) and expanding the 'type' enum values. However, it does not explain required parameters like orgSlug and sessionId, and it mentions 'progressMetrics,' which is not present in the input schema, creating potential confusion. The compensation is partial, not complete.
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 opens with a specific verb phrase 'Create or update the clinical note (ficha) of a session' and enumerates key fields, making the resource and action unmistakable. It also distinguishes itself from sibling tools like session_note_get and delivery_confirmations_list by clarifying that this is the upsert operation and explicitly excluding delivery proof creation.
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?
The description states exactly when to use the tool ('Create or update the clinical note of a session') and provides an explicit when-not: it does not create provider-confirmed DeliveryProof or award practice points. It also directs users to the provider portal/REST for delivery confirmation, which is a clear alternative. This is textbook usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
settings_getAInspect
Get organization settings by chapter or specific keys. Chapters: basics (name, description, vertical, timezone, currency), availability (weekday hours, saturday, assisted assignment), communication (channels, phone required), finances (provider payment type, client payment timing, max balance), policies (no-show strikes, blocking duration, no-show charge, auto-apply), reminders (session 24h, booking, payment, confirmation timeout), client_data (required fields: lastName, rut, email, phone, direccion). Use chapter param for a group, or keys param for specific settings (comma-separated, e.g. "policies.noShowMaxStrikes,finances.clientPaymentTiming").
| Name | Required | Description | Default |
|---|---|---|---|
| keys | No | ||
| apiKey | No | ||
| chapter | No | ||
| orgSlug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the full burden of behavioral disclosure. It explains the tool is a read-only 'Get' operation and details the settings structure, which is useful. However, it does not mention potential errors, authentication requirements (apiKey), or what happens if both chapter and keys are provided, nor does it describe the response format beyond the listed fields. This leaves meaningful gaps 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose, then efficiently organizes the chapters in a parenthetical list, and concludes with parameter usage guidance. Every sentence contributes useful information without fluff. Despite its length, it remains concise and well-structured.
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?
Given there is no output schema, the description partially compensates by listing the fields each chapter returns. It thoroughly explains how to query by chapter or specific keys, covering the tool's complexity. However, it does not describe the overall return envelope or error behavior, which would be needed for full completeness in the absence of an output schema. Still, it is sufficiently comprehensive for most use cases.
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 the description must compensate. It does so effectively for the chapter and keys parameters by enumerating valid chapter values and providing a concrete key-path example. However, orgSlug and apiKey are not explained beyond their schema definitions, and orgSlug is required but its purpose is only inferred from its name. The description adds significant value but does not fully cover all parameters.
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 clearly states the tool's function: 'Get organization settings by chapter or specific keys.' It distinguishes itself from sibling tools like settings_update by being the read operation, and provides a detailed breakdown of available chapters and the keys parameter format, leaving no ambiguity about what the tool does.
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?
The description gives clear context on how to use the tool: 'Use chapter param for a group, or keys param for specific settings' with an example. It implicitly differentiates from settings_update (the write counterpart) by focusing on retrieval. However, it does not explicitly state alternatives or when not to use this tool, so it stops short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
settings_updateAInspect
Update organization settings. Partial update — only provided keys are changed. Pass a settings object with key-value pairs (e.g. {"policies.noShowMaxStrikes": 3, "finances.clientPaymentTiming": "BEFORE"}). All values are validated before writing — if any key fails validation, no changes are applied. Returns the full updated settings for the affected chapters. See settings_get for available keys and valid values.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| orgSlug | Yes | ||
| settings | Yes |
Tool Definition Quality
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 key behavioral traits: partial updates, atomic validation (no changes if any key fails), and the return type (full updated settings). The mention of 'affected chapters' adds useful context. It doesn't cover auth requirements, but these are not critical for most agents.
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?
Four sentences, each conveying essential information: action, partial update, settings format, validation behavior, and return value. The example is compact and illustrative. No redundant text.
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?
Given no annotations, no output schema, and a nested settings object, the description covers the essential behavioral aspects, return value, and cross-references settings_get for valid keys. This is sufficient for an agent to invoke the tool correctly and understand its effects.
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?
The schema has 0% description coverage, but the description robustly explains the 'settings' parameter with syntax, examples, and key structure. 'orgSlug' is inferable. However, 'apiKey' is not explained, which is a minor gap given that the schema provides no info either.
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 clearly states the action (Update) and resource (organization settings). It specifies the partial update nature and provides a concrete example, making the tool's purpose unambiguous. The distinction from a full replacement is helpful and distinguishes it from sibling tools like settings_get.
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?
The description explicitly notes the partial update behavior and instructs users to see settings_get for valid keys, which is a practical usage pointer. It does not explicitly contrast with similar update tools like org_update, but the scoping is clear enough for an agent to decide when to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
treatment_plans_getAInspect
Get the full detail of a single treatment/care plan by id: diagnosis, objectives, notes, status timeline, expiration, the intake session, and all plan items (service, quantity, frequency, priority, sessions booked/completed). Read-only.
| Name | Required | Description | Default |
|---|---|---|---|
| apiKey | No | ||
| planId | Yes | ||
| orgSlug | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It explicitly labels the operation as 'Read-only' and enumerates the returned components (diagnosis, objectives, notes, status timeline, expiration, intake session, plan items). This adds meaningful insight beyond the schema, though it omits edge-case behavior like not-found handling.
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?
The description is a single front-loaded sentence. It opens with the purpose, lists the specific return fields, and ends with 'Read-only.' Every element provides value, and there is no unnecessary fluff or repetition.
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?
For a simple get-by-id tool with no output schema, the description thoroughly covers the response content by enumerating all key fields. It also conveys the read-only nature, making the tool's behavior and expected result clear. No additional context seems necessary for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 explains 'by id' for planId but leaves apiKey and orgSlug entirely unexplained. While the description's content list is useful, it does not clarify the purpose of most parameters, failing to fully compensate for the sparse schema.
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 clearly states the action: 'Get the full detail of a single treatment/care plan by id' with a specific verb and resource. It distinguishes from the sibling 'treatment_plans_list' by emphasizing 'single' and 'by id', making its scope unambiguous.
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?
The description provides clear context: use this to retrieve one specific plan's full details by id. It does not explicitly name an alternative tool or state exclusions, but the 'single... by id' phrasing makes the intended use case obvious, meeting the 'clear context, no exclusions' bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
treatment_plans_listAInspect
List treatment/care plans of an organization with client, provider, status, objectives and their items (services with quantity/frequency/priority). Filter by clientId, status or proveedorId; paginated (page/limit). Read-only — plan creation/editing stays in the UI (requires clinical supervision).
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| limit | No | ||
| apiKey | No | ||
| status | No | ||
| orgSlug | Yes | ||
| clientId | No | ||
| proveedorId | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses read-only behavior, the fields included in the response, and the available filters/pagination. It does not mention authentication or error handling, but these are less critical for a list operation.
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?
Two sentences with no wasted words: the first states the action and included data, the second covers filters, pagination, and read-only constraints. Information is front-loaded and easy to scan.
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?
For a list tool with no output schema and 7 parameters, the description adequately covers purpose, key filters, pagination, and the read-only restriction. It could specify response formats or error conditions, but those are not essential for a list operation.
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 the description compensates by explaining clientId, status, and proveedorId as filters, and page/limit as pagination. orgSlug is implied by 'organization'. apiKey is not explained, but it is a common auth parameter not critical to understanding.
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 clearly states it lists treatment/care plans and specifies the returned data (client, provider, status, objectives, items). It distinguishes this list tool from the sibling treatment_plans_get by its plural resource and filter/pagination focus.
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?
The description explicitly notes the tool is read-only and that creation/editing stays in the UI, providing a clear when-not-to-use cue. It does not explicitly name alternative list tools like treatment_plans_get, but the list/get distinction is implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- AlicenseAqualityAmaintenanceCalendar API purpose-built for AI agents. Exposes tools to manage agents, calendars, and events, find meeting times, run scheduling proposals, set availability rules, manage webhooks, and subscribe to iCal feeds.54224Apache 2.0
- AlicenseAqualityDmaintenanceEnables AI agents to automate Epiphany booking tasks, including checking availability and creating bookings.7MIT
- AlicenseAqualityBmaintenanceEnables AI assistants to find, book, and cancel salon appointments via SalonRunner accounts. Self-hosted for local or remote use.643MIT
Your Connectors
Sign in to create a connector for this server.