Skip to content

MCP tools

A token or OAuth sign-in carries a list of allowed tools. tools/list shows only those, and calling any other tool fails without doing anything. Tools take no project argument: a connection is bound to one project.

Tools that spend money are marked and are not selected by default when you create a token.

Tool What it does API
list_number_countries Countries available for a number type. GET /numbers/catalog/countries
list_number_services Services a temporary number can receive SMS for, optionally in one country or matching a text (q). GET /numbers/catalog/services
get_number_prices Your price for a number, before you rent it. GET /numbers/catalog/prices
rent_number Rent a temporary or monthly number. Spends money. POST /numbers/rent
list_numbers The project’s numbers, with filters. GET /numbers/items
get_number One number. GET /numbers/items/{id}
release_number Release a number. A temporary number without an SMS is refunded. POST /numbers/items/{id}/release
resend_sms Ask for a temporary number’s SMS again, free. POST /numbers/items/{id}/resend
update_number_metadata Change a number’s metadata. PATCH /numbers/items/{id}
wait_for_sms Wait for an SMS. Returns pending if none arrives. GET /numbers/sms/wait
Tool What it does API
list_email_accounts The project’s mailboxes. GET /emails/accounts
get_email_account One mailbox. GET /emails/accounts/{email}
update_email_account_metadata Change a mailbox’s metadata. PATCH /emails/accounts/{email}
wait_for_email Wait for an email. Spends money for each email delivered. GET /emails/wait
get_attachment Read an attachment: text as text, images as images, other files as embedded resources. GET /emails/attachments/{key}
create_auth_link Create an authorization link. POST /emails/auth-links
list_auth_links List authorization links. GET /emails/auth-links
revoke_auth_link Revoke an authorization link. DELETE /emails/auth-links/{id}
Tool What it does API
list_captcha_types Supported types, their fields and the price of 1,000 solutions. GET /captchas/types
resolve_captcha Solve a captcha. Spends money, only for a solved captcha. POST /captchas/resolve
Tool What it does API
list_webhook_endpoints The project’s endpoints and the event types you can subscribe to. GET /webhooks/endpoints, GET /webhooks/event-types
create_webhook_endpoint Create an endpoint. The signing secret is generated and returned once, in this response. POST /webhooks/endpoints
delete_webhook_endpoint Delete an endpoint. DELETE /webhooks/endpoints/{id}
get_balance The team balance and the project’s spending and limits. GET /account/balance

Each tool takes the same arguments as the API call behind it, with the same names; follow the links in the API reference for the fields. resolve_captcha takes one object whose type decides which fields apply, and the API validates them.

Tools declare MCP annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint) so clients can ask for confirmation before the ones that change or spend.

A failure comes back as a tool error with a code from the API, for example insufficient_balance, spend_limit_exceeded, provider_unavailable, number_not_found or validation_error; see Errors. The server adds a few of its own: service_unavailable, request_timeout, request_cancelled, attachment_too_large and tool_not_found.

  1. list_number_services, then get_number_prices and get_balance to see what it will cost.
  2. rent_number.
  3. The agent triggers the SMS in the service it is working with.
  4. wait_for_sms. If it returns pending, call it again.
  5. release_number when done.