Skip to main content
Glama
inbox-tap-mcp

inbox-tap-mcp

by eye-fox

inbox-tap-mcp β€” satu MCP untuk semua OTP temporer πŸ“©πŸ“±

MCP server standalone yang memberi AI agent (opencode, Claude Code/Desktop, Cursor, Cline, dsb) inbox temporer gabungan email + SMS untuk verifikasi OTP/link saat registrasi akun di target:

  • πŸ“© Email temporer β€” buat akun, cek inbox, baca pesan, tunggu email + ekstrak OTP/link (via mail.tm API)

  • πŸ“± SMS temporer β€” list negara/nomor, cek inbox, tunggu SMS + ekstrak OTP/link (via freephonenum scrape)

  • ⚑ Unified OTP β€” mcp_inbox_wait_otp(channel=email|sms) satu pintu untuk kedua channel

  • πŸ›‘οΈ Aman by default β€” token mail.tm ter-redact di audit.jsonl; OTP/links tetap tampil di result (dibutuhkan agent)

  • πŸ“¦ Zero-deployment hell β€” 1 repo, stdlib only (tanpa pip install), backend di-vendor (vendor_inbox.py), tanpa dependensi mailtap/smstap

11 tools. 1 perintah install. mailtap + smstap tetap untuk manusia via CLI β€” MCP ini jalan sendiri walau keduanya dihapus.


Demo 30 detik

git clone https://github.com/eye-fox/inbox-tap-mcp.git
cd inbox-tap-mcp
./install.sh
# restart opencode / AI client Anda, lalu suruh agent:
# "list akun email, buat akun attacker bila belum ada, tunggu OTP"
python3 examples/quickstart.py   # tanpa LLM: bukti end-to-end lewat stdio

Related MCP server: agent-inbox

Cara kerja

flowchart LR
    Agent["AI agent"] -- "MCP stdio<br/>JSON-RPC" --> Server["server.py"]
    Server -- "import" --> Vendor["vendor_inbox.py<br/>stdlib only"]
    Vendor -- "REST" --> MailTM["mail.tm API<br/>email temporer"]
    Vendor -- "scrape" --> FPN["freephonenum.com<br/>SMS publik"]
    Server --- Audit["audit.jsonl<br/>token redacted"]

Akun email disimpan di ~/.tempmail/accounts.json (format kompatibel mailtap, kode baca/tulis mandiri). SMS stateless (tidak ada penyimpanan).

Syarat

Kebutuhan

Versi

Cek

Python

β‰₯ 3.9

python3 --version

Koneksi internet

β€”

curl -sI https://api.mail.tm

mailtap/smstap

tidak butuh

sengaja independen

Install

./install.sh

Script melakukan: cek python β†’ chmod +x β†’ init audit.jsonl β†’ auto-register ke ~/.config/opencode/opencode.json β†’ smoke test tools/list (harus 11 tools).

Opsi:

./uninstall.sh   # hapus entri MCP, repo + ~/.tempmail tidak dihapus

Config manual (non-opencode)

Claude Desktop / Cursor / Cline (mcp.json / claude_desktop_config.json):

{
  "mcpServers": {
    "inbox-tap-mcp": {
      "command": "python3",
      "args": ["/ABSOLUTE/PATH/inbox-tap-mcp/server.py"]
    }
  }
}

Template siap copy: mcp.json.example. Untuk opencode mentah: opencode.json.snippet.

Struktur repo

