Skip to main content
Glama
seven-io

seven-mcp

Official
by seven-io

MCP Seven

Model Context Protocol (MCP) server for the seven.io API. This server provides comprehensive access to seven.io's SMS, voice, RCS messaging, and account management services.

Features

Messaging

  • SMS: Send and manage SMS messages

  • RCS: Send Rich Communication Services messages with media and suggestions

  • Voice: Send text-to-speech voice calls

Account Management

  • Balance: Check account balance

  • Pricing: Get pricing information by country

  • Analytics: View account statistics

Lookup Services

  • Format Validation: Validate phone number formats

  • HLR: Home Location Register lookups (network info, roaming status)

  • MNP: Mobile Number Portability lookups (carrier information)

  • CNAM: Caller ID name lookups

  • RCS Capabilities: Check if a number supports RCS

Contact Management

  • Contacts: Full CRUD operations for contacts

  • Groups: Manage contact groups

Phone Numbers

  • Browse, purchase, and manage phone numbers

Advanced Features

  • Webhooks: Register webhooks for events

  • Subaccounts: Create and manage subaccounts

  • Status & Logbook: Track message delivery and view history

Related MCP server: lingtai-whatsapp

Installation

npm install -g @seven.io/mcp

Authentication

This MCP server supports two authentication methods:

OAuth provides better security with automatic token refresh and fine-grained scopes.

  1. Login via CLI:

npx @seven.io/mcp login

This will:

  • Open your browser to seven.io OAuth authorization

  • Request necessary permissions (SMS, Voice, RCS, etc.)

  • Store tokens securely in your system keychain

  • Auto-refresh tokens when they expire

CLI Commands:

# Login with OAuth
npx @seven.io/mcp login

# Check authentication status
npx @seven.io/mcp status

# Logout (remove stored tokens)
npx @seven.io/mcp logout

Option 2: API Key (Legacy)

For backwards compatibility, you can still use an API key:

export SEVEN_API_KEY="your-api-key"

Get your API key from the seven.io dashboard.

Priority

If both authentication methods are configured, OAuth takes priority.

Usage with Claude Desktop

Add this to your Claude Desktop configuration file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows: %APPDATA%\Claude\claude_desktop_config.json

Linux: ~/.config/Claude/claude_desktop_config.json

With OAuth (recommended):

{
  "mcpServers": {
    "seven": {
      "command": "npx",
      "args": ["@seven.io/mcp"]
    }
  }
}

With API Key:

{
  "mcpServers": {
    "seven": {
      "command": "npx",
      "args": ["@seven.io/mcp"],
      "env": {
        "SEVEN_API_KEY": "your-api-key"
      }
    }
  }
}

With Debug Logging: To enable request/response logging for debugging, add the SEVEN_LOG_FILE environment variable:

{
  "mcpServers": {
    "seven": {
      "command": "npx",
      "args": ["@seven.io/mcp"],
      "env": {
        "SEVEN_API_KEY": "your-api-key",
        "SEVEN_LOG_FILE": "/tmp/mcp-seven-debug.log"
      }
    }
  }
}

Then monitor the log file:

tail -f /tmp/mcp-seven-debug.log

Note: If using OAuth, run npx @seven.io/mcp login before starting Claude Desktop.

Available Tools

Messaging Tools

  • send_sms - Send SMS messages

  • delete_sms - Delete scheduled SMS

  • send_rcs - Send RCS messages

  • delete_rcs - Delete RCS messages

  • rcs_events - Handle RCS events

  • send_voice - Send voice calls

  • hangup_voice - End active voice calls

Account Tools

  • get_balance - Check account balance

  • get_pricing - Get pricing information

  • get_analytics - View account statistics

Lookup Tools

  • lookup_format - Validate phone number format

  • lookup_hlr - Home Location Register lookup

  • lookup_mnp - Mobile Number Portability lookup

  • lookup_cnam - Caller ID name lookup

  • lookup_rcs - Check RCS capabilities

Status & Logbook Tools

  • get_status - Check message delivery status

  • get_logbook_sent - View sent messages

  • get_logbook_received - View received SMS

  • get_logbook_voice - View voice call history

Phone Numbers Tools

  • get_available_numbers - List available numbers

  • order_number - Purchase a phone number

  • get_active_numbers - List active numbers

  • get_number - Get number details

  • update_number - Update number configuration

  • delete_number - Cancel/delete number

Contact Tools

  • list_contacts - List all contacts

  • create_contact - Create new contact

  • get_contact - Get contact by ID

  • update_contact - Update contact

  • delete_contact - Delete contact

Group Tools

  • list_groups - List all groups

  • create_group - Create new group

  • get_group - Get group by ID

  • update_group - Update group

  • delete_group - Delete group

Subaccount Tools

  • list_subaccounts - List all subaccounts

  • create_subaccount - Create new subaccount

  • update_subaccount - Update subaccount settings

  • transfer_credits - Transfer credits to subaccount

  • delete_subaccount - Delete subaccount

Webhook Tools

  • list_webhooks - List registered webhooks

  • create_webhook - Register new webhook

  • delete_webhook - Delete webhook

Sender Tools

  • validate_sender - Validate sender identifiers

Example Usage

Once configured, you can use the tools in Claude:

Send an SMS to +1234567890 saying "Hello from seven.io!"
Check my account balance
Look up the carrier information for phone number +1234567890

Development

Watch mode

npm run watch

Build

npm run build

Testing

Run the comprehensive test suite:

npm test

Run tests in watch mode:

npm run test:watch

Generate coverage report:

npm run test:coverage

Test Coverage

The test suite includes:

  • Unit tests for all API client methods

  • Tool tests for all 40+ MCP tools covering:

    • RCS messaging (3 tools)

    • SMS messaging (2 tools)

    • Voice calls (2 tools)

    • Account management (3 tools)

    • Lookup services (5 tools)

    • Status & Logbook (4 tools)

    • Phone number management (6 tools)

    • Contact management (5 tools)

    • Group management (5 tools)

    • Subaccount management (5 tools)

    • Webhook management (3 tools)

    • Sender validation (1 tool)

  • Integration tests verifying all tools export correctly and have valid schemas

  • Endpoint validation tests that verify API endpoint paths are correct (requires SEVEN_API_KEY)

Coverage target: 80% for branches, functions, lines, and statements.

Endpoint Validation

To run endpoint validation tests that verify the API paths are correct:

SEVEN_API_KEY=your-api-key npm test

These integration tests ensure that endpoints match the seven.io API documentation and will catch issues like incorrect paths (e.g., using /logbook/received instead of /journal/inbound).

API Documentation

For detailed API documentation, visit docs.seven.io.

License

MIT

Available Tools

44 tools
create_contactC

Create a new contact

ParametersJSON Schema
NameRequiredDescriptionDefault
firstnameNoFirst name
lastnameNoLast name
mobile_numberNoMobile phone number
home_numberNoHome phone number
emailNoEmail address
addressNoStreet address
postal_codeNoPostal/ZIP code
cityNoCity
birthdayNoBirthday
notesNoNotes
avatarNoAvatar image URL
groupsNoArray of group IDs to add the contact to

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must convey behavioral traits. It merely states the action without discussing side effects, authorization requirements, or validation behavior (e.g., what happens if no fields are provided).

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

Conciseness4/5

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

The description is a single sentence with no unnecessary words, achieving high conciseness. However, it lacks structure like bullet points or prioritized information.

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

Completeness2/5

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

Despite 12 optional parameters and no output schema, the description provides no information on return value, error handling, or constraints. It is insufficient for an agent to fully understand usage.

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

Parameters3/5

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

Schema coverage is 100%, so each parameter already has a description. The tool description adds no additional meaning, earning a baseline score of 3.

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

Purpose4/5

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

The description clearly states the verb 'Create' and the resource 'contact', making the tool's primary function obvious. However, it does not differentiate from sibling tools like create_group beyond the resource name.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. In a context with siblings like create_group or create_subaccount, the description provides no criteria for choosing this tool.

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

