mcpbeat Sign in

MyOTP.App MCP Server

answering

MyOTP.App is answering right now. Last checked 15 min ago. 820 installs a week from npm. It exposes 10 tools. Last commit 5 Sep 2026.

Send and verify one-time passcodes over SMS, WhatsApp and Telegram.

Installs per day peak 667 · avg 30 · +10200% w/w
a month agotoday
Uptime history 8 days of history
8 days agonow
100.0%
Uptime 24h
92 of 92 checks
10
Tools
read from the server
186 ms
Response time
average over 24h
820
Installs / week
npm and PyPI

What changed 9

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 3 September 2026. No other catalogue keeps this.

4 Sep a tool changed version2 times that day
3 Sep 3 tools appeared get_account_status, get_topup_quote, top_up_credits
3 Sep a tool description was rewritten2 times that day create_account
3 Sep a tool changed the parameters it asks for create_account
3 Sep a tool changed version
and 2 more, back to 3 September 2026

What the code does

We read the source, 18 h ago · tools taken from the live server · rules 3dff92dd89df

Capabilities

What this server is able to do. For an MCP server this is often the job itself — a terminal server runs commands because that is what it is for. Listed so you know what you are plugging in, not as an accusation.

Runs an external command cli/src/commands/topup.ts:77
    const child = spawn(inv.command, inv.args, { stdio: 'inherit' });

Is this your server and something here is wrong? Tell us — corrections are free and do not require a plan.

This code can reach further than it looks

We found places where it runs commands, builds paths or queries from values it is given. None of that is a flaw by itself — it becomes one when the code changes, and code changes quietly between releases. We re-read it on every one.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 15 min ago.

run in your terminal
claude mcp add myotp --transport http https://mcp.myotp.app/mcp
~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "myotp": {
      "url": "https://mcp.myotp.app/mcp"
    }
  }
}
~/.codex/config.toml
[mcp_servers.myotp]
url = "https://mcp.myotp.app/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "myotp": {
      "url": "https://mcp.myotp.app/mcp"
    }
  }
}
.vscode/mcp.json
{
  "mcpServers": {
    "myotp": {
      "url": "https://mcp.myotp.app/mcp"
    }
  }
}

Available tools 10

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

account
create_account
Create a MyOTP.App agent account and return its one-time API key. No API key is required for this tool. The new account starts with zero balance; USDC top-ups work immediately, while card top-ups unlock after a human confirms the email address.
get_account_info
Return account details for the API key in use. Always returns at least the account `email`; depending on plan and platform version may also return balance/credit/plan info. Use this as a sanity check when wiring up MyOTP for the first time — if this call succeeds, your API key and IP whitelist are configured correctly.
get_account_status
Return email verification, balance, plan, and status for the configured MyOTP agent account. Set resend_verification to request another confirmation email first. Unverified accounts can top up with USDC, but cards stay locked.
extend
extend_otp
Extend the expiry time of an active OTP without sending a new one. Useful when the end user is taking longer than expected to enter the code (e.g., switched apps, dealing with carrier delivery delay). Adds `duration` seconds (60-14400) to the current `expires_at`. Requires the EXTEND_OTP entitlement (Business or Enterprise plan). Some destination countries don't allow extensions — the API will return 403 in that case. Cheaper and less spammy than calling `generate_otp` again.
generate
generate_otp
Send a one-time password (OTP) to a phone number via SMS, WhatsApp, or Telegram. MyOTP.App generates the code, formats the message, picks the best carrier route, and delivers it. Returns a `message_id` (UUID) — keep it; you'll pass it to `verify_otp`, `check_otp_status`, or `extend_otp` later. Each call deducts credits from the account balance; the per-message cost varies by destination country and channel and is returned in the `cost` field. Use this whenever an app needs to verify someone's phone — signup, login 2FA, password reset, transaction confirmation, etc.
otp
check_otp_status
Check whether a previously sent OTP is still active and (with DLR_ACCESS entitlement on Enterprise plan) get its delivery status. Returns `is_active` (bool) and `expires_at` (ISO timestamp) on every plan. On Enterprise plans, also returns `DLR` (one of 'delivered', 'sent', 'read', 'failed', 'pending'). Useful when an end user reports they didn't receive the code — you can confirm whether MyOTP delivered it before deciding to resend. Does NOT verify a code; use `verify_otp` for that.
top
top_up_credits
Prepare or complete an autonomous MyOTP credit purchase with USDC or card through Machine Payments Protocol (MPP). Use this when generate_otp or another send fails with HTTP 403 insufficient balance / NoBalance. The tool quotes first, then returns a structured 402 challenge and exact retry details for the agent's own MPP client; if fetch is already wrapped by a credential-carrying MPP runtime, it returns the credited response directly.
topup
get_topup_quote
Get the live price and payment options for buying MyOTP credits, without making a purchase. Use this when generate_otp or another send fails with HTTP 403 insufficient balance / NoBalance, or before calling `top_up_credits` to show the cost. Returns USDC and card client commands and never exposes the configured API key.
usage
get_usage_report
Fetch a paginated list of OTP transactions for a date range. Each transaction includes message_id, timestamp, phone_number, channel, country, cost, status, and the originating client IP. Date range cannot exceed 31 days. Defaults: last 7 days, page 1, 10 per page. Requires the API_REPORTING entitlement (Business or Enterprise plan). Use this to: audit recent activity, build internal dashboards, reconcile billing, or debug delivery issues across many recipients.
verify
verify_otp
Verify a code submitted by an end user against the OTP MyOTP delivered. Returns `{status: 'success'}` if the code matches and the OTP hasn't expired — at that point the OTP is consumed and cannot be reused. Returns `{status: 'failed', reason: 'invalid' | 'expired' | 'not found'}` otherwise. You MUST pass either `phone_number` or `message_id` to identify which OTP you're verifying against. Call this after collecting the code from the user (login form, signup screen, etc.).