inbox-tap-mcp/
β”œβ”€β”€ install.sh              # setup full: cek python + register opencode + smoke test
β”œβ”€β”€ uninstall.sh            # cabut entri MCP
β”œβ”€β”€ server.py               # MCP stdio server (11 tools, audit+redact)
β”œβ”€β”€ vendor_inbox.py         # backend email mail.tm + SMS freephonenum (stdlib only) β€” di-vendor
β”œβ”€β”€ requirements.txt        # kosong (stdlib only, dokumentasi saja)
β”œβ”€β”€ SKILL.md                # instruksi agent (copy ke skill-dir bila perlu)
β”œβ”€β”€ opencode.json.snippet   # referensi config opencode
β”œβ”€β”€ mcp.json.example        # referensi config generik MCP
β”œβ”€β”€ examples/quickstart.py  # e2e tanpa LLM: email_list + sms_countries
β”œβ”€β”€ scripts/smoke_test.py   # initialize + tools/list, exit 0 bila 11 tools
β”œβ”€β”€ LICENSE (MIT)
└── .gitignore (melindungi audit.jsonl runtime)

audit.jsonl adalah runtime β€” tidak ikut ke git (lihat .gitignore). ~/.tempmail/accounts.json milik user, juga tidak ikut ke git.

Pakai di agent (pola baku)

  1. mcp_inbox_email_list {} β†’ pastikan alias ada; belum ada? mcp_inbox_email_create {"name":"attacker"}

  2. Isi form registrasi di target (via browser-mcp bila web) dengan email/nomor itu

  3. mcp_inbox_wait_otp {"channel":"email","target":"attacker","timeout":120} β†’ dapat OTP (+links bila ada)

  4. Isi OTP β†’ submit

  5. Varian SMS: mcp_inbox_sms_numbers {"country":"us"} β†’ pilih nomor β†’ mcp_inbox_wait_otp {"channel":"sms","target":"318-545-6266"}

  6. Eksplorasi manual: mcp_inbox_email_inbox/read, mcp_inbox_sms_inbox/read

Aturan detail + 11 tools: lihat SKILL.md.

Batasan yang perlu tahu

  • SMS bersifat publik/shared β€” semua orang dengan nomor sama bisa lihat pesan. Jangan untuk akun sensitif (bank, password reset).

  • Akun mail.tm valid ~7 hari, setelah itu hangus.

  • Provider SMS gratis sering berubah layout/rate-limit β€” bila sms_* gagal massal, cek manual freephonenum.com dulu sebelum menyalahkan MCP.

Keamanan

  • audit.jsonl: key sensitif (password/token/secret) di-redact. Jangan commit file runtime.

  • Jangan taruh kredensial asli di contoh manapun.

  • Hanya pakai terhadap target yang Anda punya izin uji; nomor SMS publik bukan untuk akun sungguhan.

Publish ke GitHub (checklist)

cd inbox-tap-mcp
# pastikan tidak ada secret bocor:
grep -ri "password\|token\|api.key\|bearer" --include="*.py" --include="*.md" --include="*.json" --include="*.sh" . | grep -v REDACT | grep -v CHANGEME | grep -v Testing123 || echo "bersih"
git init && git add . && git commit -m "inbox-tap-mcp standalone v1.0.0" && git branch -M main
gh repo create inbox-tap-mcp --public --source=. --push

Troubleshooting

Gejala

Obat

MCP tidak muncul di client

restart client; pastikan path server.py absolut; python3 scripts/smoke_test.py harus PASS

email_wait timeout terus

cek email_inbox manual β€” mungkin email memang belum masuk / akun >7 hari hangus β†’ email_create baru

sms_* gagal / kosong

freephonenum.com mungkin berubah layout atau rate-limit β€” buka manual di browser, coba nomor/negara lain

Timeout ... tidak ada SMS baru

nomor publik lambat β€” naikkan timeout, atau ganti nomor via sms_numbers

Lisensi

MIT β€” lihat LICENSE.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      B
      maintenance
      Enables AI agents to create disposable email inboxes and automatically extract OTPs, magic links, and verification codes from incoming emails.
      10 npm
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      Enables AI agents to create temporary email addresses, receive confirmation emails, and extract verification links, automating sign-up and email verification workflows without manual intervention.
      6
      27 npm
      64
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Provides disposable email inboxes for AI agents to automatically receive and extract OTPs and magic links, enabling seamless email verification during autonomous workflows.
      3
      345 npm
      MIT