create_groupA

Create a new contact group

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesGroup name

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, and the description only says 'Create' without disclosing side effects, permissions, or error handling.

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

Conciseness5/5

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

Single sentence with no wasted words, perfectly concise.

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

Completeness3/5

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

Minimal but sufficient for a simple create tool with one parameter; missing details like return value or duplicate handling.

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

Parameters3/5

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

Schema covers the single parameter with description, and the description adds no extra meaning beyond that.

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

Purpose5/5

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

The description clearly states the action (create) and resource (contact group), distinguishing it from siblings like create_contact.

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

Usage Guidelines3/5

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

No guidance on when to use this tool versus alternatives, but for a simple creation tool this is minimally acceptable.

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

create_subaccountC

Create a new subaccount

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesFull first and last name of the account owner
emailYesEmail address of the account

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It fails to mention key traits such as whether the creation triggers notifications, requires authentication, or what happens if a duplicate name/email is used. This is insufficient for safe invocation.

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

Conciseness3/5

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

The description is a single sentence, making it concise, but it sacrifices necessary behavioral context. It is adequately front-loaded but incomplete, earning a middle score.

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

Completeness2/5

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

Given the lack of an output schema and annotations, the description should explain what the tool returns (e.g., success indicator, created subaccount ID) or any side effects. It does not, leaving the agent under-informed.

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

Parameters3/5

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

Schema coverage is 100%, and the parameter descriptions in the schema are already clear ('Full first and last name', 'Email address'). The tool description adds no additional meaning, so a baseline score of 3 is appropriate.

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

Purpose4/5

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

The description 'Create a new subaccount' clearly states the verb (create) and resource (subaccount), distinguishing it from sibling tools like create_contact or create_group. However, it does not elaborate on what a subaccount represents, which could cause ambiguity.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives (e.g., update_subaccount) or any prerequisites. The agent must infer context solely from the tool name.

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

create_webhookC

Register a new webhook

ParametersJSON Schema
NameRequiredDescriptionDefault
target_urlYesWebhook URL to receive events
event_typeYesEvent type to trigger webhook (e.g., sms.mo, dlr)
request_methodNoHTTP method for webhook requests
event_filterNoFilter events by phone number or other criteria
headersNoCustom HTTP headers to send with webhook requests. Multiple headers separated by line breaks

TDQS

C2.9/5.0
Behavior1/5

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

No annotations are present, so the description bears full responsibility for behavioral disclosure. It fails entirely, offering no information about side effects, authentication requirements, rate limits, or what happens after registration (e.g., immediate activation).

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

Conciseness4/5

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

The description is a single, concise sentence with no fluff. It is appropriately front-loaded and easy to read. However, it could be slightly more informative without losing brevity.

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

Completeness2/5

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

Given the lack of output schema and annotations, the description is incomplete. It does not explain what the tool returns (e.g., webhook ID), validation rules, or potential errors. For a tool with 5 parameters and no output documentation, more context is needed for an agent to use it correctly.

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

Parameters3/5

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

Schema coverage is 100% with each parameter well-described in the schema (e.g., target_url, event_type with enums). The description adds no additional meaning beyond the schema, which is acceptable per the baseline rule for high coverage. However, no extra clarification is provided.

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

Purpose5/5

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

The description 'Register a new webhook' clearly states the action (register/create) and the resource (webhook). It effectively distinguishes from sibling tools like delete_webhook, list_webhooks, and create_contact, making the tool's purpose immediately obvious.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives or prerequisites. There is no mention of conditions such as needing an active account or number, nor any when-not-to-use advice. The description lacks any usage context beyond the bare action.

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

delete_contactB

Delete a contact

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesContact ID to delete

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are present, so the description carries full burden for behavioral disclosure. It only states 'Delete a contact' without mentioning irreversibility, permissions, cascading effects, or what happens after deletion. For a mutation tool, this is inadequate.

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

Conciseness4/5

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

The description is a single sentence with no wasted words. It is appropriately sized for a simple tool, though it 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.

Completeness2/5

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

Given the low complexity (1 param, no output schema, no annotations), the description is too minimal. It lacks details on deletion behavior, error handling, or return value expectations, leaving the agent with insufficient context for safe invocation.

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

Parameters3/5

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

Schema description coverage is 100% with the single parameter 'id' already described as 'Contact ID to delete'. The description adds no extra meaning beyond the schema, so baseline score of 3 is appropriate.

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

Purpose5/5

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

The description 'Delete a contact' is a specific verb+resource pair that clearly states the action and target. It unambiguously distinguishes from sibling tools like create_contact, update_contact, list_contacts, etc.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives. There are many delete tools (delete_group, delete_subaccount, etc.) but no differentiation. No prerequisites or context are provided.

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

delete_groupC

Delete a contact group

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesGroup ID to delete
delete_contactsNoAlso delete all contacts in the group

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided. Description only says 'delete a contact group', without disclosing whether deletion is permanent, requires permissions, or what happens to group contacts by default. The parameter delete_contacts suggests non-destructive default, but this is not explicit.

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

Conciseness4/5

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

Single sentence, direct and front-loaded. Could include more context without becoming verbose.

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

Completeness2/5

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

No output schema. Description does not explain return value, nor default behavior when delete_contacts is false. For a tool with side effects, this is insufficient.

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

Parameters3/5

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

Schema coverage is 100%, with both parameters well-described in the schema. The description adds no additional meaning beyond the schema, so baseline of 3 is appropriate.

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

Purpose4/5

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

Description clearly states 'Delete a contact group', specifying verb and resource. However, it does not differentiate from sibling delete tools like delete_contact or delete_number, relying on the name alone.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., delete_contact), nor any context about prerequisites or side effects. The parameter delete_contacts hints at a choice but is not explained.

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

delete_numberB

Cancel/delete a phone number

ParametersJSON Schema
NameRequiredDescriptionDefault
numberYesPhone number to delete
delete_immediatelyNoDelete immediately instead of at end of billing period

TDQS

B3.3/5.0
Behavior2/5

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

Lacks annotation coverage and description does not disclose behavioral traits such as immediate vs deferred deletion, reversibility, or impact on other services. The parameter 'delete_immediately' hints at scheduling but is not explained.

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

Conciseness4/5

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

The description is very concise with one sentence, but lacks structure or front-loading of critical details. It is not overly verbose, so it earns a 4.

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

Completeness2/5

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

For a simple deletion tool, the description omits important context like what happens after deletion, whether the number must be inactive, and the response format. Incomplete relative to tool complexity.

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

Parameters3/5

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

Schema coverage is 100%, so parameter descriptions exist. The description adds no extra meaning beyond what the schema provides, meeting the baseline of 3.

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

Purpose5/5

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

The description clearly states the verb 'Cancel/delete' and resource 'phone number', distinguishing it from sibling tools that delete other resources like contacts or groups.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives, but the resource type makes it self-evident. No mention of prerequisites or scenarios to avoid.

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

delete_rcsB

Delete a scheduled RCS message

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesRCS message ID to delete

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided; description only states the action but does not disclose failure modes, authorization requirements, or effects on related data. For a destructive operation, more detail is needed.

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

Conciseness5/5

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

A single sentence that is concise and directly conveys the action without extraneous information.

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

Completeness3/5

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

Adequate for a simple delete operation with one parameter, but lacks details like error states or preconditions. Could be more complete given absence of annotations and output schema.

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

Parameters3/5

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

Schema coverage is 100% and the parameter 'id' is described as 'RCS message ID to delete'. The description adds no extra meaning beyond the schema.

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

Purpose5/5

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

Description clearly states the action (Delete) and resource (scheduled RCS message), distinguishing it from siblings like delete_sms which deletes SMS messages.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, no prerequisites or when-not scenarios. It does not indicate that the message must be scheduled and not yet sent.

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

