NOTIFY
Server Details
SMS verification codes for Georgia (+995). Try test codes with a free test key, no account needed.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Score is being calculated.
Available Tools
3 toolscreate_test_keyGet a NOTIFY test keyInspect
Get an sk_test_ API key instantly, with no account and no human. A test key never sends a real SMS and never spends credits, so a whole integration can be built and verified with it. Pass it as api_key to send_message and get_message, and keep it in the application's configuration (for example NOTIFY_API_KEY), never in source code. The result also has a claim_url for a human: opening it lets them sign in and take over the project. Anyone who opens it, signs in and confirms becomes the owner: give it only to the person who will own the project, and do not paste it into shared logs or tickets. Real SMS need an sk_live_ key that the human creates on the dashboard (https://n0t1fy.dev/dashboard). Limited to a few keys per minute and per day for each address: reuse a key you already have.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
get_messageRead a message's statusRead-onlyIdempotentInspect
Read the current state of a message sent with a key of the same project. Poll only while status is queued or submitted: delivered, undeliverable and failed are final, and unknown never changes. Wait about 2 seconds before the first read and double the wait each time, up to 30 seconds. Always set a time limit (two minutes is generous for a test message); when it passes, treat the message as unconfirmed and do not send it again.
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | An sk_test_ key, for example from create_test_key. Leave it out to use the key in this MCP server's Authorization header. A live key (sk_live_) is refused here: tool arguments are kept in the conversation, so a live key belongs in the header. | |
| message_id | Yes | The message `id` from send_message, such as msg_01J8…. |
send_messageSend a code by SMSIdempotentInspect
Send one transactional SMS to a Georgian mobile number. The text comes from a built-in template; there is no free text.
With a test key (sk_test_) nothing is really sent: a simulator answers. These recipients simulate outcomes: +995500000001 rejected (status failed); +995500000002 provider unreachable (error provider_unavailable: nothing was sent, retry with the same idempotency_key); +995500000003 ambiguous (status unknown); +995500000004 accepted, then undeliverable. Any other valid number is accepted, then delivered, within about 30 seconds. With a live key it sends a real SMS and spends one credit per segment.
Read message.status in the result. submitted: the provider accepted it, which is not yet delivery to the phone. failed: refused; message.error says why. unknown: it may or may not have been sent, so do not send it again automatically. replayed: true: this idempotency_key and request were already processed, and no second SMS was sent. Call get_message to learn the final outcome.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Recipient in E.164 format: `+9955` followed by eight digits. No other country or format is accepted, and numbers are never normalized on your behalf. | |
| locale | No | Language of the message: `ka` (Georgian, the default) or `en`. | ka |
| api_key | No | An sk_test_ key, for example from create_test_key. Leave it out to use the key in this MCP server's Authorization header. A live key (sk_live_) is refused here: tool arguments are kept in the conversation, so a live key belongs in the header. | |
| template | Yes | Which message to send. Message text is never free-form: every message is rendered from one of these templates. - `verification_code` (`code`): Your verification code is {code}. Do not share it with anyone. - `login_code` (`code`): Your sign-in code is {code}. If you did not request it, ignore this message. - `password_reset_code` (`code`, `minutes`): Your password reset code is {code}. It expires in {minutes} minutes. | |
| variables | Yes | Values for the template's placeholders, all as JSON strings. A `code` is 4 to 8 digits; `minutes` is 1 to 999. Values that look like a link, a web address, or a phone number are refused. | |
| idempotency_key | Yes | A new unique value (a UUID) for each logical message. Reuse it only to retry the identical request: the retry then returns the original message instead of sending a second SMS. |
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
create_test_key - First observed
get_message - First observed
send_message
Related MCP Connectors
Virtual phone numbers for SMS/OTP verification. Browse free; pay with credits or USDC (x402).
Send SMS/WhatsApp and verify OTP codes in Morocco (+212) and worldwide. Direct carrier routing.
Virtual phone numbers for SMS verification, OTP receipt, and number management.
A real US mobile number that receives verification codes, by text or transcribed call.
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP server for SMS verification — get virtual phone numbers, receive OTP codes, and manage verifications for 500+ services across 50+ countries via the VirtualSMS API.40191 npm8MIT
- AlicenseAqualityDmaintenanceVirtual phone number platform for AI agents — rent numbers across 200+ countries, receive SMS, and manage the full activation lifecycle.620 npm4MIT
- AlicenseAqualityDmaintenanceGives AI agents real phone numbers to receive SMS and extract verification codes through tool calls.622 npmMIT
- AlicenseNot gradedqualityDmaintenanceMCP server for provisioning dedicated real-SIM US phone numbers, receiving inbound SMS, and extracting OTP codes. Built for AI agents automating phone verification workflows.40 npm1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.