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.
Numbers
Section titled “Numbers”| 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 |
Emails
Section titled “Emails”| 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} |
Captchas
Section titled “Captchas”| 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 |
Webhooks and account
Section titled “Webhooks and account”| 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.
Annotations and errors
Section titled “Annotations and errors”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.
A typical flow
Section titled “A typical flow”list_number_services, thenget_number_pricesandget_balanceto see what it will cost.rent_number.- The agent triggers the SMS in the service it is working with.
wait_for_sms. If it returnspending, call it again.release_numberwhen done.