delete_smsA

Delete scheduled SMS message(s)

ParametersJSON Schema
NameRequiredDescriptionDefault
idsYesSMS message ID(s) to delete

TDQS

A3.6/5.0
Behavior2/5

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

No annotations are provided, and the description only states 'Delete scheduled SMS message(s)' without disclosing behavioral traits like destructiveness, reversibility, or effects on sent messages.

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

Conciseness5/5

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

Extremely concise with a single short sentence that is front-loaded and contains no unnecessary words.

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

Completeness4/5

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

Given the tool's simplicity (one parameter, no output schema), the description is adequately complete for basic understanding, but lacks details on edge cases or return behavior.

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

Parameters4/5

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

Schema coverage is 100%, and the description adds context by specifying 'scheduled' messages, though it closely mirrors the schema's parameter description.

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

Purpose5/5

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

The description clearly states the action (delete) and the resource (scheduled SMS messages), distinguishing it from sibling tools like delete_contact or delete_group.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, such as delete_rcs or other delete operations. No context on prerequisites or exclusions.

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

delete_subaccountB

Delete a subaccount

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSubaccount ID to delete

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden. It implies a destructive action but does not state irreversibility, side effects, or permissions needed.

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

Conciseness4/5

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

Single sentence, no wasted words. Efficient but could be slightly expanded with key details without harming conciseness.

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

Completeness3/5

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

For a simple delete operation with one parameter and no output schema, the description is minimally adequate. However, missing context about consequences or prerequisites limits completeness.

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

Parameters3/5

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

Schema description coverage is 100% (single parameter 'id' described as 'Subaccount ID to delete'). The description adds no value beyond the schema, so baseline 3 applies.

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

Purpose5/5

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

The description 'Delete a subaccount' clearly states the action (delete) and the resource (subaccount), which distinguishes it from sibling tools like delete_contact or delete_group.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as deactivating or archiving subaccounts. No when/when-not or equivalent alternatives are mentioned.

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

delete_webhookD

Delete a webhook

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesWebhook ID to delete

TDQS

D1.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden for behavioral disclosure. It fails to state that deletion is destructive and irreversible, nor does it mention any permissions or consequences. The word 'delete' implies mutability but lacks necessary cautionary context.

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

Conciseness2/5

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

While extremely concise at three words, this under-specification sacrifices completeness. A good description should convey essential behavioral context without being overly verbose.

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

Completeness2/5

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

Given the tool's simplicity and lack of output schema, the description should at minimum clarify that deletion is permanent and the webhook will no longer function. It fails to provide this context, leaving the agent uninformed about consequences.

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

Parameters3/5

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

Schema description coverage is 100% with the parameter 'id' well-described as 'Webhook ID to delete'. The description adds no additional parameter semantics beyond what the schema already provides, so baseline score of 3 is appropriate.

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

Purpose1/5

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

The description 'Delete a webhook' is a tautology that merely restates the tool name without adding any specificity. It does not distinguish this tool from other delete operations like delete_contact or delete_group.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives like create_webhook or list_webhooks. There is no mention of prerequisites, side effects, or scenarios where deletion is inappropriate.

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

get_active_numbersC

List all active phone numbers

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden. It only states a read operation, but lacks disclosure about pagination, authentication requirements, or whether 'active' has a specific definition. Additional behavioral context would be helpful.

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

Conciseness5/5

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

The description is extremely concise (5 words) and front-loaded with the key action. Every word is necessary; no superfluous content.

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

Completeness2/5

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

Given the simplicity (no parameters, no output schema), the description is adequate but leaves gaps: it does not specify scope (e.g., user-level or account-wide), return format, or what 'active' means. More context would improve completeness.

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

Parameters3/5

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

Schema description coverage is 100% (no parameters). The description adds no value beyond the schema, so the baseline of 3 is appropriate.

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

Purpose4/5

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

The description 'List all active phone numbers' clearly states the verb (list) and resource (active phone numbers), but does not distinguish it from sibling tools like get_available_numbers or get_number, which have similar purposes.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool vs alternatives such as get_available_numbers (for available numbers) or get_number (for a single number). The description gives no contextual cues for decision-making.

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

get_analyticsC

Get account statistics and analytics

ParametersJSON Schema
NameRequiredDescriptionDefault
startNoStart date (YYYY-MM-DD)
endNoEnd date (YYYY-MM-DD)
subaccountsNoSubaccount filter: "only_main" for main account only, "all" for all accounts, or specific subaccount ID (integer)
group_byNoGroup analytics by (country, date, label, subaccount)
labelNoFilter by label

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, and the description does not disclose behavioral traits like read-only nature, data freshness, or rate limits. The tool is likely read-only, but this is not stated.

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

Conciseness4/5

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

The description is a single clear sentence, front-loading the purpose. It is concise but could include a brief usage example or note on required parameters.

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

Completeness2/5

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

With 5 parameters, no output schema, and no annotations, the description is insufficient. Missing details like what analytics are returned, common use cases, or parameter interdependencies.

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

Parameters3/5

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

All 5 parameters have descriptions in the schema, providing good coverage. The tool description adds minimal value beyond the schema, such as hinting at analytics focus. Baseline score of 3 applies.

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

Purpose4/5

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

The description clearly states the tool retrieves account statistics and analytics, distinguishing it from other 'get' tools like get_balance or get_contact. However, it does not specify the scope or type of analytics, which could be improved.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives such as get_balance (financial stats) or list_subaccounts (account listing). The description lacks context for decision-making.

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

get_available_numbersB

List available phone numbers for purchase

ParametersJSON Schema
NameRequiredDescriptionDefault
countryNoCountry code to filter available numbers
typeNoNumber type (e.g., mobile, landline)
features_smsNoFilter numbers supporting SMS
features_a2p_smsNoFilter numbers supporting A2P SMS
features_voiceNoFilter numbers supporting voice calls

TDQS

B3.1/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. It only states 'list', implying a read operation, but does not discuss side effects, authentication needs, rate limits, or any behavioral nuances. It adds minimal value beyond the tool name.

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

Conciseness4/5

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

A single short sentence that is to the point and not wasteful. However, it could be slightly more structured or include additional context without becoming verbose.

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

Completeness2/5

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

With 5 optional parameters, no output schema, and many sibling tools, the description is too minimal. It fails to mention pagination, response format, or any filtering behavior, leaving the agent underinformed.

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

Parameters3/5

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

Schema description coverage is 100% with each parameter explained (country, type, features). The description adds no extra meaning beyond the schema, meeting the baseline for high coverage.

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

Purpose5/5

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

The description 'List available phone numbers for purchase' clearly states the action (list) and resource (available phone numbers for purchase). It distinguishes from siblings like get_active_numbers (lists already purchased numbers) and get_number (single number detail).

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

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives such as get_active_numbers or order_number. It does not specify that this is for numbers available to buy, nor does it 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.

get_balanceB

Check account balance

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

Without annotations, the description must disclose behavioral traits. It only says 'Check account balance' with no details on read-only nature, permissions, 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.

Conciseness5/5

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

The description is a single sentence, perfectly concise with no unnecessary words.

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

Completeness3/5

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

Given zero parameters and no output schema, the description is minimal. It lacks context about what account, currency, or possible error states, making it only partially complete.

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

Parameters4/5

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

The tool has no parameters, and schema coverage is 100%. The description adds no parameter info, but 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.

Purpose4/5

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

The description 'Check account balance' clearly states the tool's action and resource. It is specific enough to distinguish from sibling tools, though it could add scope like 'of the authenticated user'.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. Sibling tools like get_pricing or get_status could be related but no comparisons are made.

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

get_contactB

Get a specific contact by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesContact ID

TDQS

B3.3/5.0
Behavior2/5

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

No annotations provided, so description must disclose behavior. It implies a read operation but lacks details on error handling (e.g., if ID not found), response format, or authentication needs.

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