Endpoints

URLTransportStateLatencyChecked
https://mcp.myotp.app/mcp streamable-http answering 204 ms 15 min ago

Alternatives to MyOTP.App

same job, measured the same way
EnvoiSMS
by envoisms

Send SMS/WhatsApp and verify OTP codes in Morocco (+212) and worldwide. Direct carrier routing.

15 tools answering
I
Androidapi MCP
by tecniforgemaryam

Send SMS & WhatsApp, verify OTPs, manage contacts, and control Android devices via AndroidAPI.net.

19 installs/wk local only
Twilio MCP Server
by mrfentmen

Send SMS, MMS, WhatsApp messages, make voice calls, and manage Twilio phone numbers.

23 installs/wk local only
Bird
by bird

Send and receive across email, SMS, WhatsApp, and voice. One API, one contract.

answering
MCP Twilio
by codespar

MCP server for Twilio — global SMS, WhatsApp, Voice, Verify, and Lookup across 180+ countries

14 installs/wk local only
SendSeven Messaging
by sendseven

Unified messaging MCP server: WhatsApp, Instagram, Telegram, SMS, Messenger & email support inbox

answering
WhatsApp MCP Server
by nakulben

Manage WhatsApp Business templates and send messages via Meta Cloud API

57 installs/wk local only
Dialogbrain
by saloprj

Unified inbox MCP for WhatsApp, Telegram, Email, voice — read/send messages, search, AI agents.

answering

MyOTP.App — questions

Answers built from our own checks of this server.

What can MyOTP.App do?
It exposes 10 tools, read directly from the server on our last check. Among them: check_otp_status, create_account, extend_otp, generate_otp, get_account_info, get_account_status and 4 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
Is MyOTP.App working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 92 of 92 checks got a reply (100.0%), average response time 186 ms. The bar chart above shows every period we have measured.
How do I connect MyOTP.App?
Copy the ready config from this page — we generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each with the file path that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does MyOTP.App need an API key?
No. MyOTP.App completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 10 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is MyOTP.App?
It answers our handshake in 186 ms on average, which is faster than 70% of all working MCP servers we measure. The comparison comes from our own checks across the whole registry, every 15 minutes.
How many people use MyOTP.App?
The npm package @myotp/mcp was installed 820 times in the last week. Week over week that is +10200%. We show installs rather than GitHub stars on purpose: a star is a bookmark, an install is someone actually running it.
Is MyOTP.App open source?
Yes — it is published under the MIT licence, written in TypeScript and 1 stars on GitHub. The source link is on this page, so you can read exactly what it does with your data before you connect it.