Famulor
Server Details
AI voice agents: assistants, calls, campaigns, leads, knowledge bases, WhatsApp, SMS & SIP trunks.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
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.6/5 across 75 of 75 tools scored. Lowest: 2.3/5.
Most tools target distinct resources and actions clearly (e.g., create_assistant vs create_campaign). However, there is some overlap like get_outbound_assistants vs get_assistants and list_all_phone_numbers vs get_phone_numbers, causing minor ambiguity.
Tools follow a consistent verb_noun pattern with underscores (e.g., create_document, delete_label, get_voices). Only minor deviations exist, such as generate_ai_reply and list_all_phone_numbers, but overall the pattern is maintained.
With 75 tools, the server is excessively large. Although the domain is broad (assistants, calls, messaging, etc.), the number of tools makes it difficult for agents to navigate and select the correct one, reducing coherence.
The tool set covers CRUD operations for most resources, plus webhooks, AI replies, and reference data fetching. Minor gaps exist (e.g., no delete_conversation, no attach phone number to assistant), but the surface is largely comprehensive for the platform's purpose.
Available Tools
75 toolscreate_assistantAInspect
Create a new AI assistant. Required: name, voice_id, language_id, type, mode, timezone, initial_message, system_prompt, and either llm_model_id (pipeline) or multimodal_model_id (multimodal/dualplex). For multimodal/dualplex, knowledgebase_mode must be "function_call" when a knowledgebase is attached.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | Yes | ||
| name | Yes | Display name of the assistant (max 255 chars) | |
| type | Yes | Assistant call direction | |
| tools | No | ||
| record | No | ||
| fillers | No | ||
| timezone | Yes | IANA timezone, e.g. "Europe/Berlin" | |
| tool_ids | No | ||
| voice_id | Yes | Voice ID from get_voices | |
| folder_id | No | Folder to place the assistant in (one folder per assistant). See list_folders. Send null to remove. | |
| label_ids | No | Label IDs to tag the assistant with (an assistant can carry multiple labels). See list_labels. | |
| variables | No | ||
| language_id | Yes | Primary language ID from get_languages | |
| webhook_url | No | ||
| llm_model_id | No | Required for mode=pipeline | |
| max_duration | No | ||
| ringing_time | No | ||
| speech_speed | No | ||
| ambient_sound | No | ||
| endpoint_type | No | ||
| filler_config | No | ||
| system_prompt | Yes | System prompt defining behavior | |
| initial_message | Yes | First message spoken at call start (max 200 chars) | |
| llm_temperature | No | ||
| phone_number_id | No | ||
| voice_stability | No | ||
| knowledgebase_id | No | ||
| post_call_schema | No | ||
| voice_similarity | No | ||
| is_webhook_active | No | ||
| wait_for_customer | No | ||
| knowledgebase_mode | No | ||
| voice_mail_message | No | ||
| allow_interruptions | No | ||
| min_interrupt_words | No | ||
| multimodal_model_id | No | Required for mode=multimodal/dualplex | |
| reengagement_prompt | No | ||
| tts_emotion_enabled | No | ||
| ambient_sound_volume | No | ||
| chat_llm_fallback_id | No | ||
| endpoint_sensitivity | No | ||
| max_silence_duration | No | ||
| post_call_evaluation | No | ||
| end_call_on_voicemail | No | ||
| interrupt_sensitivity | No | ||
| reengagement_interval | No | ||
| secondary_language_ids | No | Additional language IDs the assistant can speak | |
| synthesizer_provider_id | No | ||
| transcriber_provider_id | No | ||
| turn_detection_threshold | No | ||
| enable_noise_cancellation | No | ||
| conversation_ended_retrigger | No | ||
| include_recording_in_webhook | No | ||
| max_initial_silence_duration | No | ||
| conversation_ended_webhook_url | No | ||
| send_webhook_only_on_completed | No | ||
| conversation_inactivity_timeout | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate non-read-only, non-idempotent, non-destructive behavior. The description adds context for conditional parameter requirements (knowledgebase_mode for multimodal/dualplex) but does not disclose side effects, auth needs, or return structure 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?
Two sentences, no wasted words. Purpose and requirements are front-loaded, making it easy to parse. Efficiently communicates key 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?
Given the tool's complexity (57 parameters, nested objects, conditional logic), the description covers core requirements but lacks guidance on many optional parameters, usage patterns, and return value details. Output schema exists but description does not leverage it for 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 low (21%), so the description carries burden. It highlights critical required parameters and adds conditional logic for model IDs and knowledgebase_mode, but does not explain many optional parameters (e.g., tools, variables, post_call_schema). Some added value but not comprehensive.
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 new AI assistant and lists required fields, distinguishing it from other create tools for different entities. The verb 'create' and resource 'AI assistant' are 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 provides clear usage conditions, including required parameters and conditional requirements based on mode (pipeline vs multimodal/dualplex). It does not explicitly state when not to use or alternatives, but given the distinct entity, the context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_campaignCInspect
Create a new outbound campaign tied to an outbound-capable assistant.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Campaign name (max 255 chars) | |
| timezone | No | ||
| max_retries | No | ||
| allowed_days | No | ||
| assistant_id | Yes | ||
| retry_interval | No | ||
| retry_on_voicemail | No | ||
| max_calls_in_parallel | No | ||
| allowed_hours_end_time | No | H:i, e.g. "17:00" | |
| allowed_hours_start_time | No | H:i, e.g. "09:00" | |
| goal_completion_variable | No | ||
| retry_on_goal_incomplete | No | ||
| mark_complete_when_no_leads | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate a write operation (readOnlyHint=false), but the description adds no behavioral context beyond creation. It does not disclose side effects, authorization requirements, or implications of the many scheduling/retry parameters.
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 is concise but lacks necessary detail to be informative. It earns its place but is under-specified.
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 13 parameters and the presence of an output schema, the description is too brief. It does not outline the scope or side effects of the tool, leaving critical gaps 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 description coverage is only 23%, yet the description adds no parameter information. It fails to compensate for the low coverage, leaving 10 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 action (create), resource (campaign), and a constraint (tied to outbound-capable assistant). It distinguishes from sibling tools like create_lead or create_conversation by specifying the resource type, but does not explicitly differentiate from other create_* 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 context (tied to an outbound-capable assistant) but provides no explicit guidance on when to use or avoid this tool, nor mentions alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_conversationBInspect
Start a new chat session with an assistant (widget=paid, test=free).
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | ||
| variables | No | ||
| assistant_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate non-readOnly and non-destructive, so the description's addition of pricing info (widget=paid, test=free) provides some behavioral context. However, it does not describe side effects, auth needs, or response behavior beyond the minimal 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 a single concise sentence with no redundancy. It is front-loaded and efficient, earning 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?
Despite having an output schema, the description omits important context such as what 'variables' represent or the role of 'assistant_id'. For a tool with three parameters and complex nested objects, the description is too sparse to be 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?
With 0% schema description coverage, the description adds meaning only to the 'type' parameter (paid vs free). It fails to explain 'variables' or 'assistant_id', leaving the agent with gaps for two out of 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 tool creates a new chat session with an assistant, using a specific verb ('Start') and resource ('chat session'). It distinguishes from sibling 'create_assistant' which creates an assistant, not a session.
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 like 'create_assistant' or 'send_message'. It lacks exclusions or context for appropriate use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_documentAInspect
Add a website (URL-scraped) document to a knowledge base. File uploads (pdf/txt/docx) must use the Famulor dashboard or a direct multipart/form-data call.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Main URL to scrape (required if links is not set) | |
| name | Yes | Max 255 chars | |
| type | Yes | Only website is supported via MCP | |
| links | No | ||
| description | No | Optional, max 255 chars | |
| knowledgebase_id | Yes | ||
| relative_links_limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate it's a mutation (readOnlyHint=false) with no destructive or idempotent guarantees. The description adds the behavior of URL scraping, which is useful. However, it does not disclose any additional traits like rate limits, authorization needs, or side effects beyond annotations.
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 extremely concise: two sentences that convey purpose and an important usage note. No extraneous 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?
Given the tool has 7 parameters and an output schema, the description is somewhat incomplete. It does not mention that either 'url' or 'links' must be provided, nor does it explain optional parameters like 'relative_links_limit' or 'description'. The output schema exists, so return values are covered, but the description could provide more operational 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 57%, but the description does not add meaning beyond the schema. It does not explain the relationship between 'url' and 'links' parameters, nor does it clarify 'relative_links_limit'. The description only mentions the tool is for website documents, which is already implied by the 'type' enum.
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 adds a website (URL-scraped) document to a knowledge base, specifying the resource type and action. It distinguishes from file uploads by explicitly noting they require other means.
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 tells when to use (for URL-scraped website documents) and when not to use (file uploads should use dashboard or direct multipart call). It provides clear context but does not explicitly compare with sibling tools like create_knowledgebase or update_document.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_folderAInspect
Create a folder to group assistants. Assign assistants via the folder_id field on create_assistant / update_assistant.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Folder name (max 255 chars, unique per account) | |
| color | No | Badge color |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a write operation (readOnlyHint=false) and not destructive or idempotent. The description adds no new behavioral details beyond the schema constraints. For a creation tool, it could mention whether duplicate names are handled or what the response includes, but output schema exists.
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 main purpose, no superfluous words. Efficient and 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 simplicity of the tool and presence of output schema, the description fully covers what agents need: purpose, usage pattern, and relationship to related 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 100%, providing complete parameter info. The tool description does not add additional parameter-level context beyond what the schema already provides, so baseline score 3 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 (create), the resource (folder), and its purpose (to group assistants). It distinguishes from sibling tools like create_assistant by explaining that assistants are assigned later via folder_id fields on create_assistant/update_assistant.
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 that after creating a folder, assistants can be assigned via folder_id on create_assistant/update_assistant. This provides guidance on how to use the tool within the broader workflow, though it does not explicitly list alternatives for grouping other resources.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_knowledgebaseBInspect
Create a new knowledge base.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Max 255 chars | |
| description | No | Optional, max 255 chars |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, and destructiveHint=false, covering safety and behavior. The description adds no further behavioral context (e.g., whether duplicates are allowed, if data is immediately available), but does not contradict annotations.
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. It is not wordy, but it is minimal and could be slightly more informative without losing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the presence of an output schema and full schema coverage for parameters, the description is minimally sufficient. However, it lacks context about the purpose of a knowledge base, limits, or relationships to other entities, which would aid the 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 100%, with both 'name' and 'description' already described (max lengths, optionality). The description adds no additional meaning beyond what the schema provides, so it meets the baseline without adding 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 clearly states the verb 'Create' and the resource 'knowledge base', making the action unambiguous. However, it does not differentiate this tool from sibling create_* tools like create_assistant or create_document, missing an opportunity to clarify the specific resource type.
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 prerequisites, required permissions, or context for creation. Users must infer usage from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_labelAInspect
Create a label to tag assistants (e.g. "inbound", "outbound"). Assign via the label_ids field on create_assistant / update_assistant.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Label name (max 255 chars, unique per account) | |
| color | No | Badge color |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and destructiveHint=false, but the description does not provide additional behavioral context beyond creation. It could mention uniqueness constraints or potential errors (e.g., duplicate name). No contradiction with annotations.
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 extraneous information. The tool's purpose and usage are front-loaded. Every word is necessary.
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 two parameters, annotations, and an output schema, the description adequately covers the tool's purpose and usage. Missing some behavioral details but 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 100% with descriptions for both parameters. The description adds minimal value beyond the schema (e.g., 'max 255 chars' is already in schema). Baseline 3 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 'Create a label' and its purpose 'to tag assistants'. It provides examples ('inbound', 'outbound') and distinguishes from sibling tools like create_assistant by focusing on label 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 explains when to use the tool (to create labels for tagging) and hints at how to assign labels via other tools. However, it does not explicitly contrast with update_label or mention when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_leadAInspect
Create a new lead in a campaign. IMPORTANT: variable names come from the associated assistant configuration and are fixed; only their values can be supplied here.
| Name | Required | Description | Default |
|---|---|---|---|
| variables | No | Either an object (key/value pairs matching assistant variables) or an array of such objects. | |
| campaign_id | Yes | ||
| phone_number | Yes | E.164 format, e.g. +491234567890 | |
| allow_dupplicate | No | ||
| secondary_contacts | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide basic hints (readOnlyHint=false, destructiveHint=false), but the description adds no behavioral context like side effects, permissions needed, or what happens on creation. No contradictions.
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 sentences – one for purpose, one for an important usage note – 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 5 parameters and open world hint, the description covers core purpose and one key constraint, but lacks details on optional parameters and return behavior. Adequate but not comprehensive.
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 40%; description adds value for the variables parameter by explaining fixed names. However, other parameters like campaign_id, allow_dupplicate, secondary_contacts remain 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 clearly states 'Create a new lead in a campaign' – a specific verb and resource, distinguishing it from siblings like delete_lead or update_lead.
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 a crucial usage hint about variable names being fixed, but lacks guidance on when to use this tool vs alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_mid_call_toolCInspect
Create a new mid-call HTTP tool.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Tool identifier: lowercase letters and underscores, starts with a letter | |
| method | Yes | ||
| schema | No | ||
| headers | No | ||
| timeout | No | Seconds, 1-30 | |
| endpoint | Yes | HTTPS URL to call | |
| description | Yes | When the AI should use it (max 255 chars) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate mutability (readOnlyHint=false) and non-destructiveness. The description adds no extra behavioral context beyond what annotations already convey, but it does not contradict them. It is adequate but lacks details about side effects or creation consequences.
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, making it concise. However, it is too minimal to be effective, lacking structure or prioritization of key 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?
Given the tool's complexity (7 parameters, required fields, output schema), the description fails to explain the overall purpose of a mid-call tool, how it integrates, or what the response contains. It is incomplete for an agent to use 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?
The description does not mention any parameters, despite 57% schema coverage and several parameters (method, schema, headers) lacking schema descriptions. The agent receives no additional meaning for these parameters, relying solely on the incomplete 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 ('Create') and the resource ('mid-call HTTP tool'), providing a direct purpose. However, it does not distinguish this tool from sibling create tools (e.g., create_assistant, create_campaign), which share similar naming patterns.
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 prerequisites, context, or scenarios where other tools would be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_sip_trunkCInspect
Provision a new SIP trunk (extension or DID number).
| Name | Required | Description | Default |
|---|---|---|---|
| sip_address | Yes | SIP server without port | |
| country_code | Yes | ISO 3166-2, e.g. US/GB/DE | |
| phone_number | Yes | Extension (1-15 chars) or E.164 number | |
| sip_password | Yes | Min 3 chars | |
| sip_username | Yes | 3-128 chars | |
| outbound_proxy | No | ||
| sip_trunk_type | Yes | ||
| sip_calling_format | Yes | ||
| allowed_inbound_ips | No | ||
| inbound_authorization_type | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not add behavioral context beyond what annotations already provide. Annotations indicate it's a write operation (readOnlyHint=false), not destructive, and not idempotent. The description merely restates the creation intent without additional details like rate limits, error scenarios, 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?
The description is extremely short (one sentence), which might seem concise but is insufficient for a tool with 10 parameters and 8 required fields. It sacrifices meaningful information for brevity.
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 fundamentally incomplete given the tool's complexity. It does not explain the return value (despite an output schema existing), prerequisites, or what provisioning entails. Users are left with insufficient information to use 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 50%, but the description only hints at the 'sip_trunk_type' parameter via '(extension or DID number)'. No other parameters are described, leaving half of the parameters unexplained. The description fails to compensate for the schema's gaps.
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 'Provision' and resource 'SIP trunk', and adds clarification '(extension or DID number)' which distinguishes the two types available. However, it does not explicitly differentiate from sibling create tools, but the resource name is specific enough.
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 on when to use this tool versus alternatives like delete_sip_trunk or update_sip_trunk. No prerequisites or context for usage are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_assistantBDestructiveIdempotentInspect
Permanently delete an assistant. Cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and readOnlyHint=false. Description adds 'Permanently delete' and 'Cannot be undone', reinforcing the irreversible nature. Does not contradict annotations, but adds minimal extra context beyond what is already in annotations.
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?
Very short (two sentences) with no fluff. However, the extreme brevity comes at the cost of missing parameter explanation. Acceptable for a simple action but 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?
Tool is simple with one parameter and annotations present. Description covers the action's permanence. However, lacks parameter context and does not mention return value (output schema exists but not required in description). Adequate but not complete for the agent to use 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?
Schema coverage is 0% with no description for the 'id' parameter. The description does not explain what 'id' represents (e.g., assistant ID integer) or its format. With zero schema description, the description fails to compensate.
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 'Permanently delete an assistant', specifying the verb 'delete' and the resource 'assistant'. It distinguishes from sibling delete tools (e.g., delete_call, delete_campaign) by naming the specific resource.
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 on when to use or not use this tool versus alternatives. Only a warning 'Cannot be undone', but lacks prerequisites, pre-deactivation steps, or context about when deletion is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_callBDestructiveIdempotentInspect
Delete a call record. Cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| call_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare destructiveHint true, so the agent knows this is a destructive operation. The description adds 'Cannot be undone,' reinforcing irreversibility beyond what annotations provide. However, it does not disclose details like permission requirements 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?
The description is extremely concise at one sentence, with no wasted words. It is front-loaded with the core action. However, it may be too brief at the expense of completeness.
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 lacks important context: it does not mention return values (despite having an output schema), error cases (e.g., call not found), or prerequisites (e.g., permissions). For a destructive tool, more information is needed to ensure 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 description coverage is 0% (no parameter descriptions), and the tool description does not explain the call_id parameter or its purpose. The parameter name is somewhat self-explanatory, but the description fails to clarify how it identifies the record to delete.
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 deletes a call record and adds 'Cannot be undone,' which is specific and distinguishes it from sibling delete tools like delete_assistant or delete_document. The verb and resource are explicit.
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 prerequisites, contexts where deletion is appropriate, or when not to use it. The description only states the action and its irreversibility.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_campaignADestructiveIdempotentInspect
Delete a campaign. Cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds 'Cannot be undone' beyond the annotations which already set destructiveHint=true. This is useful but minimal. No additional context about permissions, cascading effects, or error handling is provided.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences. The verb 'Delete' is front-loaded, and every word adds value without repetition 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 tool's simplicity (one parameter, known return type via output schema), the description covers the core behavior. However, it lacks any mention of error scenarios or outcome, which would be helpful for an agent navigating many sibling 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?
The sole parameter 'id' (integer) has 0% schema description coverage. The description does not explain what 'id' refers to or its format, relying entirely on context from the tool name. This is insufficient for a tool with no 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 'Delete a campaign', which is a specific verb and resource. It adds 'Cannot be undone' for emphasis, and the tool name distinguishes it from sibling tools like create_campaign or update_campaign_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?
The description provides no explicit guidance on when to use this tool versus alternatives. While the irreversibility hint is present, there is no mention of prerequisites, conditions, or when to choose delete over other operations among the many sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_documentBDestructiveIdempotentInspect
Delete a document from a knowledge base.
| Name | Required | Description | Default |
|---|---|---|---|
| document_id | Yes | ||
| knowledgebase_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and idempotentHint=true, so the description adds no extra behavioral context. It does not elaborate on side effects, permissions, or reversibility, but the annotations cover the core safety concerns.
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 extremely concise (6 words, one sentence) but lacks structure. It could be improved by adding a second sentence about usage or prerequisites.
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 simplicity of the tool (two parameters) and presence of annotations and output schema, the description is minimally adequate but does not cover potential error scenarios or required permissions.
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%, yet the description does not explain the parameters (document_id, knowledgebase_id) beyond their names. The description fails to add meaning to the two required 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 action (Delete), the resource (document), and the container (knowledge base). It is a specific verb+resource that distinguishes it from siblings like create_document or other delete 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 no guidance on when to use this tool versus alternatives, no prerequisites, and no mention of when not to use it (e.g., if document is referenced elsewhere).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_folderADestructiveIdempotentInspect
Delete a folder. Assistants inside are NOT deleted — they just become uncategorized.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true. The description adds valuable behavioral context: assistants become uncategorized rather than deleted. This goes beyond the annotations.
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, perfectly concise. The key information is front-loaded. No extraneous 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 the tool's simplicity and the presence of an output schema (not shown), the description covers the core behavior. However, it lacks info on output/return value and doesn't mention any prerequisites beyond the required id.
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 one required parameter 'id' (integer) with 0% description coverage. The description does not explain what 'id' represents (e.g., folder ID). The agent must infer its 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 action ('Delete a folder') and distinguishes it from deleting other entities by noting the behavior of assistants inside. This is a specific verb+resource with a clarifying nuance.
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 deleting folders but does not explicitly guide when to choose this tool over alternatives (e.g., other delete tools). No when-not-to-use or context about prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_knowledgebaseBDestructiveIdempotentInspect
Delete a knowledge base permanently.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=true. The description adds the word 'permanently' which reinforces the destructive nature but does not disclose other behavioral details such as cascading effects or authorization requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at one sentence, but it lacks any structural elements like bullet points or sections. It is appropriately small for a simple tool, but could include more detail 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?
Given the low schema coverage and the presence of an output schema, the description should at least mention the parameter and any return behavior. It fails to provide sufficient context for a developer to use 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?
With 0% schema description coverage, the description does not explain the single required parameter 'id', leaving the agent to infer its meaning from the tool name. This is insufficient to guide correct parameter usage.
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 ('Delete') and the resource ('a knowledge base'), with an adverb 'permanently' that clarifies the scope. It distinguishes itself from sibling delete tools by specifying the resource type.
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 (e.g., other delete tools, or non-destructive actions). There are no prerequisites, context, or exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_labelADestructiveIdempotentInspect
Delete a label. It is removed from all assistants it was assigned to — the assistants themselves are NOT affected.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds key behavioral detail beyond annotations: label removed from all assistants but assistants not affected. No contradiction with annotations (destructiveHint, etc.).
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 sentences, front-loaded with main action. No unnecessary 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?
Output schema exists so return values not needed. Explains effect on assistants. Lacks details on permissions or error cases, but for a simple delete tool it is reasonably 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?
Only parameter is 'id' (integer). No schema description coverage (0%), but parameter is self-explanatory. Description does not add extra meaning, but given simplicity, minimal expectation met.
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 action: 'Delete a label'. Explains side effect: removed from assistants but assistants unaffected. Distinguishes from sibling delete tools like delete_assistant.
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?
Implied usage: to delete a label. Not explicit about when not to use, but context with sibling tools provides differentiation. Could state alternatives but adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_leadBDestructiveIdempotentInspect
Delete a lead.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructive and idempotent behavior; the description adds no additional context, resulting in a neutral score.
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?
Extremely concise at one sentence, which is appropriate for a simple deletion tool, though it could incorporate more context without losing brevity.
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 low parameter count and presence of output schema (not shown), the description provides no information on return values or post-deletion state, leaving 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?
The only parameter 'id' lacks any explanation in both schema and description, leaving ambiguity about its meaning (lead ID? system ID?).
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 'Delete' and resource 'lead', clearly distinguishing it from sibling delete tools like delete_assistant and delete_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?
No guidance on when to use this tool versus alternatives, such as updating a lead or removing it via other means, nor any prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_mid_call_toolBDestructiveIdempotentInspect
Delete a mid-call tool.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide destructiveHint=true, idempotentHint=true, and readOnlyHint=false. The description adds no additional behavioral context beyond the verb 'Delete,' so it does not enhance 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 extremely concise (one sentence, five words) and front-loaded. However, it could include slightly more detail without becoming verbose, but it earns points for efficiency.
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 simple CRUD context and available annotations/output schema, the description is minimal but lacks information about prerequisites, side effects, or return behavior, leaving gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 'id' parameter at all. It fails to add meaning beyond the schema, which is necessary given the low 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 'Delete a mid-call tool,' which uses a specific verb and resource, distinguishing it from sibling tools like create, get, list, and 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?
The description implies usage for deleting a mid-call tool, but provides no explicit guidance on when to use it versus alternatives or any prerequisites. The context of a delete operation is clear, but 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.
delete_sip_trunkADestructiveIdempotentInspect
Delete a SIP trunk by phone-number ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and idempotentHint=true. The description adds a behavioral detail (deletion by phone-number ID) but does not disclose any additional traits such as side effects or permission requirements. It is consistent with annotations.
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, front-loaded with the action and resource, and contains no unnecessary words. It is maximally concise while conveying the essential 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?
Given the tool's simplicity (one required parameter, destructive, idempotent) and the presence of an output schema, the description covers the core functionality. However, it could mention that the trunk must exist or that the operation is irreversible, though annotations already hint at destructiveness.
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 adds meaningful context by specifying that the 'id' parameter is a phone-number ID. This clarifies what the parameter represents beyond the bare integer type 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 action (delete), the resource (SIP trunk), and the method (by phone-number ID). It effectively distinguishes from sibling tools like create_sip_trunk, update_sip_trunk, and other delete 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, nor any prerequisites or cautions. For a destructive action, additional context about irreversibility or when deletion is appropriate would be helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
disable_assistant_conversation_ended_webhookCIdempotentInspect
Disable conversation-ended (chat) webhook.
| Name | Required | Description | Default |
|---|---|---|---|
| assistant_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false, destructiveHint=false, idempotentHint=true. The description adds no new behavioral details (e.g., impact on webhook delivery, idempotency meaning, or that it requires assistant_id). It merely restates the action.
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 front-loading the key information. No unnecessary 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 simplicity (one parameter), the description is still incomplete. It omits the return value or effect, and lacks context on when to disable vs enable. Sibling tools with similar names require more clarity.
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 one required parameter 'assistant_id' with 0% description coverage. The description does not explain what this ID is, how to obtain it, or its purpose. The agent is left to infer from the name.
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 'disable' and the specific resource 'conversation-ended (chat) webhook' with a parenthetical clarifying it's for chat. This distinguishes it from sibling tools like 'disable_assistant_inbound_webhook' and 'enable_assistant_conversation_ended_webhook'.
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 (e.g., when to disable vs enable, or prerequisites like assistant_id). It assumes the agent already knows the context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
disable_assistant_inbound_webhookBIdempotentInspect
Disable inbound-call webhook notifications.
| Name | Required | Description | Default |
|---|---|---|---|
| assistant_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotency and non-destructiveness. The description adds that it disables 'notifications,' but does not clarify whether this affects ongoing calls or future behavior. Minimal additional transparency beyond annotations.
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 four-word sentence, highly concise with no wasted words. However, it may be too terse for a tool with no parameter descriptions.
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 disabling action, the description is adequate but not thorough. It lacks context on what 'inbound-call webhook notifications' entails or the effect of disabling. Given the presence of annotations and output schema, it is minimally 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 the single parameter 'assistant_id.' However, the parameter name is self-explanatory, so the description 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 'Disable inbound-call webhook notifications.' It uses a specific verb (disable) and resource (inbound-call webhook notifications), distinguishing it from sibling tools like 'disable_assistant_conversation_ended_webhook' which target different webhook types.
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. The agent has no context about prerequisites, exclusions, or typical scenarios for disabling inbound webhooks compared to other webhook-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
disable_assistant_webhookAIdempotentInspect
Disable the post-call webhook for an assistant.
| Name | Required | Description | Default |
|---|---|---|---|
| assistant_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate it's a mutation (readOnlyHint=false), non-destructive (destructiveHint=false), and idempotent (idempotentHint=true). The description adds only that it targets a specific assistant, which is minimal 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 a single, front-loaded sentence with no wasteful words, directly stating 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?
Given the simplicity of the tool (one parameter, clear annotations, output schema exists), the description is nearly complete. It could mention the effect of disabling (e.g., no webhook calls) but is adequate for a straightforward action.
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 the assistant_id parameter. With only one parameter, the description could easily add context but fails to do so, leaving the agent with no guidance on the parameter's 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 action (disable) and the resource (post-call webhook for an assistant). It distinguishes from sibling tools that enable or disable other webhook types.
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 (when you want to disable a post-call webhook) but provides no explicit guidance on when not to use or how it differs from other webhook disable tools (e.g., disable_assistant_inbound_webhook).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
disable_conversation_aiBIdempotentInspect
Disable AI replies for a conversation so a human can take over.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate the tool is not read-only but is idempotent and not destructive. The description adds the rationale 'so a human can take over' but lacks details on side effects, reversibility, or state changes beyond disabling.
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 brief and front-loaded, but at only 10 words it may be overly minimal, missing opportunities to add value without bloat.
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 is simple with one parameter and an output schema (not shown), the description doesn't address return values or error conditions. It provides just enough context for basic use but leaves gaps for edge 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 fails to explain the single required parameter 'uuid'. The agent must infer it identifies the conversation, but no format or context is given, leaving 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 action ('Disable AI replies') and the resource ('for a conversation'), and it distinctly contrasts with the sibling 'enable_conversation_ai', 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 implies when to use (when a human should take over) but does not explicitly state when not to use or provide alternatives. No comparison with other sibling tools that might achieve a similar result.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enable_assistant_conversation_ended_webhookBIdempotentInspect
Enable conversation-ended (chat) webhook for an assistant.
| Name | Required | Description | Default |
|---|---|---|---|
| webhook_url | Yes | ||
| assistant_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotentHint=true and destructiveHint=false, so the description adds little beyond the verb 'enable'. The description clarifies it's for chat webhooks, but no additional behavioral context like rate limits or 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?
The description is a single concise sentence, front-loaded with the core action. However, it sacrifices necessary detail for brevity.
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 an output schema, the description should at least explain the parameters and return value. It does not, and it lacks context on when to use among sibling webhook 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 does not explain the parameters. 'webhook_url' and 'assistant_id' are not defined, leaving the agent without meaning for correct usage.
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 'enable' and the resource 'conversation-ended (chat) webhook' for an assistant. It distinguishes from sibling tools like 'disable_assistant_conversation_ended_webhook' and 'enable_assistant_inbound_webhook'.
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 on when to use this tool versus alternatives like 'enable_assistant_inbound_webhook'. No prerequisites or conditions are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enable_assistant_inbound_webhookCIdempotentInspect
Enable inbound-call webhook notifications for an assistant.
| Name | Required | Description | Default |
|---|---|---|---|
| webhook_url | Yes | HTTPS URL that receives the webhook payload | |
| assistant_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds minimal behavioral context beyond the annotations. Annotations indicate it is not readonly, is idempotent, and not destructive, but the description does not elaborate on side effects, required permissions, or behavior on re-enabling. With annotations present, the description fails to add extra useful 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 extremely concise, only 7 words. While it is efficient, it sacrifices clarity on parameters and usage. However, it is not 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 2 required parameters and an output schema, the description does not provide enough context for an agent to use it correctly. It lacks information on what enabling the webhook entails, any prerequisites, or how it interacts with other webhook settings. The presence of an output schema reduces the burden, but the description is still insufficient.
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 covers 2 parameters with 50% description coverage (webhook_url has description, assistant_id does not). The description does not mention either parameter or provide additional context on their values or 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 it enables inbound-call webhook notifications for an assistant, using specific verbs and resource. It implicitly distinguishes from sibling tools like enable_assistant_conversation_ended_webhook and disable_assistant_inbound_webhook.
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 on when to use this tool versus alternatives. The description does not mention prerequisites, comparison with other webhook enabling tools, or conditions for use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
enable_conversation_aiAIdempotentInspect
Re-enable AI replies for a conversation after a human takeover.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide idempotentHint=true and destructiveHint=false. The description adds the context of 'after a human takeover' but does not elaborate on behavioral traits like what happens if AI is already enabled or if there are side effects. With annotations, the bar is lower, and the description adds some value but not extensive behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one short sentence (10 words) that is front-loaded and contains no unnecessary words. Every word contributes 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?
For a simple tool with one parameter and an output schema, the description adequately explains the purpose and when to use it. Minor gap: it could mention that the conversation must exist and AI must currently be disabled, but overall it is sufficiently 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 one required parameter 'uuid' with no description. The tool description does not explain the parameter's meaning or format. Since schema coverage is 0%, the description should compensate but does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('re-enable'), the resource ('AI replies for a conversation'), and the context ('after a human takeover'). It distinguishes from the sibling tool 'disable_conversation_ai'.
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 ('after a human takeover'), but does not explicitly state when not to use it or mention alternative tools. This is sufficient for a simple tool with a clear sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_ai_replyAInspect
Generate a context-aware AI reply for a customer message. The system keeps conversation state per customer_identifier (e.g. phone, email, CRM ID).
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | ||
| variables | No | ||
| assistant_id | Yes | ||
| customer_identifier | Yes | Stable per-customer ID; max 255 chars |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate openWorldHint=true and readOnlyHint=false, and the description adds that the system keeps conversation state. However, it does not detail side effects like whether conversations are created or updated, which is expected given the open-world hint.
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, no wasted words, front-loaded with the primary purpose. Ideal 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 complexity (4 params, output schema exists, many siblings), the description covers the main idea and state management but lacks parameter details and usage guidance. It is adequate but incomplete.
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 only 25% (only customer_identifier has a description). The description explains customer_identifier's role but does not clarify message, variables, or assistant_id. With low schema coverage, the description should compensate more.
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 generates a context-aware AI reply for a customer message, using specific verbs and a clear resource. It distinguishes from sibling tools like send_message by emphasizing AI generation and conversation state 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 implies usage when an AI-generated reply is needed and mentions state per customer_identifier, but it does not explicitly state when to use this tool versus alternatives or provide exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_assistantsARead-onlyIdempotentInspect
List all AI assistants on the Famulor account (paginated). Returns the assistant configurations including their fixed variable names.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| per_page | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| to | No | |
| data | No | |
| from | No | |
| total | No | |
| per_page | No | |
| last_page | No | |
| current_page | No | |
| next_page_url | No | |
| prev_page_url | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, non-destructive. Description adds return content details (configurations, fixed variable names) and pagination behavior, providing extra context beyond annotations.
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 sentences, front-loaded with core purpose, no fluff. Efficiently communicates key 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?
Adequate for a simple list tool with output schema. Missing defaults or ordering info, but not critical. Describes scope and return content sufficiently.
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; description only implies page/per_page via 'paginated' but does not explain their meaning, defaults, or constraints. Minimal value added.
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 lists all AI assistants on the account, specifies pagination, and distinguishes from create/delete/update siblings.
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 on when to use this vs alternatives (e.g., get_outbound_assistants) or when not to use. No prerequisites mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_callARead-onlyIdempotentInspect
Retrieve a single call by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| call_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description does not add behavioral context beyond what annotations already provide. Annotations declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, so the agent knows it's safe and idempotent. No contradiction.
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, efficient sentence that is front-loaded with the key information. 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 simple nature of the tool, rich annotations, and presence of an output schema, the description is sufficient. It could mention returning a call object, but that is covered elsewhere.
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 one required parameter (call_id) with 0% description coverage. The description only says 'by ID' without adding any format, constraints, or examples, failing to compensate for the schema 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 'Retrieve a single call by ID,' specifying a specific verb and resource. It distinguishes from sibling tools like 'list_calls' and 'delete_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?
The description implies usage when you have a specific call ID, but does not explicitly state when not to use or provide alternatives. The sibling tool names provide context, but the description could be more explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_conversationARead-onlyIdempotentInspect
Get the full message history of a chat conversation by UUID.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, etc. Description adds no extra behavioral context beyond 'get,' which is consistent. Adequate but no added 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?
One sentence with 12 words, front-loaded. 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?
Output schema exists, so return values need not be explained. Description covers purpose and identifier. Minor gap: no mention of access scope or pagination if history is large.
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?
Single parameter 'uuid' has no schema description (0% coverage). Description says 'by UUID,' indicating its purpose, but lacks details like format or source. Adds basic 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?
Description clearly states 'Get the full message history of a chat conversation by UUID.' It uses a specific verb and resource, distinguishing it from sisters like 'list_conversations'.
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 mentioned. The requirement of UUID is implied, but no guidance on when to prefer this over other get tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_documentCRead-onlyIdempotentInspect
Get a single document by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| document_id | Yes | ||
| knowledgebase_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is covered. The description adds no behavioral context beyond what 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 a single concise sentence, which is appropriate for a simple tool, but it could include 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 that an output schema exists, the description does not need to explain return values. However, it omits important context about the knowledgebase_id parameter and any potential error scenarios, making it incomplete.
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 mentions 'by ID' but does not clarify the two required parameters (document_id, knowledgebase_id). Schema description coverage is 0%, and the description fails to add meaning, leaving ambiguity about the role of knowledgebase_id.
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 'Get a single document by ID', specifying the verb and resource. However, it does not differentiate itself from sibling tools like list_documents or other get_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool vs alternatives (e.g., list_documents). No prerequisites or context are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_knowledgebaseARead-onlyIdempotentInspect
Get a knowledge base by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, destructiveHint; description adds no additional behavioral context such as error handling, permissions, or return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no unnecessary words, perfectly concise and 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 get operation with output schema and comprehensive annotations, the description is adequate but lacks mention of error cases or existence checks.
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%; description only says 'by ID' without clarifying that 'id' is the knowledge base identifier, adding minimal 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?
Clearly states 'Get a knowledge base by ID' with specific verb and resource, distinguishing from siblings like list, create, delete, 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 explicit when-to-use or alternatives mentioned; though context implies use when retrieving a single KB by ID, there is no contrast with list_knowledgebases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_languagesARead-onlyIdempotentInspect
List all supported assistant languages.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint and idempotentHint, so safety is clear. The description adds no additional behavioral context (e.g., output format, pagination), but it's 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?
One sentence with four words, no wasted text. Perfectly concise for a simple listing 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?
For a parameterless read-only list tool with an output schema, the description is sufficient. Could mention that these languages are used in assistant configuration, but not 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?
No parameters exist, and schema coverage is 100%. The description doesn't need to add parameter info; the baseline for zero parameters is 4.
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 'supported assistant languages', clearly distinguishing it from sibling tools like get_models or get_voices.
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 vs alternatives, but the name and description imply it's for listing languages. Could benefit from mentioning it's for assistant language support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_meARead-onlyIdempotentInspect
Get the authenticated Famulor user profile, including total balance.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| No | ||
| total_balance | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true, idempotentHint=true, destructiveHint=false, making the behavioral profile clear. The description adds that the response includes 'total balance', which is output context, but does not disclose any additional behavioral traits such as authentication requirements or potential restrictions beyond what annotations convey.
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, efficient sentence that immediately states the tool's purpose and key included data. No extraneous information 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 simple, parameterless tool with an output schema, the description provides sufficient context: it identifies the resource, notes authentication, and highlights 'total balance'. The presence of an output schema further reduces the need for description to elaborate on return values.
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 parameters, so schema description coverage is trivially 100%. The description adds no parameter information because none is needed. Baseline score of 4 applies for parameterless tools.
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 clear verb 'Get' and specifies the resource 'authenticated Famulor user profile', including a key field 'total balance'. This clearly distinguishes it from sibling tools like get_call or get_conversation, which target different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly indicates that the tool should be used to retrieve the user's own profile, but it does not provide explicit guidance on when to use it versus alternatives or when not to use it. Since there are no alternative profile getters, the implied usage is adequate but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_mid_call_toolBRead-onlyIdempotentInspect
Get a single mid-call tool by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds no behavioral traits beyond what annotations already provide. Annotations include readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=true, which fully cover safety and idempotency. The description merely restates the 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 a single sentence of 6 words, with no unnecessary information. It is front-loaded and efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple retrieval tool with an output schema, the description is mostly complete. However, it could mention that the output schema provides the full tool details, but the presence of output schema mitigates this. Still, the description is very minimal.
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 says 'by ID', providing minimal additional meaning beyond the schema's type integer. It does not explain what the ID represents or provide any format details.
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 'mid-call tool', and the unique identifier 'by ID'. This distinguishes it from siblings like 'list_mid_call_tools' and 'create_mid_call_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?
Usage is implied by the simplicity of the operation (get by ID), but there is no explicit guidance on when to use this tool versus alternatives. No exclusions or context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_modelsARead-onlyIdempotentInspect
List available LLM / multimodal / dualplex model IDs.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate the tool is read-only, idempotent, and non-destructive. The description adds context that it returns model IDs (not full objects) and specifies the categories (LLM, multimodal, dualplex). This provides additional behavioral insight beyond the annotations.
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 with no wasted words. It is concise and directly communicates 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?
Given the presence of an output schema, the description does not need to detail return values. It covers the tool's action and parameter options. However, it could explicitly state default behavior when the optional 'type' parameter is omitted, which would make it more 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 no parameter descriptions (0% coverage). The description compensates by naming the three enum values (LLM, multimodal, dualplex) and implying they are filter options. It adds meaning to the 'type' parameter, though it does not explicitly state behavior when the parameter is omitted.
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 'available LLM / multimodal / dualplex model IDs'. It distinguishes the three types, providing specific scope. This differentiates it from sibling tools that create, update, or delete resources.
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 needing to list model IDs, but it does not explicitly state when to use this tool over alternatives. No exclusions or context for when not to use it are provided. However, no sibling tool performs the same function, reducing the need for differentiation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_outbound_assistantsARead-onlyIdempotentInspect
List all outbound-capable assistants.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only and idempotent; description adds no additional behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single concise sentence, front-loaded, 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?
Sufficient for a simple list tool with output schema; minor lack of clarification on 'outbound-capable'.
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?
No parameters, so description is adequate; baseline 4 for zero-parameter tools.
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 it lists outbound-capable assistants, distinguishing it from generic get_assistants sibling.
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 on when to use this tool versus alternatives like get_assistants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_phone_numbersARead-onlyIdempotentInspect
List phone numbers eligible to be attached to an assistant (filter by inbound/outbound).
| Name | Required | Description | Default |
|---|---|---|---|
| type | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the agent knows this is a safe read operation. The description adds that it lists numbers eligible for attachment, which provides context but does not disclose additional behavioral traits like pagination or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. Every part serves a 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?
For a simple list tool with one optional parameter and an existing output schema, the description is complete. It clearly states what is listed and the available filter.
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 explains the single parameter 'type' as a filter for inbound/outbound, which adds meaning beyond the schema's enum values. With 0% schema description coverage, the description compensates well 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 states the tool lists phone numbers eligible to be attached to an assistant, with optional inbound/outbound filtering. This distinguishes it from siblings like list_all_phone_numbers and search_phone_numbers.
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 finding attachable numbers but does not explicitly state when to use this tool versus alternatives like list_all_phone_numbers or search_phone_numbers. The context is clear enough for an agent familiar with the domain.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sip_trunkARead-onlyIdempotentInspect
Get a SIP trunk by ID.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false. The description adds no additional behavioral context beyond 'Get', which is consistent with these annotations.
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 of 4 words with no unnecessary 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?
Given the low complexity (1 required parameter) and the presence of output schema and annotations, the description provides sufficient context for a simple retrieval operation. However, it could briefly mention the return format.
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 only mentions 'by ID' without elaborating on what the ID represents or its format. It adds minimal value over the schema's parameter name and type.
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 'a SIP trunk', with the specific method 'by ID'. It is distinct from sibling tools like list_sip_trunks or create_sip_trunk.
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 usage guidance is provided. The description does not indicate when to use this tool versus alternatives such as list_sip_trunks or other getter tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_synthesizer_providersARead-onlyIdempotentInspect
List custom TTS providers selectable on an assistant.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, destructiveHint=false, and idempotentHint=true, covering safety and behavior. The description adds context about listing providers 'selectable on an assistant' but does not disclose additional behaviors like pagination or response format beyond what 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 a single sentence, front-loaded with the key verb and resource. No unnecessary words, making it highly concise 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?
Given the tool has no parameters and a simple list operation with an output schema, the description sufficiently conveys the purpose and scope. It answers what the tool lists and the context (selectable on an assistant).
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 parameters with 100% schema coverage. The description adds no parameter details, but given the absence of parameters, a baseline score of 4 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 explicitly states it lists custom TTS providers selectable on an assistant, using a specific verb and resource. It distinguishes from sibling tools like get_voices or get_transcriber_providers, which handle different voice or provider types.
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 prerequisites, exclusions, or suggested scenarios for using it over related tools such as get_voices or get_models.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_transcriber_providersARead-onlyIdempotentInspect
List custom STT providers selectable on a pipeline assistant.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is consistent with annotations (readOnlyHint, idempotentHint) but adds no extra behavioral context beyond what annotations already provide. With annotations present, the burden is lower, but the description does not elaborate on return behavior or edge cases.
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 efficiently conveys the tool's purpose without unnecessary words. It is front-loaded and easy to parse.
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 simplicity of the tool (no parameters, read-only, output schema exists), the description sufficiently covers its purpose. It could mention that it returns available custom providers, but the context of 'selectable on a pipeline assistant' adds clarity.
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?
There are no parameters, so the input schema is fully covered. The description adds context about the tool's purpose but not parameter details. Baseline for zero parameters is 4.
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 custom STT providers selectable on a pipeline assistant, using a specific verb and resource. It distinguishes from sibling tools like get_synthesizer_providers (TTS) and 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?
The description implies usage context (selecting providers for a pipeline assistant) but does not explicitly state when to use this tool versus alternatives like get_synthesizer_providers or provide exclusions. It is adequate but lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_voicesBRead-onlyIdempotentInspect
List voices compatible with a given engine mode and optional language.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | ||
| language_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint, so the description adds marginal value by mentioning 'compatible' filtering. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single concise sentence of 9 words, front-loaded with the key purpose. 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 tool with an output schema and clear annotations, the description covers the core functionality. Minor gap: does not clarify that both parameters are optional (required=0) or explain 'compatible'.
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 maps mode to 'engine mode' and language_id to 'optional language', providing basic meaning. However, it lacks detail on enum values or language ID format.
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 it lists voices compatible with engine mode and optional language. It clearly identifies the resource and action, and distinguishes from sibling get_* 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 on when to use this tool versus alternatives like get_models or get_synthesizer_providers. No context about prerequisites or applicability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_whatsapp_sendersARead-onlyIdempotentInspect
List WhatsApp Business senders. status defaults to "online" — pass "all" to see all.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, openWorldHint, idempotentHint, and destructiveHint false. The description adds context by specifying the default filter value ('online') and the alternative ('all'), enhancing transparency without contradiction.
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 efficiently conveys the tool's purpose and key parameter behavior. Every word is necessary.
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 an output schema present and comprehensive annotations, the description is largely complete. It covers the main functionality and parameter semantics, though it might benefit from noting any pagination or limits if applicable.
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%, but the description fully compensates by explaining the 'status' parameter's default value and how to override it ('pass all to see all'), adding 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 clearly states it lists WhatsApp Business senders, with a specific verb and resource. It distinguishes from sibling tools like 'get_whatsapp_session_status' and 'get_whatsapp_templates' by focusing on senders.
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 explains the default behavior of the 'status' parameter and how to see all senders. However, it does not explicitly state when to use this tool versus alternatives or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_whatsapp_session_statusARead-onlyIdempotentInspect
Check whether a 24h messaging window is open for a recipient.
| Name | Required | Description | Default |
|---|---|---|---|
| sender_id | Yes | ||
| recipient_phone | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already convey read-only, idempotent, non-destructive behavior. The description adds the specific '24h messaging window' context, which is useful beyond the annotations. No contradictions.
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 extremely concise (8 words) and front-loaded. However, it could include brief parameter hints without losing conciseness. Still, it is efficient for a simple 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 description is sufficient for the read-only check given the output schema existence, but parameter semantics are missing. For a two-parameter tool with no schema descriptions, the description should at least define the inputs.
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 two parameters (sender_id, recipient_phone). The agent receives no additional meaning beyond field names and types, which is 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 verb 'check' and resource '24h messaging window for a recipient', making the purpose unambiguous. It distinguishes itself from sibling tools like send_whatsapp_freeform or get_whatsapp_senders by specifying the session window check.
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. While the context of WhatsApp messaging suggests pre-check before sending, the description does not mention exclusions or alternatives such as other status-checking tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_whatsapp_templatesARead-onlyIdempotentInspect
List approved templates for a WhatsApp sender (status defaults to "approved").
| Name | Required | Description | Default |
|---|---|---|---|
| status | No | ||
| sender_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, indicating a safe, read-only operation. The description adds only the default status behavior, which is consistent but not extensive.
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 conveys the essential purpose and a key default behavior without any unnecessary 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 simplicity (listing templates with a filter), the description is complete enough. The presence of an output schema reduces the need to describe return values, and the default status detail is sufficient for proper 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%, meaning the parameters have no descriptions in the schema. The description adds meaning to the 'status' parameter by noting its default ('approved'), but does not explain 'sender_id'. This partial coverage is insufficient to fully 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 uses a specific verb ('List') and resource ('approved templates for a WhatsApp sender') and includes a default status, clearly distinguishing it from sibling tools like get_whatsapp_senders or send_whatsapp_template.
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 by stating the default status ('approved'), but does not explicitly state when to use this tool versus alternatives or provide exclusions. However, sibling tools do not include another template listing tool, so the context is still clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_all_phone_numbersARead-onlyIdempotentInspect
List every phone number on the account (regardless of SMS or subscription status).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint, indicating a safe, idempotent read operation. The description adds useful context about the scope ('every phone number regardless of SMS or subscription status'), which is beyond what 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 a single sentence that conveys all necessary information without any fluff. Every word is meaningful and earns its place in the definition.
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 simplicity (no parameters, output schema exists), the description is near-complete. It clearly states the scope. While it could optionally mention that it returns a list of phone number objects, the output schema covers return format, so the description does not need to.
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?
Input schema has no parameters, so schema description coverage is 100%. The description does not need to add parameter information. It correctly implies there are no filters needed. With no parameters, a baseline score of 4 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?
Description clearly states 'List every phone number on the account' which is a specific verb+resource. It further distinguishes by noting 'regardless of SMS or subscription status', distinguishing from potentially filtered or selective sibling tools like get_phone_numbers or search_phone_numbers.
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?
Description implies use when you want all phone numbers without any filtering. However, it does not explicitly state when not to use it or provide alternatives among siblings. The context suggests it's for bulk listing, but more explicit guidance would improve clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_callsARead-onlyIdempotentInspect
List calls with pagination and optional assistant filter.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| per_page | No | ||
| assistant_id | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| to | No | |
| data | No | |
| from | No | |
| total | No | |
| per_page | No | |
| last_page | No | |
| current_page | No | |
| next_page_url | No | |
| prev_page_url | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint. The description adds value by mentioning pagination and optional filtering, which are behavioral traits not covered by annotations.
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 efficient sentence that conveys purpose and key features without any fluff. It is front-loaded and easy to parse.
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 presence of an output schema, return values need not be explained. The description covers the core functionality, though it could mention default pagination values or ordering for greater 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?
Parameter descriptions are missing from the schema (0% coverage). The description compensates by linking pagination to 'page' and 'per_page', and 'assistant filter' to 'assistant_id', adding meaning beyond parameter 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 lists calls, supports pagination, and includes an optional assistant filter. It distinguishes from sibling tools like 'get_call' (singular) and 'make_call' (create).
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 retrieving multiple calls with optional filtering and pagination, but it does not explicitly state when not to use it or mention alternatives like 'get_call' for a single call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_campaignsARead-onlyIdempotentInspect
List all outbound calling campaigns.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. The description adds context that it lists 'outbound calling campaigns,' but does not disclose significant behavioral traits beyond what 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 a single, concise sentence with no superfluous information. It is front-loaded and every word 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?
For a simple list tool with no parameters and an existing output schema, the description completely conveys the tool's purpose and scope. No additional details are 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 input schema has no parameters and schema description coverage is 100%, so the baseline is 3. The description does not add any parameter information, which is acceptable given the absence of 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 'list' and the resource 'outbound calling campaigns', making the tool's purpose unambiguous. It distinguishes from sibling tools like list_calls and list_leads by specifying the campaign 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?
The description does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention when-not to use it. Usage is implied by the tool name but lacks explicit conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_conversationsARead-onlyIdempotentInspect
List conversations across your assistants with cursor pagination and filters.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | ||
| cursor | No | ||
| per_page | No | ||
| assistant_id | No | ||
| customer_phone | No | ||
| external_identifier | No | ||
| whatsapp_sender_phone | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| to | No | |
| data | No | |
| from | No | |
| total | No | |
| per_page | No | |
| last_page | No | |
| current_page | No | |
| next_page_url | No | |
| prev_page_url | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false, ensuring safe operation. Description adds cursor pagination detail, which is beyond annotations. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with 9 words, no filler, front-loaded with action and resource. Highly 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?
Output schema exists, reducing need for return value description. However, pagination specifics and parameter usage are not explained, leaving gaps for a tool with 7 parameters.
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%, but description provides zero parameter details beyond generic 'filters'. With 7 parameters, this is insufficient; description should compensate by explaining key parameters like type, cursor, per_page, etc.
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 uses specific verb 'list' and resource 'conversations', and adds context with 'cursor pagination and filters'. Clearly distinguishes from sibling list tools like list_calls or list_documents.
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 when-not-to-use guidance. Usage is implied for listing conversations, but no mention of alternatives like get_conversation for a single conversation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_documentsCRead-onlyIdempotentInspect
List documents in a knowledge base.
| Name | Required | Description | Default |
|---|---|---|---|
| knowledgebase_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false. The description adds no additional behavioral details such as pagination, ordering, or filtering behavior. With annotations covering safety, the description provides minimal extra 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 very short (one sentence) and front-loads the purpose. However, it is too minimal, omitting important context like parameter explanation or usage notes. Conciseness is achieved at the cost of completeness.
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 simplicity (one parameter), clear annotations, and presence of an output schema, the description is minimally adequate. It states the core function but lacks details on filtering, pagination, or return format. For a list endpoint, more context is expected.
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, knowledgebase_id, has no description in the input schema (0% coverage) and the tool description does not elaborate on its meaning or format. The description merely mentions 'knowledge base' implicitly but does not add any semantic value beyond the parameter name.
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 documents in a knowledge base. The verb 'List' and resource 'documents' with scope 'in a knowledge base' are specific. However, it does not differentiate from sibling tools like get_document (single document) or list_knowledgebases, but the purpose is clear.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives. There are siblings like get_document for a specific document and create_document for adding documents. The description lacks any 'when to use' or 'when not to use' context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_foldersARead-onlyIdempotentInspect
List assistant folders (paginated), each with its assistants_count. Folders group assistants, e.g. per customer or brand; an assistant belongs to at most one folder.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| per_page | No | 1-100, default 15 |
Output Schema
| Name | Required | Description |
|---|---|---|
| to | No | |
| data | No | |
| from | No | |
| total | No | |
| per_page | No | |
| last_page | No | |
| current_page | No | |
| next_page_url | No | |
| prev_page_url | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint, idempotentHint, etc. Description adds pagination behavior and that it returns assistants_count, which is beyond annotation. No contradictions.
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 purpose and pagination. Every sentence adds value. No waste.
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 output schema present, description covers key points: what it returns (folders with assistants_count), pagination, and folder concept. Could mention default values for page/per_page, but overall complete enough.
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 50% (per_page has description, page does not). Description mentions paginated but adds no detail on page or per_page semantics beyond schema. Could be improved.
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 it lists assistant folders, is paginated, and returns assistants_count. Explains folder grouping and constraint (assistant belongs to at most one folder). Distinguishes from sibling tools like create_folder, delete_folder.
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. Pagination and return fields are described, but no guidance on when to prefer over get_folder or other list tools. Implicit from context but not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_knowledgebasesARead-onlyIdempotentInspect
List all knowledge bases on the account.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and destructiveHint. Description adds no behavioral details beyond 'List all', which is minimal. With strong annotations, a mid score is appropriate.
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 concise sentence with no wasted words. Front-loaded with key 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?
With output schema present and strong annotations, the description is mostly complete for a simple list operation. However, it lacks details on pagination, ordering, or size limits.
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?
No parameters, schema coverage 100%. Description adds no parameter info, but baseline for 0 param tools is 4. The description is sufficient.
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 verb 'List' and resource 'knowledge bases on the account.' It is specific and distinct from sibling tools like get_knowledgebase or create_knowledgebase.
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 on when to use this tool vs alternatives. Despite many siblings, the description provides no context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_labelsARead-onlyIdempotentInspect
List assistant labels (paginated), each with its assistants_count. Labels are tags; an assistant can carry multiple labels across folders.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| per_page | No | 1-100, default 15 |
Output Schema
| Name | Required | Description |
|---|---|---|
| to | No | |
| data | No | |
| from | No | |
| total | No | |
| per_page | No | |
| last_page | No | |
| current_page | No | |
| next_page_url | No | |
| prev_page_url | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, openWorld, idempotent, and non-destructive. The description adds useful context: pagination, assistants_count, and the tag concept with multi-label across folders. No contradictions.
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 sentences front-load the purpose and add meaningful context without waste. 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?
With an output schema present, return values are not required in description. However, missing details like default pagination, sorting, and lack of any filtering options leave the description adequate but not complete for a list 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 50% (per_page has a description, page does not). The description adds no parameter meaning beyond the schema, failing to compensate for the missing schema 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 clearly states the tool lists assistant labels with their assistants_count, and defines labels as tags that can be carried across folders. This distinguishes it from sibling tools like create_label or update_label.
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 retrieving all labels but lacks explicit guidance on when to use this tool versus alternatives like search or filter. No when-not or prerequisites are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_leadsBRead-onlyIdempotentInspect
List leads with pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| per_page | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| to | No | |
| data | No | |
| from | No | |
| total | No | |
| per_page | No | |
| last_page | No | |
| current_page | No | |
| next_page_url | No | |
| prev_page_url | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, indicating a safe read operation. The description adds the behavioral trait of pagination but does not disclose details like default page size, maximum per_page, or ordering. This adds some value beyond annotations.
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 of 4 words, efficiently front-loading the purpose. It is concise but could be slightly expanded to include more detail without losing 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 tool's simplicity (2 optional parameters, output schema exists, no nested objects), the description is minimally adequate. However, it does not compensate for the lack of schema descriptions or provide usage context, leaving gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage for parameters page and per_page. The description only says 'with pagination' but does not explain parameter semantics (e.g., 1-indexed page, default per_page). Minimal additional meaning is provided.
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 'List leads with pagination' clearly states the verb (list) and resource (leads). While it does not explicitly distinguish from sibling list_* tools, the resource name 'leads' is specific enough. The addition of 'with pagination' clarifies the 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?
There is no guidance on when to use this tool versus alternatives like get_lead or create_lead. The description only mentions pagination, which implies usage for large result sets but does not provide when-not-to-use or exclude other scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_mid_call_toolsARead-onlyIdempotentInspect
List mid-call tools (HTTP integrations callable by an assistant during a call).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds context that these are HTTP integrations callable during a call, but does not disclose any additional behavioral traits such as pagination or ordering. With annotations covering the safety, a score of 3 is appropriate.
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 front-loads the purpose. Every word earns its place; no unnecessary 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?
With no parameters and an output schema present, the description sufficiently communicates the tool's purpose. It covers what the tool does without needing to elaborate on return values.
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 parameters, so schema description coverage is trivially 100%. The description does not need to add parameter info, and a baseline of 4 is given per instructions for 0 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 'List' and the resource 'mid-call tools', with a parenthetical explaining what those are. It distinguishes itself from siblings like 'get_mid_call_tool' which retrieves a single tool, and 'create_mid_call_tool' etc.
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 when-not-to-use guidance is provided. While the tool name and siblings imply that this is for listing all tools versus getting a specific one, the description does not explicitly state alternatives or context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sip_trunksARead-onlyIdempotentInspect
List all SIP trunks on the account.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, fully covering the behavioral traits. The description adds no new behavioral context beyond confirming the operation lists items on the account, which is helpful but not essential.
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 is front-loaded and concise. Every word is necessary and clear 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 tool's simplicity (no parameters, output schema exists), the description is complete. It covers what the tool does sufficiently, and annotations handle safety/behavioral aspects.
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?
There are zero parameters and schema coverage is 100%, so the description does not need to add parameter details. Baseline score of 4 for no parameters applies.
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 the resource ('all SIP trunks on the account'), distinguishing it from sibling tools that operate on a single SIP trunk (get_sip_trunk) or mutate it (create, update, delete). Specific verb and resource 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 implicitly indicates this tool is for retrieving the full list of SIP trunks, contrasting with get_sip_trunk. No explicit when-not or alternative mentions, but the context from sibling names and the description's clarity is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
make_callBInspect
Initiate an outbound AI phone call with a configured assistant.
| Name | Required | Description | Default |
|---|---|---|---|
| variables | No | ||
| assistant_id | Yes | Assistant UUID or ID | |
| phone_number | Yes | E.164-formatted destination number |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations mark it as non-read-only, non-destructive, non-idempotent, but the description does not add behavioral context beyond the annotations. It omits details like potential costs, call duration limits, or whether calls are recorded.
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, very concise. It lacks structure but is appropriately sized for the simplicity of the 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?
Given the presence of an output schema and decent schema coverage, the description is minimally adequate. However, it does not address prerequisites or behavior beyond initiation, leaving some gaps for a mutation 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 does not elaborate on the parameters beyond what the schema provides. Schema already describes assistant_id and phone_number; the variables parameter has no description in schema or description. Minimal added 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 clearly states the action 'initiate', the resource 'outbound AI phone call', and the requirement 'with a configured assistant', providing specific verb+resource context that distinguishes it from sibling tools like send_message or send_sms.
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 on when to use this tool versus alternatives, prerequisites (e.g., need an assistant first), or when not to use. The description only states what the tool does, not context for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
purchase_phone_numberAInspect
Purchase a phone number returned by search_phone_numbers (monthly subscription).
| Name | Required | Description | Default |
|---|---|---|---|
| phone_number | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate destructiveHint=false, but the description adds the context of a monthly subscription, which implies recurring billing. However, it does not detail billing details, cancellation policies, or what happens upon purchase. For a purchase action, more behavioral context could be beneficial.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 10 words, front-loading the action and including a parenthetical note about the subscription. Every word earns its place 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?
Given the tool has only one parameter and an output schema exists (though not shown), the description covers the core purpose and prerequisite. It lacks details about return values, but the output schema can compensate. It is complete enough for a simple purchase 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 should compensate. The single parameter 'phone_number' is only named with no format or constraints provided. The description adds no meaning beyond the schema, leaving the agent to guess the required format.
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 (purchase), the resource (phone number), and the prerequisite (returned by search_phone_numbers). It also specifies it is a monthly subscription, which distinguishes it from sibling tools like search_phone_numbers and release_phone_number.
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 (after searching for phone numbers, before using them) and mentions the monthly subscription. However, it does not explicitly state when not to use it or provide alternatives. The context from sibling tools helps differentiate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
release_phone_numberBDestructiveIdempotentInspect
Release (cancel) a purchased phone number.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructiveHint=true and idempotentHint=true. The description adds minimal context by specifying 'purchased', but it relies heavily on annotations for behavioral disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence with no wasted words, achieving maximal 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 tool's simplicity and existing output schema, the description adequately conveys the action but lacks parameter clarification, leaving ambiguity about the required 'id'.
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 fails to explain the single 'id' parameter—what it represents or how to obtain it.
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 ('Release (cancel)') and clearly identifies the resource ('purchased phone number'), distinguishing it from sibling tools like purchase_phone_number or update_phone_number.
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 when a phone number is no longer needed or should be canceled.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_phone_numbersARead-onlyIdempotentInspect
Search for purchasable phone numbers via the Famulor provider.
| Name | Required | Description | Default |
|---|---|---|---|
| contains | No | Digits the number should contain (numeric only, max 10) | |
| country_code | No | ISO 3166-1 alpha-2, default DE |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=true. The description adds context about the provider and purchasable nature but does not disclose additional behavioral traits beyond what is in annotations.
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 no redundant information, effectively front-loading 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?
Given the presence of an output schema (context signal), the description does not need to explain return values. However, it could be improved by briefly stating what the search returns (e.g., a list of available numbers). Current description is adequate but minimal.
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 100%, so parameters are documented. The description does not provide additional meaning or constraints beyond the schema definitions.
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 'search for', the resource 'purchasable phone numbers', and the provider 'Famulor'. It distinguishes from siblings like list_all_phone_numbers (which lists owned numbers) and purchase_phone_number (action after search).
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 finding available numbers but lacks explicit comparison to siblings like list_all_phone_numbers or get_phone_numbers. No when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_messageAInspect
Send a user message in an existing chat conversation and get the assistant reply.
| Name | Required | Description | Default |
|---|---|---|---|
| uuid | Yes | ||
| message | Yes | User message (max 2000 chars) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate non-read-only, non-idempotent behavior. The description adds that the tool returns the assistant reply, which is important behavioral context beyond the schema. It could be more transparent about potential delays or session 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, clear sentence that communicates the core function efficiently with no unnecessary 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 is straightforward with two required parameters and a clear input/output pattern. It covers the main action and result, though it lacks details on permissions, conversation state requirements, or any side 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?
Schema coverage is 50% (only 'message' has description). The description does not add any parameter-specific details, falling back on baseline since it doesn't compensate 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 action ('Send a user message'), the target ('existing chat conversation'), and the result ('get the assistant reply'). It distinguishes from sibling tools like 'send_sms' or 'send_whatsapp_freeform' by specifying the chat 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?
The description implies usage when there is an existing chat conversation (UUID required) and when the user wants a reply. However, it does not explicitly state when not to use it or mention alternative tools for different channels (SMS, WhatsApp).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_smsAInspect
Send an SMS from one of your Famulor phone numbers (must be SMS-capable). Costs are deducted from your balance.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient in E.164 format | |
| body | Yes | Message body (max 300 chars) | |
| from | Yes | Phone number ID |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate mutation (readOnlyHint=false) and non-destructive. Description adds cost implication and SMS-capability requirement, but no additional details on idempotency or side effects like message logs.
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, no redundant information. 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?
For a simple mutation tool with output schema present, the description covers cost, number requirement, and parameter constraints sufficiently.
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 100%; description adds value by specifying 'from' must be a Famulor phone number and 'body' max 300 chars, enhancing the schema's 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 'Send an SMS' with verb and resource, and distinguishes from sibling tools like send_whatsapp_template by specifying 'SMS' and 'Famulor phone number'.
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 (must be SMS-capable number, costs deducted) but does not explicitly compare with alternatives like send_whatsapp_* or mention 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.
send_whatsapp_freeformAInspect
Send a freeform WhatsApp message. Requires an open 24h session (use get_whatsapp_session_status to check).
| Name | Required | Description | Default |
|---|---|---|---|
| message | Yes | Max 4096 chars | |
| sender_id | Yes | ||
| recipient_phone | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a write operation (readOnlyHint=false) and non-destructive (destructiveHint=false). The description adds the session requirement but no further behavioral details like rate limits, idempotency, or error conditions.
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, no superfluous text. The first sentence clearly states the purpose, the second adds a critical prerequisite. Well-structured and 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?
With an output schema present, the description is adequate but does not explain return values or behavior beyond the prerequisite. Given the tool's simplicity and annotations, it meets minimum completeness but could note success/error indicators.
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 low (33%): only 'message' has a description. The tool description does not clarify sender_id or recipient_phone beyond the schema, failing to compensate for the 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 verb 'Send', resource 'WhatsApp message', and qualifier 'freeform', distinguishing it from sending templates or other messages. No ambiguity.
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 mentions the prerequisite of an open 24h session and recommends checking with get_whatsapp_session_status. Provides clear context for when to use, though no explicit exclusions or alternative comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
send_whatsapp_templateBInspect
Send a WhatsApp template message (required when initiating or outside the 24h window).
| Name | Required | Description | Default |
|---|---|---|---|
| sender_id | Yes | ||
| variables | No | ||
| template_id | Yes | ||
| recipient_name | No | ||
| recipient_phone | Yes | E.164 |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are present but not fully explanatory (openWorldHint). The description adds a behavioral constraint (when template is required) but does not disclose other traits like auth needs or rate limits. It adds some context beyond annotations.
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 extremely concise (one sentence) but too terse for a tool with 5 parameters. It front-loads the purpose and condition but lacks necessary detail, making it borderline under-specified.
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 (5 params, output schema, sibling similar tools), the description is incomplete. It does not explain variables, how to obtain template_id, or the response format. The output schema is present but not described.
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 only 20% schema description coverage, the description adds no parameter explanations. The schema documents recipient_phone format (E.164) but other parameters (sender_id, template_id, variables, recipient_name) are left ambiguous. The description fails to compensate for the low 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 sends a WhatsApp template message and specifies the condition (initiating or outside 24h window). It differentiates from siblings like send_whatsapp_freeform by the template nature, though not explicit.
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 a clear usage context (outside 24h window) but does not mention when not to use or provide alternatives like send_whatsapp_freeform. It implies the constraint but lacks explicit guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_assistantCIdempotentInspect
Update an existing assistant (partial). Only the fields you send are changed.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Assistant ID to update | |
| mode | No | ||
| name | No | Display name of the assistant (max 255 chars) | |
| type | No | Assistant call direction | |
| tools | No | ||
| record | No | ||
| fillers | No | ||
| timezone | No | IANA timezone, e.g. "Europe/Berlin" | |
| tool_ids | No | ||
| voice_id | No | Voice ID from get_voices | |
| folder_id | No | Folder to place the assistant in (one folder per assistant). See list_folders. Send null to remove. | |
| label_ids | No | Label IDs to tag the assistant with (an assistant can carry multiple labels). See list_labels. | |
| variables | No | ||
| language_id | No | Primary language ID from get_languages | |
| webhook_url | No | ||
| llm_model_id | No | Required for mode=pipeline | |
| max_duration | No | ||
| ringing_time | No | ||
| speech_speed | No | ||
| ambient_sound | No | ||
| endpoint_type | No | ||
| filler_config | No | ||
| system_prompt | No | System prompt defining behavior | |
| initial_message | No | First message spoken at call start (max 200 chars) | |
| llm_temperature | No | ||
| phone_number_id | No | ||
| voice_stability | No | ||
| knowledgebase_id | No | ||
| post_call_schema | No | ||
| voice_similarity | No | ||
| is_webhook_active | No | ||
| wait_for_customer | No | ||
| knowledgebase_mode | No | ||
| voice_mail_message | No | ||
| allow_interruptions | No | ||
| min_interrupt_words | No | ||
| multimodal_model_id | No | Required for mode=multimodal/dualplex | |
| reengagement_prompt | No | ||
| tts_emotion_enabled | No | ||
| ambient_sound_volume | No | ||
| chat_llm_fallback_id | No | ||
| endpoint_sensitivity | No | ||
| max_silence_duration | No | ||
| post_call_evaluation | No | ||
| end_call_on_voicemail | No | ||
| interrupt_sensitivity | No | ||
| reengagement_interval | No | ||
| secondary_language_ids | No | Additional language IDs the assistant can speak | |
| synthesizer_provider_id | No | ||
| transcriber_provider_id | No | ||
| turn_detection_threshold | No | ||
| enable_noise_cancellation | No | ||
| conversation_ended_retrigger | No | ||
| include_recording_in_webhook | No | ||
| max_initial_silence_duration | No | ||
| conversation_ended_webhook_url | No | ||
| send_webhook_only_on_completed | No | ||
| conversation_inactivity_timeout | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false and destructiveHint=false. The description adds the partial update nature but does not disclose side effects, dependency constraints, or other behavioral nuances for the 58 parameters.
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 very concise (one sentence) but is under-specified for a tool with 58 parameters. Conciseness sacrifices helpfulness.
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 (58 params, low schema coverage, many sibling tools), the description is woefully inadequate. It does not explain return values, error handling, or any advanced 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?
The description provides no information about parameters beyond the partial update concept. With only 22% schema description coverage, the description fails to compensate and does not add meaning to any of the 58 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 'Update an existing assistant (partial). Only the fields you send are changed.' It specifies the verb (update), resource (assistant), and the partial update behavior, distinguishing it from create_assistant and delete_assistant.
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 for modifying an existing assistant, but it does not explicitly state when to use it versus alternatives like create_assistant. No prerequisites 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.
update_campaign_statusBIdempotentInspect
Start or stop a campaign.
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| campaign_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate the tool is not read-only, idempotent, and not destructive. The description merely reiterates the action without adding new behavioral insights, such as what side effects occur or authorization requirements.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely short (one sentence) and front-loaded. It is concise, but the brevity comes at the cost of completeness, which is better addressed in other dimensions.
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 tool with an output schema and clear annotations, the description is adequate. However, it lacks any mention of the return value, prerequisites, or side effects beyond the action itself.
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 compensate but only restates the action enum values. The campaign_id parameter is not explained, though its purpose is somewhat inferable. Minimal added value over the schema's 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?
Description explicitly states the tool starts or stops a campaign, which is a specific verb-resource combination. It clearly distinguishes from sibling tools like create_campaign or delete_campaign, as this tool modifies status rather than creating or deleting.
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 given on when to use this tool versus alternatives, such as other campaign update tools. There is no mention of prerequisites, context, or situations where starting/stopping is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_documentAIdempotentInspect
Update a document name or description. Content cannot be changed.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | ||
| description | No | ||
| document_id | Yes | ||
| knowledgebase_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false, destructiveHint=false, idempotentHint=true, and openWorldHint=true. The description adds value by explicitly stating that content cannot be changed, which is a behavioral constraint not covered by the annotations. This alerts the agent to an important limitation.
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 with no superfluous words. It is front-loaded with the action and resource, and every word earns its place by communicating the tool's purpose and a key constraint.
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 4 parameters and an output schema exists, the description covers the basic purpose and a key constraint. However, it lacks information on prerequisites (e.g., does the document need to exist?), error handling, or what the output represents. It is minimally adequate but leaves gaps for a 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?
With 0% schema description coverage, the description must compensate. It explains that 'name' and 'description' are the updatable fields, but does not clarify the role of required parameters 'document_id' and 'knowledgebase_id' (presumably identifiers). No data types, formats, or examples are given, so only partial meaning is added 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 verb 'Update' and the resource 'document', specifies which fields can be changed (name or description), and includes a key constraint ('Content cannot be changed'). This distinguishes it from sibling tools like create_document or delete_document despite the short length.
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 (e.g., create_document for new documents, delete_document for removal). It does not mention any prerequisites or context, leaving the agent to infer usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_folderAIdempotentInspect
Rename a folder or change its color (partial — only sent fields change).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Folder ID | |
| name | No | New name (max 255 chars, unique per account) | |
| color | No | New badge color, or null to remove |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond annotations by specifying that only sent fields change (partial update). Annotations indicate idempotentHint=true and destructiveHint=false, which align with the description. No mention of permissions or other side effects, but the partial update detail is helpful.
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, tightly written sentence that front-loads the action and includes a key behavioral note. Every word is useful, 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 presence of an output schema and full parameter documentation, the description covers the essential behavior. It does not explain return values (handled by output schema) but could be slightly more explicit about what happens if no fields are sent (though 'partial' implies nothing changes).
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 100% with descriptions for each parameter. The description adds the important semantic detail that the update is partial (only sent fields change), which is not fully captured by the schema 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 tool updates a folder by renaming or changing its color. The phrase 'partial — only sent fields change' distinguishes it from a full update, and sibling tools like create_folder and delete_folder provide context for its specific 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?
The description implies when to use the tool (to rename or recolor a folder) but does not explicitly state when not to use it or mention alternatives. However, the sibling tool list and context make the usage fairly clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_knowledgebaseCIdempotentInspect
Rename or describe an existing knowledge base.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| name | No | ||
| description | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate it is not read-only, not destructive, and idempotent. The description adds 'rename or describe' which aligns with these hints. However, it does not disclose additional behavioral traits such as whether previous values are overwritten or if there are any side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with only a few words, which is efficient. However, it lacks structure (e.g., listing parameters) and could benefit from minimal formatting. Still, it avoids waste.
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 parameters, zero schema description coverage, and presence of an output schema (though not described), the description is incomplete. It does not mention the required 'id', optional fields, or what the output contains. Annotations partially compensate but more detail is needed for full understanding.
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 hints that 'name' and 'description' are the updatable fields, but does not explain the 'id' parameter (required, a knowledge base identifier). With 0% schema description coverage, the description should compensate but fails to provide detailed 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 action (rename or describe) and the resource (existing knowledge base), distinguishing it from siblings like create_knowledgebase or delete_knowledgebase. However, it does not explicitly use the word 'update' to reinforce the mutation, slightly reducing clarity.
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 on when to use this tool versus alternatives. There is no mention of prerequisites, restrictions, or when not to use it. The description implies it is for updating metadata, but lacks explicit context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_labelBIdempotentInspect
Rename a label or change its color (partial — only sent fields change).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Label ID | |
| name | No | New name (max 255 chars, unique per account) | |
| color | No | New badge color, or null to remove |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false, destructiveHint=false, and idempotentHint=true. The description adds the 'partial update' behavior, which is consistent but does not disclose additional traits like permissions or side effects beyond what 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?
A single sentence that is concise and front-loaded, effectively communicating the core purpose without unnecessary 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 simple nature of the tool and the richness of the input schema, the description is adequate. It covers the main use cases (rename, color change) and partial update behavior, though it does not mention return values (output schema exists but is not required to be described).
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 100%, so each parameter is already well-documented in the input schema. The description merely summarizes the main actions without adding extra 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 clearly states the tool renames a label or changes its color, with a note about partial updates. This is specific and informative, but does not explicitly differentiate from sibling tools like create_label or delete_label, which is evident from 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?
No explicit guidance on when to use this tool versus alternatives. The description implies it's for updating existing labels, but does not clarify prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_leadBIdempotentInspect
Update a lead. Variables are merged with existing ones.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| status | No | ||
| variables | No | ||
| campaign_id | No | ||
| phone_number | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide idempotentHint, readOnlyHint=false, destructiveHint=false. Description adds that variables are merged (not replaced), which is useful. No mention of other side effects or permissions.
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 purpose, no redundant information. Every word contributes 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 having an output schema and multiple parameters, the description lacks details on parameter meanings, status enum values, and relationships between inputs. Leaves agent with many unknowns.
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 5 parameters with 0% description coverage. Description only hints at 'variables' behavior via 'merged with existing ones.' No explanation for id, status, campaign_id, phone_number. Insufficient for a tool with this many params.
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 'Update a lead' with the verb-resource pair, and adds a specific behavior about variable merging. However, it does not differentiate from other update tools beyond the resource name, so not a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like create_lead or other update tools. Lacks context on prerequisites or typical use cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_mid_call_toolAIdempotentInspect
Update a mid-call tool. headers/schema fully replace existing values when provided.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| name | No | ||
| method | No | ||
| schema | No | ||
| headers | No | ||
| timeout | No | ||
| endpoint | No | ||
| description | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotentHint and non-destructive nature. The description adds critical detail that headers/schema are fully replaced, which is not obvious from the schema. This enhances transparency beyond annotations.
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 sentences with no waste. The purpose is front-loaded, and the key behavioral note on replacement is immediately provided.
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 replacement behavior but omits important details like required parameters (id), expected return values (though output schema exists), or usage examples. For a tool with 8 parameters, more context is needed.
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 only clarifies behavior for headers and schema parameters. The remaining six parameters (id, name, method, timeout, endpoint, description) receive no explanation of their semantics or usage 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 'Update a mid-call tool,' identifying the verb (update) and resource (mid-call tool). It adds specific behavior about headers/schema full replacement, distinguishing it from create or delete 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 use for updating an existing tool but provides no explicit guidance on when to use this versus alternatives (e.g., create_mid_call_tool, delete_mid_call_tool). No prerequisites 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.
update_phone_numberAIdempotentInspect
Update a phone number you own. Currently sets the nickname — a short human-readable label (max 50 chars) shown next to the number. Send null/empty to clear it. Granted (shared) numbers cannot be updated.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Phone number ID to update | |
| nickname | No | Short label, max 50 chars. null clears it. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate the tool is non-destructive and idempotent. The description adds value by specifying that it currently sets the nickname, can clear it with null/empty, and that granted numbers are excluded. This goes beyond annotations without contradiction.
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 four short, front-loaded sentences. Each sentence adds unique information: purpose, current capability, clearing behavior, and access restriction. No redundant or unnecessary 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 the presence of an output schema (not shown), the description does not need to explain return values. It covers purpose, usage conditions, parameter details, and constraints, making it fully informative for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes both parameters fully (100% coverage). The description adds important context: the nickname is shown next to the number, max 50 chars, and can be cleared. It also implies the 'id' must be owned, which is not in the schema. This extra context justifies a score above baseline.
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 updates a phone number owned by the user, specifically setting the nickname. It distinguishes from other phone number operations like purchase or release by specifying the action and ownership condition.
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 condition: numbers must be owned, and granted (shared) numbers cannot be updated. However, it does not explicitly contrast with alternatives like release or purchase, leaving some ambiguity about when to use this tool versus others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_sip_trunkCIdempotentInspect
Update a SIP trunk (partial).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| sip_address | No | ||
| country_code | No | ||
| phone_number | No | ||
| sip_password | No | ||
| sip_username | No | ||
| outbound_proxy | No | ||
| sip_calling_format | No | ||
| allowed_inbound_ips | No | ||
| inbound_authorization_type | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| message | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-destructive, idempotent traits. The description adds minimal value with 'partial' hinting at field-level update, but does not elaborate on absence of side effects or concurrency 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?
Extremely short but incomplete. Conciseness is positive only when essential information is present; here it omits details needed for correct invocation.
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 10 parameters with no schema descriptions and a partial update semantics. The description lacks necessary context such as which fields are optional, how partial updates work, and any return value details.
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 must explain parameters, but it does not. No parameter context is provided, leaving the agent to infer meaning from names 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 verb 'Update' and the resource 'SIP trunk', and the word 'partial' indicates a PATCH-like operation. It is distinct from sibling tools like create_sip_trunk and delete_sip_trunk, but could be more explicit about 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?
No guidance is provided on when to use this tool versus alternatives. There is no mention of prerequisites, when to prefer update over create, or any exclusions.
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!