Conciseness5/5

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

Single sentence, efficient, and front-loaded with clear verb and resource. No unnecessary text.

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

Completeness3/5

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

For a simple get by ID tool, the description is adequate but lacks information about return values or error states, especially since no output schema is provided.

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

Parameters3/5

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

Schema coverage is 100% with the id parameter described as 'Contact ID'. Description adds no extra meaning beyond schema, so baseline 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action (get), the resource (contact), and the method (by ID), distinguishing it from siblings like list_contacts (multiple) and 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.

Usage Guidelines2/5

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

No guidance on when to use this tool vs alternatives (e.g., list_contacts for multiple). No prerequisites 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_groupB

Get a specific group by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesGroup ID

TDQS

B3.4/5.0
Behavior2/5

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

No annotations provided; description only says 'Get' implying read-only, but does not disclose error handling, permissions, or behavior for missing IDs.

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

Conciseness5/5

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

Single sentence efficiently conveys the purpose without extra words.

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

Completeness4/5

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

For a simple get-by-ID tool with one parameter, no nested objects, or output schema, the description is minimally but sufficiently complete.

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

Parameters3/5

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

Schema coverage is 100% (one parameter described as 'Group ID'). The description adds no new meaning beyond the schema, so baseline 3 applies.

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

Purpose5/5

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

Clearly states 'Get a specific group by ID', indicating the action (get) and resource (group). The mention of ID distinguishes it from list_groups.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like list_groups. Does not mention prerequisites or context.

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

get_logbook_receivedC

View received SMS messages

ParametersJSON Schema
NameRequiredDescriptionDefault
date_fromNoStart date (YYYY-MM-DD)
date_toNoEnd date (YYYY-MM-DD)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations provided, so description must carry behavioral burden. 'View' implies read-only, but no details on pagination, limits, or response format. Minimal disclosure beyond basic nature.

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

Conciseness4/5

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

Extremely concise at 4 words. However, it is under-specified; while not verbose, it sacrifices completeness for brevity. Still, it is well-structured and front-loaded.

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

Completeness2/5

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

With a simple schema (2 optional params) and no output schema, description should provide more context. Missing details about output, filtering scope, and any default behavior. Incomplete for safe agent invocation.

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

Parameters3/5

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

Schema description coverage is 100% (both parameters have descriptions in schema). Description adds no extra meaning beyond schema, so baseline score of 3 is appropriate.

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

Purpose4/5

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

Description clearly states 'View received SMS messages', using specific verb and resource. Differentiates from siblings like get_logbook_sent (sent) and get_logbook_voice (voice). Could be slightly more detailed but effectively conveys core function.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives. Does not mention optional date filtering or that it is a read operation. Lacks context for selection among sibling log tools.

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

get_logbook_sentC

View sent messages in logbook

ParametersJSON Schema
NameRequiredDescriptionDefault
date_fromNoStart date (YYYY-MM-DD)
date_toNoEnd date (YYYY-MM-DD)
stateNoFilter by message state
limitNoMaximum number of entries to return

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must disclose behaviors. It only states 'View,' implying read-only, but lacks details on pagination, ordering, or other traits.

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

Conciseness5/5

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

A single, concise sentence with no extraneous information. Every word is necessary.

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

Completeness2/5

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

For a tool with 4 optional parameters and no output schema, the description lacks completeness: it omits default behavior, result format, date range semantics, and limit handling.

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

Parameters3/5

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

Schema description coverage is 100%, so parameters are well-documented structurally. The description adds no further semantic context beyond what the schema provides.

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

Purpose4/5

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

The description clearly states the action (View) and target (sent messages in logbook), but does not differentiate from sibling tools like get_logbook_received and get_logbook_voice.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives; no mention of context or exclusions.

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

get_logbook_voiceC

View voice call history

ParametersJSON Schema
NameRequiredDescriptionDefault
date_fromNoStart date (YYYY-MM-DD)
date_toNoEnd date (YYYY-MM-DD)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, and the description lacks details about behavioral traits such as pagination, sorting, cost implications, permissions, or what the response looks like. The minimal description does not compensate for missing annotations.

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

Conciseness4/5

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

The description is a single, very concise sentence with no wasted words. However, it is too short to convey necessary information, so it's not ideal but still efficient.

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

Completeness2/5

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

With no output schema, the description should explain return format or behavior when parameters are omitted. It does not, leaving significant gaps in understanding the tool's use and results.

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

Parameters3/5

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

Schema description coverage is 100% with both date parameters having clear format descriptions. The tool description adds no further insight beyond the schema, meeting the baseline for high coverage.

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

Purpose4/5

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

The description clearly states 'View voice call history', specifying the action (view) and resource (voice call history). It implicitly distinguishes from sibling tools like get_logbook_sent and get_logbook_received, which are for SMS logs.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. While sibling tool names imply distinction, the description itself offers no context about when to choose this over other logbook tools.

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

get_numberA

Get details of a specific active phone number

ParametersJSON Schema
NameRequiredDescriptionDefault
numberYesPhone number to retrieve

TDQS

A3.5/5.0
Behavior2/5

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

No annotations exist, so the description bears full burden. It only states 'Get details' without disclosing behaviors like read-only operation, authentication needs, or what happens if the number is inactive. For a retrieval tool, more transparency is expected (e.g., latest response format, error states).

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

Conciseness5/5

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

A single, terse sentence with zero unnecessary words. It efficiently conveys the tool's purpose without redundancy or overload.

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

Completeness3/5

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

The tool is simple (1 param, no output schema), but the description does not specify what 'details' are returned, which could confuse an agent. Since there is no output schema, more information would enhance completeness. However, for a basic retrieval, it is minimally viable.

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

Parameters3/5

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

Schema description coverage is 100% for the one parameter, and the description adds no additional meaning beyond the schema's 'Phone number to retrieve'. According to the rule, baseline is 3 when coverage is high, so this is adequate.

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

Purpose5/5

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

The description 'Get details of a specific active phone number' clearly specifies a verb ('Get'), resource ('phone number details'), and scope ('specific active'), distinguishing it from siblings like get_active_numbers which lists numbers. No ambiguity.

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

Usage Guidelines3/5

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

The description implies use for retrieving details of one number, but provides no explicit guidance on when to use versus alternatives (e.g., get_active_numbers for listing, get_contact for contacts). The sibling names provide context, but the description itself lacks explicit when-to-use or when-not-to-use instructions.

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

get_pricingC

Get pricing information for SMS, voice, and other services

ParametersJSON Schema
NameRequiredDescriptionDefault
countryNoCountry code (ISO 3166-1 alpha-2) to get specific pricing
formatNoResponse format

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are present, so the description carries full burden for behavioral disclosure. It only states 'Get pricing information' implying a read operation, but does not mention authentication needs, rate limits, default behavior (e.g., when no country is specified), or response structure. This is insufficient for full transparency.

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

Conciseness5/5

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

The description is a single sentence of 10 words, directly stating the tool's purpose with no redundancy. It is efficiently front-loaded and earns its place.

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

Completeness2/5

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

Given the absence of an output schema and annotations, the description should provide more context about what the pricing information includes, how it is structured, and defaults. It falls short by not explaining output format or behavior when parameters are omitted, leaving the agent with an incomplete picture.

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

Parameters3/5

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

Schema coverage is 100% as both parameters have descriptions in the input schema. The description adds no additional meaning beyond what is already in the schema, e.g., no clarification on the effect of omitting the country parameter. Baseline score of 3 applies.

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

Purpose4/5

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

The description clearly identifies the verb 'Get' and the resource 'pricing information' for SMS, voice, and other services. It distinguishes from sibling tools like get_balance or get_analytics, though 'other services' is vague. Overall, the purpose is clear but not maximally specific.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives. The description does not mention when not to use it, prerequisites, or context for choosing this tool over similar ones like get_balance or lookup services. The agent is left to infer the use case without support.

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

get_statusB

Get detailed information about a sent message using its ID

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesMessage ID to retrieve details

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations, the description only vaguely mentions 'detailed information' without specifying type, scope, or side effects. Missing behavioral traits like read-only nature 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.

Conciseness5/5

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

Single sentence, efficient and front-loaded with key action and resource, no superfluous text.

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

Completeness2/5

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

Lacks output schema and details on return format; minimal description leaves significant gaps for agent understanding of what 'detailed information' entails.

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

Parameters3/5

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

Schema covers the single parameter fully; description merely restates using ID, adding no new semantic insight beyond the schema.

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

Purpose5/5

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

Description clearly states the tool retrieves detailed information about a sent message using its ID, distinguishing it from other get_* tools targeting different resources.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, such as other status or retrieval tools. The description lacks context for suitable scenarios.

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

hangup_voiceC

End an active voice call

ParametersJSON Schema
NameRequiredDescriptionDefault
call_idYesVoice call ID to hangup

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden but only states the action. It does not disclose behavior like what happens if the call is already ended, required permissions, or side effects. This is insufficient for a mutation tool.

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

Conciseness5/5

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

The description is a single, concise sentence with no wasted words. It is well structured and front-loaded.

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

Completeness2/5

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

Given the tool's simplicity (1 param, no output schema), the description is too minimal. It does not explain return values, error states, or usage preconditions, which are essential for an agent to correctly invoke the tool.

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

Parameters3/5

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

Schema description coverage is 100%, so the description has no additional value over the schema. Baseline 3 is appropriate; no extra context is provided for the call_id parameter beyond its schema documentation.

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

Purpose4/5

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

The description 'End an active voice call' uses a specific verb and resource, clearly distinguishing it from sibling tools like send_voice (start) or get_logbook_voice (logs). It could be slightly more precise by mentioning the call_id context, but it is effective.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives or any prerequisites (e.g., call must be active). The agent must infer usage from context, which is minimal.

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

list_contactsA

List all contacts

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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

No annotations are present, so the description bears full responsibility for behavioral disclosure. It fails to mention any traits such as pagination, rate limits, ordering, or whether the list includes all contact details or just summaries. The description is too brief to ensure informed usage.

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

Conciseness4/5

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

The description is extremely concise at two words. It front-loads the core action without waste. However, it sacrifices necessary detail for brevity, so it does not perfectly earn its place given the lack of behavioral and usage context.

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

Completeness2/5

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

Given no parameters, no output schema, and no annotations, the description is insufficient for complete understanding. It omits crucial context like pagination, return format, or whether the list is limited to the current account. A more complete description would clarify these aspects.

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

Parameters4/5

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

There are zero parameters and schema description coverage is 100%. Per guidelines, 0 parameters yields a baseline of 4. The description adds no parameter info, but none is needed since there are none.

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

Purpose5/5

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

The description 'List all contacts' uses a specific verb ('list') and resource ('contacts'), clearly distinguishing it from sibling tools like 'get_contact' (singular) and 'create_contact'. It states the exact scope (all contacts) without ambiguity.

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

Usage Guidelines3/5

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

No guidance on when to use this tool versus alternatives is provided. While the zero-parameter nature makes it straightforward, there is no mention of filtering, sorting, or when one might prefer a different tool (e.g., searching). Usage is implied but not explicitly guided.

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

list_groupsB

List all contact groups

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

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

No annotations provided, and description only states the basic action. Does not disclose that this is a read-only operation, whether results are paginated, or behavior when no groups exist.

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

Conciseness5/5

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

Single sentence, front-loaded with verb and resource, no unnecessary words.

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

Completeness3/5

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

Simple tool with no parameters, but description does not explain what information is returned (e.g., group names, IDs). Adequate for a basic list operation but incomplete without output schema.

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

Parameters4/5

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

No parameters (schema coverage 100% empty), baseline score of 4 applies. Description adds no parameter info because none exist.

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

Purpose4/5

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

Description states verb 'List' and resource 'all contact groups', making purpose clear. However, it does not distinguish from sibling tool 'get_group' which likely retrieves a single group.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like get_group or list_contacts. Agent must infer from name alone.

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

list_subaccountsB

List all subaccounts

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.4/5.0
Behavior2/5

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

No annotations are provided, and the description does not disclose behavioral traits such as read-only nature, performance implications, or authentication requirements. The burden is on the description to compensate for missing annotations.

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

Conciseness5/5

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

Description is three words and perfectly concise with no wasted content.

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

Completeness5/5

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

For a simple list tool with no parameters and no output schema, the description is complete. It tells exactly what the tool does.

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

Parameters4/5

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

Input schema has no parameters, and schema coverage is 100%. Baseline for 0 parameters is 4. The description does not need to add parameter meaning.

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

Purpose4/5

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

Description clearly states 'List all subaccounts' with a specific verb and resource. It distinguishes itself from sibling tools like list_contacts by naming a different entity.

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

Usage Guidelines2/5

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

No guidance on when or when not to use this tool versus alternatives. For example, there is no suggestion that if you need a single subaccount, you might use a different tool (though get_subaccount is not listed).

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

list_webhooksB

List all registered webhooks

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3/5.0
Behavior2/5

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

No annotations are provided, so the description carries full burden for behavioral disclosure. It only says 'List all registered webhooks' without mentioning whether it is read-only, requires authentication, or how results are returned. Important behavioral aspects are omitted.

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

Conciseness4/5

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

The description is very concise at one sentence, which is appropriate for a simple tool. It is front-loaded with the verb and resource, but could be slightly more informative without becoming verbose.

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

Completeness2/5

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

Given the absence of annotations and output schema, the description should provide more context about the output format, pagination, or side effects. It only gives the basic purpose, leaving the agent without enough information to fully understand the tool's behavior.

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

Parameters4/5

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

The tool has no parameters and the schema coverage is trivially 100%. For zero-parameter tools, baseline is 4. The description adds no additional semantic meaning beyond what the schema implies, but that is acceptable due to the lack of parameters.

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

Purpose4/5

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

The description clearly states the action (list) and resource (webhooks), making it easy to understand what the tool does. However, it does not specify the scope (e.g., account-level) or differentiate from other list tools, which is acceptable given the unique resource.

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

Usage Guidelines2/5

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

There is no guidance on when to use this tool versus alternatives like list_contacts or list_groups. The description simply states the function without any context about prerequisites, typical use cases, or situations to avoid.

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

lookup_cnamC

Perform Caller ID name lookup

ParametersJSON Schema
NameRequiredDescriptionDefault
numberYesPhone number for CNAM lookup

TDQS

C2.8/5.0
Behavior2/5

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

With no annotations, description carries full burden. It only states the action but discloses no behavioral traits—whether it makes external calls, rate limits, idempotency, 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.

Conciseness3/5

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

Description is a single sentence with no waste, but it is under-specified for a tool with no annotations or output schema. Conciseness is acceptable but at the cost of completeness.

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

Completeness2/5

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

Given no output schema and no annotations, the description should provide hints about return values or error conditions. It only states the action, leaving agents guessing about results.

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

Parameters3/5

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

Schema covers 100% of parameters and the description adds no extra meaning beyond 'Phone number for CNAM lookup'. Baseline 3 applies as schema is sufficient.

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

Purpose4/5

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

Description 'Perform Caller ID name lookup' clearly states verb and resource, and implicitly distinguishes from sibling lookup tools like lookup_hlr or lookup_mnp by specifying 'Caller ID name'. However, it does not explicitly differentiate usage.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., lookup_hlr, lookup_format). 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.

lookup_formatB

Validate phone number format

ParametersJSON Schema
NameRequiredDescriptionDefault
numberYesPhone number to validate

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description must disclose behavior but only states the action. It omits crucial details such as response format (boolean vs error), side effects, rate limits, or validation criteria, leaving the agent uninformed.

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

Conciseness4/5

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

The description is extremely concise with a single phrase, front-loading the core action. However, it sacrifices completeness for brevity, which is acceptable given the tool's simplicity but not ideal.

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

Completeness2/5

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

Given no output schema or annotations, the description is insufficient for effective use. It does not explain return values, error handling, or validation behavior, leaving gaps despite the simple input.

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

Parameters3/5

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

Schema description coverage is 100% (the 'number' parameter is described). The description adds no extra meaning beyond 'phone number' already in the schema, so it meets baseline but does not enhance understanding.

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

Purpose5/5

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

The description 'Validate phone number format' clearly states the tool's purpose with a specific verb and resource. It distinguishes itself from sibling lookups like lookup_cnam, lookup_hlr, lookup_mnp, and lookup_rcs, which have different focuses.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, nor any exclusions or prerequisites. The agent receives no context for decision-making.

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

lookup_hlrB

Perform Home Location Register lookup (network info, roaming status)

ParametersJSON Schema
NameRequiredDescriptionDefault
numberYesPhone number for HLR lookup

TDQS

B3/5.0
Behavior1/5

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

No annotations are provided, and the description offers no behavioral details beyond the purpose. It does not disclose side effects, rate limits, authorization requirements, or response structure, leaving the agent uninformed about operational implications.

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

Conciseness4/5

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

The description is brief and front-loaded, stating the core purpose in one sentence. However, it could be more concise by omitting the parenthetical, but the current form is efficient for a simple tool.

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

Completeness3/5

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

Given the single parameter and lack of output schema, the description provides minimal but adequate context for a basic lookup. It could be improved by hinting at the return format or any prerequisites, but as is, it meets a minimum viable level.

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

Parameters3/5

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

Schema coverage is 100%, so the description adds no extra meaning beyond the 'number' parameter already documented. The baseline score of 3 is appropriate.

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

Purpose5/5

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

The description clearly states the action (HLR lookup) and the subject (network info, roaming status). It distinguishes from sibling lookup tools like lookup_cnam, lookup_format, lookup_mnp by specifying a different resource (Home Location Register) and type of information returned.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives, such as when network vs. caller name info is needed. The description does not include any context for selection or exclusions.

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

lookup_mnpC

Perform Mobile Number Portability lookup (carrier information)

ParametersJSON Schema
NameRequiredDescriptionDefault
numberYesPhone number for MNP lookup

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits, but it only states the purpose. It does not mention whether the lookup is cost-free, any rate limits, data recency, or response structure.

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

Conciseness5/5

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

The description is a single, direct sentence with no unnecessary words. It is well-structured and efficient.

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

Completeness2/5

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

Despite the tool's simplicity, the description is too brief given the presence of sibling lookup tools. It lacks information on what the lookup returns, any prerequisites, or limitations, leaving the agent without enough context to use it effectively.

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

Parameters3/5

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

Schema description coverage is 100% for the single parameter. The description adds 'carrier information' which is already implied by 'Mobile Number Portability lookup', providing marginal additional meaning beyond the schema.

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

Purpose4/5

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

The description clearly states it performs a Mobile Number Portability lookup for carrier information. However, it does not differentiate from sibling lookup tools like lookup_hlr or lookup_cnam, which could also provide carrier-related data.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus other lookups (e.g., lookup_hlr for detailed network info). The description lacks usage context or alternative suggestions.

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

lookup_rcsB

Check RCS capabilities for a phone number

ParametersJSON Schema
NameRequiredDescriptionDefault
numberYesPhone number to check RCS capabilities

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It only says 'check RCS capabilities', which implies a read-only operation, but it does not disclose what capabilities are checked, error conditions, rate limits, or the response format. This is insufficient for an agent to understand the tool's behavior.

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

Conciseness4/5

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

The description is a single, short sentence that is front-loaded and efficient. However, it may be too concise, omitting important details that would improve usability. It earns its place but could be expanded slightly.

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

Completeness3/5

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

Given the simplicity of the tool (single required parameter, no output schema), the description is minimally adequate. However, it lacks context about what RCS capabilities entail, expected return values, and error handling. More detail would improve completeness.

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

Parameters3/5

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

The input schema has 100% coverage with the parameter 'number' described as 'Phone number to check RCS capabilities'. The description repeats this information without adding new meaning or constraints beyond what the schema already provides. Since coverage is high, baseline is 3, but no additional value is added.

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

Purpose5/5

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

The description 'Check RCS capabilities for a phone number' clearly states the action (check) and the resource (RCS capabilities for a specific number). It distinguishes itself from sibling lookup tools like lookup_cnam, lookup_format, lookup_hlr, and lookup_mnp, which serve different purposes.

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

Usage Guidelines2/5

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

The description does not provide any guidance on when to use this tool versus its siblings or alternatives. There is no mention of context, prerequisites, or conditions that would help an agent decide to invoke lookup_rcs instead of other lookup tools.

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

order_numberC

Purchase a phone number

ParametersJSON Schema
NameRequiredDescriptionDefault
numberYesPhone number to purchase
payment_intervalNoPayment interval for the number (default: annually)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It only states 'Purchase a phone number' without disclosing effects on balance, required permissions, error conditions, or what happens if the number is already owned. This is insufficient for an AI agent to understand side effects.

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

Conciseness4/5

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

The description is a single sentence with no wasted words. It is front-loaded and concise. However, it could be slightly expanded to include critical context without losing conciseness.

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

Completeness2/5

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

Given the tool has 2 parameters, no output schema, and no annotations, the description is incomplete. It fails to mention return values, error handling, or how it integrates with sibling tools like 'get_available_numbers' and 'get_active_numbers'. Essential context is missing.

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

Parameters3/5

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

Schema description coverage is 100%, so the schema already documents both parameters. The description adds no additional meaning beyond the schema; it does not explain how the parameters relate to the purchase action. Baseline score of 3 is appropriate.

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

Purpose4/5

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

The description 'Purchase a phone number' clearly states the action (purchase) and resource (phone number). It distinguishes from sibling tools like 'get_number', 'update_number', and 'delete_number' by indicating ownership acquisition. However, it lacks specificity about the ordering process or outcome.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'get_available_numbers' or 'get_active_numbers'. The description does not mention prerequisites or related tools, leaving the agent without context for proper selection.

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

rcs_eventsC

Handle RCS events (delivery reports, read receipts, IS_TYPING, etc.)

ParametersJSON Schema
NameRequiredDescriptionDefault
event_typeYesEvent type (IS_TYPING, READ, DELIVERED, etc.)
phoneNoPhone number (for IS_TYPING events)
toNoRecipient phone number
message_idNoMessage ID (for READ events)
msg_idNoMessage ID (alternative)

TDQS

C2.5/5.0
Behavior2/5

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

No annotations are provided, so the description must bear the full burden. It fails to explain what 'Handle' means operationally—e.g., whether it sends events, registers callbacks, or modifies state. Side effects and requirements are undisclosed.

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

Conciseness3/5

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

The description is a single sentence, which is concise but at the expense of clarity. It sacrifices useful details for brevity, making it insufficiently informative.

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

Completeness2/5

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

Given the lack of output schema and annotations, and the tool's complexity (multiple parameter interactions for different event types), the description is incomplete. It does not cover return values, error behavior, or usage patterns for each event type.

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

Parameters3/5

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

Schema coverage is 100% with brief descriptions for each parameter. The tool description adds marginal value by grouping event types but does not explain relationships between parameters (e.g., why 'phone' and 'to' both exist). Redundancy (message_id/msg_id) is not clarified.

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

Purpose3/5

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

The description lists specific event types (delivery reports, read receipts, IS_TYPING), indicating it deals with RCS events. However, the verb 'Handle' is vague; it does not clarify whether this tool sends or receives these events, leaving ambiguity.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives like 'send_rcs' or 'delete_rcs'. The description does not specify context or prerequisites, leaving the agent without help in choosing this tool.

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

send_rcsC

Send an RCS (Rich Communication Services) message

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesRecipient phone number
textNoMessage text content
mediaNoURL to media file (image, video, etc.)
suggestionsNoQuick reply suggestions
orientationNoMedia orientation
fromNoSender identifier
foreign_idNoCustom ID for tracking
delayNoDelayed sending timestamp (Unix timestamp or ISO 8601)
ttlNoTime to live in minutes
labelNoCustom label for the message
performance_trackingNoEnable performance tracking

TDQS

C2.9/5.0
Behavior2/5

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

No annotations exist, and the description does not disclose any behavioral traits such as carrier dependency, fallback behavior, or rate limits. It only says 'send an RCS message' without further context.

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

Conciseness4/5

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

The description is a single sentence, efficient and to the point, but it could incorporate more useful information without becoming verbose.

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

Completeness2/5

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

Given the tool's 11 parameters and lack of output schema/annotations, the description is too sparse. It fails to explain the interplay between parameters like media and orientation, or any sending constraints.

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

Parameters3/5

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

Schema coverage is 100%, so parameters are well-described in the schema. The description adds no additional semantic information beyond what the schema provides, which is acceptable but not enhanced.

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

Purpose4/5

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

The description clearly states the action (send) and the resource (RCS message), distinguishing it from siblings like send_sms and send_voice. However, it lacks details on what RCS enables over SMS, which could be more explicit.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives such as send_sms or send_voice. There are no usage conditions, prerequisites, or exclusions mentioned.

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

send_smsC

Send an SMS message to one or multiple recipients

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesRecipient phone number(s)
textYesSMS message text
fromNoSender ID (alphanumeric or phone number)
delayNoDelayed sending timestamp (Unix timestamp or ISO 8601)
debugNoEnable debug mode (no actual sending)
flashNoSend as flash SMS
no_reloadNoDisable automatic reloading of phone numbers
unicodeNoEnable unicode mode
utf8NoEnable UTF-8 encoding
detailsNoReturn detailed response
return_msg_idNoReturn message ID
performance_trackingNoEnable performance tracking
labelNoCustom label for the message
foreign_idNoCustom ID for tracking
ttlNoTime to live in minutes
udhNoUser Data Header for binary SMS
is_binaryNoSend as binary SMS
filesNoFile attachments for SMS

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of disclosing side effects. 'Send' implies a mutating operation, but there is no mention of costs, delivery guarantees, idempotency, or potential failures. This leaves agents uncertain about consequences.

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

Conciseness4/5

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

The description is a single, clear sentence with no unnecessary words. It is front-loaded with the core action. However, it sacrifices useful detail for brevity, slightly lowering the score from a perfect 5.

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

Completeness2/5

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

Given the high number of parameters (18) and lack of output schema or annotations, the description is too minimal. It fails to explain essential behavioral traits (e.g., how 'to' handles multiple numbers, what 'debug' does, rate limits). More context is needed for safe and effective use.

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

Parameters3/5

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

All 18 parameters have descriptions in the input schema, providing solid coverage. However, the tool description adds no extra context beyond the schema. A 3 is appropriate when schema descriptions are comprehensive but the description doesn't enhance understanding.

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

Purpose4/5

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

The description clearly states the action ('Send') and resource ('SMS message'), and hints at multiple recipients. This differentiates from sibling tools like send_rcs and send_voice, but could be more explicit about additional capabilities like scheduling or binary messages.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives, no prerequisites (e.g., balance, sender validation), and no notes on constraints like rate limits. Agents must infer from the parameter schema alone.

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

send_voiceB

Send a voice call with text-to-speech

ParametersJSON Schema
NameRequiredDescriptionDefault
toYesRecipient phone number(s)
textYesText to be converted to speech
fromNoCaller ID
xmlNoUse XML for advanced voice features
debugNoEnable debug mode
ringtimeNoRing time in seconds before timeout
foreign_idNoCustom ID for tracking

TDQS

B3.1/5.0
Behavior2/5

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

With no annotations, the description carries full burden. It only states basic action, omitting details like async behavior, call failure handling, cost implications, or 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.

Conciseness4/5

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

Single sentence is efficient and front-loaded. Slightly sparse but acceptable for high coverage schema. Could add a second sentence without harming conciseness.

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

Completeness2/5

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

Given 7 parameters and no output schema, the description is incomplete. Lacks details on return values, error scenarios, or behavioral nuances for a voice call tool.

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

Parameters3/5

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

Schema coverage is 100% with parameter descriptions. The description adds no extra meaning beyond the schema, earning baseline 3.

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

Purpose5/5

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

The description 'Send a voice call with text-to-speech' clearly identifies the tool's action (send), resource (voice call), and specific modality (text-to-speech). It distinguishes well from siblings like send_sms or send_rcs.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., send_sms, hangup_voice). The description lacks context for appropriate usage or exclusions.

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

transfer_creditsB

Manually transfer credits to a subaccount

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSubaccount ID
amountYesAmount of credits to transfer

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are present, and the description says 'Manually transfer' but does not disclose behavioral traits like mutability, required permissions, potential side effects, or failure modes.

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

Conciseness4/5

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

The description is a single, concise sentence that is front-loaded with the key action and resource, but it could benefit from slightly more elaboration on usage.

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

Completeness2/5

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

With no output schema or annotations, and only two required parameters, the description lacks completeness about expected behavior, such as whether the operation is idempotent or what happens on insufficient balance.

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

Parameters3/5

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

Schema coverage is 100%, and descriptions for both parameters ('Subaccount ID', 'Amount of credits to transfer') are clear. The description adds no extra meaning beyond the schema.

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

Purpose5/5

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

The description clearly states a specific verb 'transfer' and resource 'credits to a subaccount', distinguishing it from all sibling tools which deal with contacts, groups, numbers, etc.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool vs alternatives, nor any conditions or prerequisites for transferring credits.

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

update_contactA

Update a contact. To add/remove contact from groups, provide the complete list of group IDs the contact should be a member of.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesContact ID to update
firstnameNoFirst name
lastnameNoLast name
mobile_numberNoMobile phone number
home_numberNoHome phone number
emailNoEmail address
addressNoStreet address
postal_codeNoPostal/ZIP code
cityNoCity
birthdayNoBirthday
notesNoNotes
avatarNoAvatar image URL
groupsNoComplete array of group IDs the contact should be a member of (replaces existing groups)

TDQS

A3.5/5.0
Behavior3/5

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

The description discloses the important behavioral trait that providing groups replaces the existing groups list. No annotations exist, so the description carries the burden. However, it does not mention whether other fields are partially updated or completely replaced, nor does it discuss authorization 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.

Conciseness5/5

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

The description is two sentences: the first states the tool's purpose concisely, and the second provides a key usage nuance. No fluff or redundant information.

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

Completeness3/5

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

Given 13 parameters, no output schema, and no annotations, the description covers the group replacement behavior but lacks details on return values, error conditions, and whether unspecified fields remain unchanged. It is minimally adequate but not comprehensive.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents all parameters. The description adds context about group management ('To add/remove contact from groups'), but this largely repeats the schema's existing description ('Complete array of group IDs... (replaces existing groups)'). Thus, the description adds marginal value.

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

Purpose4/5

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

The description clearly states 'Update a contact,' which is a specific verb and resource. It distinguishes from sibling tools like create_contact and delete_contact. However, it does not elaborate on which fields can be updated beyond the schema.

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

Usage Guidelines3/5

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

The description provides guidance on how to use the groups parameter ('provide the complete list of group IDs the contact should be a member of'), but does not explicitly state when to use this tool versus alternatives like create_contact or list_contacts. No when-not-to-use or exclusion criteria are given.

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

update_groupA

Update a contact group (only name can be updated)

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesGroup ID to update
nameYesGroup name

TDQS

A3.7/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It reveals that only the name field is updatable, which is a key behavioral trait. However, it does not disclose side effects, authorization requirements, or error behavior.

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

Conciseness5/5

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

A single, clear sentence that is front-loaded and contains no unnecessary words. Perfectly concise.

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

Completeness3/5

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

Given the absence of annotations and output schema, the description covers the minimum. It explains what the tool does and the update constraint, but omits details like response format, error handling, or the effect on other fields.

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

Parameters4/5

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

Schema coverage is 100%, providing a baseline of 3. The description adds value by explicitly qualifying that only the name can be updated, which is not inferable from the schema alone. This nuance slightly enhances parameter semantics.

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

Purpose5/5

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

The description clearly states the verb 'Update' and the resource 'contact group', and adds a crucial constraint 'only name can be updated', which distinguishes it from sibling tools like update_contact and update_number.

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

Usage Guidelines2/5

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

No explicit guidance on when to use this tool versus alternatives like create_group or delete_group. The description implies usage for updating group name only, but does not specify prerequisites or exclusions.

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

update_numberC

Update phone number configuration including friendly name and forwarding settings

ParametersJSON Schema
NameRequiredDescriptionDefault
numberYesPhone number to update
friendly_nameNoCustom friendly name for the number
sms_forwardNoPhone numbers to forward incoming SMS to
email_forwardNoEmail addresses to forward incoming SMS to
slack_forwardNoSlack webhook URL to forward incoming SMS to

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries the full burden of behavioral disclosure. It only states 'Update' without mentioning whether the operation is destructive, requires permissions, or how it handles existing settings (replace vs. merge). This leaves significant behavioral ambiguity.

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

Conciseness5/5

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

The description is a single, compact sentence with no unnecessary words. It efficiently conveys the core purpose without redundancy.

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

Completeness2/5

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

Given the tool has 5 parameters, no output schema, and no annotations, the description is too sparse. It does not explain important context such as whether updates are additive or overwriting, any prerequisites (e.g., number must be owned), or the return value upon success. This leaves the agent with significant uncertainty.

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

Parameters3/5

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

Schema coverage is 100%, so the schema already documents all parameters. The description adds minimal value by naming 'friendly name and forwarding settings', which maps directly to schema properties. It does not provide additional syntax, defaults, or constraints beyond what the schema offers, resulting in a baseline score.

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

Purpose4/5

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

The description clearly states the action ('Update') and the resource ('phone number configuration'), and lists the settings involved. While it doesn't explicitly differentiate from sibling tools, the resource is distinct from other update tools like update_contact, making the purpose sufficiently clear.

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

Usage Guidelines2/5

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

No guidance is provided on when to use this tool versus alternatives or any prerequisites. The description does not indicate when to update a number versus using other operations like order_number or delete_number.

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

update_subaccountB

Configure automatic balance transfer for a subaccount

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesSubaccount ID
thresholdYesCredit threshold below which credit should be transferred (in EUR)
amountYesAmount of credit to transfer from main account (in EUR)

TDQS

B3.3/5.0
Behavior2/5

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

With no annotations, the description must disclose behavioral traits. It only states the action without explaining side effects, idempotency, or whether existing settings are replaced or appended.

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

Conciseness5/5

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

A single, focused sentence with no unnecessary words. Every phrase serves a purpose.

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

Completeness3/5

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

For a simple tool with 3 parameters and no output schema, the description is adequate but lacks details on behavior (e.g., whether this is a create-or-update operation).

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

Parameters3/5

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

Schema coverage is 100%, so the description does not need to add much meaning. The description aligns with parameters but adds no extra context beyond the schema.

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

Purpose5/5

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

The description 'Configure automatic balance transfer for a subaccount' uses a specific verb ('configure') and resource ('automatic balance transfer for a subaccount'), clearly distinguishing it from sibling tools like 'create_subaccount' and 'transfer_credits'.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., 'transfer_credits' for manual transfers). No prerequisites or context are provided.

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

validate_senderC

Validate sender identifier for voice calls

ParametersJSON Schema
NameRequiredDescriptionDefault
senderYesSender identifier to validate
typeYesType of validation (e.g., voice)

TDQS

C2.9/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the burden. It only says 'validate' with no mention of side effects, return values, or required permissions. As a validation tool, it is likely read-only, but this is not stated.

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

Conciseness5/5

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

One concise sentence with no unnecessary words. Front-loaded with the verb 'validate'.

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

Completeness2/5

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

The tool has two parameters and no output schema. The description does not explain what the validation result looks like (e.g., boolean, error messages) or provide any behavioral details. Given the complexity, more information is needed for correct use.

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

Parameters3/5

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

Schema coverage is 100% with descriptions for both parameters. The tool description adds no extra meaning beyond the schema; it does not explain the purpose of the type parameter or the format of the sender identifier.

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

Purpose4/5

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

The description clearly states 'validate sender identifier' which matches the tool name, and specifies 'for voice calls'. However, the input schema includes an 'sms' option for type, so describing it only for voice calls is slightly misleading, though not severe.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus siblings like lookup_cnam or lookup_hlr, which may also serve validation purposes. 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.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 44 tool updatesv1.1.1
    • First observedcreate_contact
    • First observedcreate_group
    • First observedcreate_subaccount
    • First observedcreate_webhook
    • First observeddelete_contact
    • First observeddelete_group
    • First observeddelete_number
    • First observeddelete_rcs
    • First observeddelete_sms
    • First observeddelete_subaccount
    • First observeddelete_webhook
    • First observedget_active_numbers
    • First observedget_analytics
    • First observedget_available_numbers
    • First observedget_balance
    • First observedget_contact
    • First observedget_group
    • First observedget_logbook_received
    • First observedget_logbook_sent
    • First observedget_logbook_voice
    • First observedget_number
    • First observedget_pricing
    • First observedget_status
    • First observedhangup_voice
    • First observedlist_contacts
    • First observedlist_groups
    • First observedlist_subaccounts
    • First observedlist_webhooks
    • First observedlookup_cnam
    • First observedlookup_format
    • First observedlookup_hlr
    • First observedlookup_mnp
    • First observedlookup_rcs
    • First observedorder_number
    • First observedrcs_events
    • First observedsend_rcs
    • First observedsend_sms
    • First observedsend_voice
    • First observedtransfer_credits
    • First observedupdate_contact
    • First observedupdate_group
    • First observedupdate_number
    • First observedupdate_subaccount
    • First observedvalidate_sender

TDQS

B3/5.0
Disambiguation4/5

Most tools have distinct purposes with clear descriptions, but the high number (44) and similar lookups (e.g., lookup_hlr, lookup_mnp, lookup_rcs) could cause some confusion for an agent. Overall, the set is well-differentiated.

Naming Consistency4/5

The tool names consistently follow a verb_noun pattern with underscores (e.g., create_contact, send_sms). The only exception is `rcs_events`, which uses noun_verb, a minor deviation.

Tool Count2/5

With 44 tools, the server is over-scoped for a typical MCP server. This high count can overwhelm agents and suggests the server could be split into smaller, more focused servers. The calibration indicates 25+ tools as 'too many'.

Completeness5/5

The tool set covers a comprehensive range of operations for a telephony/SMS platform: CRUD for contacts, groups, subaccounts, webhooks, numbers; sending SMS/RCS/voice; various lookups; analytics; and account management. Few gaps exist (e.g., limited group update), but overall it's very complete.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    MCP server for interacting with the official Meta WhatsApp Business Platform/Cloud API, enabling sending messages, managing contacts, templates, and handling webhook callbacks.
    Apache 2.0
  • A
    license
    Not graded
    quality
    D
    maintenance
    A comprehensive MCP server for TELNYX integration, enabling AI assistants to send SMS messages, make voice calls, and handle incoming communications via webhooks.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    MCP server for ThaiBulkSMS and ThaiBulkMail APIs, enabling SMS, email, credit check, and OTP operations through natural language.
    8
    25
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/seven-io/seven-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server