ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Kaption WhatsApp (Cloud)

โดย Kaption-AIรุ่น 1.0.0i★ –iรันบนคลาวด์
ชื่อใน registryio.github.Kaption-AI/mcp-extension-remote

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Use WhatsApp from AI apps through the Kaption extension. OAuth 2.1 relay that cannot read messages.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนคลาวด์
  • ช่องทาง (transport): Streamable HTTP
  • หมวด: แชตและอีเมล

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ต้องเตรียมก่อน

  • รันบนคลาวด์ไม่ต้องลงโปรแกรมเพิ่ม ต่อผ่านอินเทอร์เน็ตได้เลย

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:

  1. เปิด Settings → Connectors
  2. กด Add custom connector
  3. วางที่อยู่ด้านล่างแล้วกด Add
  4. ถ้าให้ล็อกอิน ให้ล็อกอินกับผู้ทำ
SettingsConnectors1+ Add2https://…3
https://mcp.kaptionai.com/mcp

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add --transport http extension-remote https://mcp.kaptionai.com/mcp

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "extension-remote": {
      "url": "https://mcp.kaptionai.com/mcp"
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "extension-remote": {
      "type": "http",
      "url": "https://mcp.kaptionai.com/mcp"
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:

  1. เปิด ChatGPT บนเว็บ → Settings → Connectors (Apps)
  2. กด Create หรือ Add (บางแพ็กเกจต้องเปิด Developer mode ใน Advanced ก่อน)
  3. วางที่อยู่ด้านล่าง ตั้งชื่อ แล้วบันทึก
  4. ถ้าให้ล็อกอิน ให้ล็อกอินกับผู้ทำ
SettingsConnectors1+ Create2https://…3
https://mcp.kaptionai.com/mcp

ชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

ยังไม่ได้อ่านรายการเครื่องมือของตัวนี้ เราตรวจ endpoint ทีละชุดวนไป

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub Kaption-AI ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    endpoint ตอบ

    ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป

  • … ยังไม่ตรวจ

    ล็อกอินแบบ OAuth

    ยังไม่ได้ตรวจ เราตรวจ endpoint ทีละชุดวนไป

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    ยังไม่ได้ตรวจ เราอ่านรายการเครื่องมือตอนตรวจ endpoint

เทียบกับตัวอื่นในหมวด แชตและอีเมลi

  • ดาวมากกว่า 0% ของอีก 1782 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 45% ของอีก 1782 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 1782 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Kaption WhatsApp (Cloud) ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.0.0) เข้า registry 33 วันที่ผ่านมา

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี Vexa, emailmd, MCP WhatsApp Cloud

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

Vexa

โดย Vexa-ai

Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.

รันบนคลาวด์★ 2,949Apache-2.0อัปเดต 2 เดือนที่ผ่านมา
ติดตั้ง

emailmd

โดย anypost

Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.

บนเครื่องหรือคลาวด์★ 1,385MITอัปเดต 31 วันที่ผ่านมา
ติดตั้ง

MCP WhatsApp Cloud

โดย codespar

MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API

รันบนเครื่อง★ 277MITอัปเดต 5 เดือนที่ผ่านมา
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

kaption-mcp-remote

Cloud MCP relay for WhatsApp — lets AI assistants (Claude, ChatGPT, Cursor, etc.) interact with your WhatsApp conversations through the Model Context Protocol.

Setup guide: kaptionai.com/mcp — connect WhatsApp to Claude, ChatGPT or Cursor.

Live at: mcp.kaptionai.com (canonical) and mcp-ext.kaptionai.com (backward-compatible alias for existing connections)

The relay cannot read your messages. It forwards MCP tool calls between the AI client and the Kaption browser extension, which processes everything locally in your browser. Its source code is public (BUSL-1.1), so you can verify it yourself.

Architecture

AI Client (Claude/ChatGPT/Cursor)

│ │ OAuth 2.1 + SSE/Streamable HTTP ▼ ┌─────────────────────────────────────┐ │ Cloudflare Worker │ │ mcp.kaptionai.com │ │ │ │ ┌────────────┐ ┌──────────────┐ │ │ │ OAuthProv │ │ Next.js │ │ │ │ /sse /mcp │ │ /authorize │ │ │ │ /token │ │ /ext-auth │ │ │ │ /register │ │ / (landing) │ │ │ └─────┬──────┘ └──────────────┘ │ │ │ │ │ ┌─────▼──────┐ ┌──────────────┐ │ │ │ RelayMCP │ │ Deployment │ │ │ │ (DO) │ │ ChainDO │ │ │ └─────┬──────┘ └──────────────┘ │ │ │ │ │ ┌─────▼──────┐ │ │ │ RelayRoom │ ◄── WebSocket ──┐ │ │ │ (DO/accountRef) │ │ │ │ └────────────┘ │ │ └─────────────────────────────────┼──┘ │ Browser Extension (WhatsApp Web tab)

Durable Objects
DOKeyed ByPurpose
RelayMCPOAuth sessionMcpAgent — registers tools, relays JSON-RPC to RelayRoom
RelayRoomOpaque accountRefWebSocket bridge to extension, auth handshake, request/response matching
DeploymentChainDO"main"Append-only hash chain for deployment transparency

Request Flow

  1. AI client discovers the MCP server via /.well-known/oauth-authorization-server
  2. Client registers dynamically via POST /register (RFC 7591)
  3. User authenticates with WhatsApp OTP at /authorize
  4. Client exchanges code for token at /token
  5. Client sends tool calls via SSE (/sse) or Streamable HTTP (/mcp)
  6. RelayMCP DO receives the call, routes to RelayRoom for the accountRef
  7. RelayRoom forwards JSON-RPC to the extension over WebSocket
  8. Extension executes in WhatsApp Web context, returns result
  9. Result flows back: RelayRoom → RelayMCP → AI client

Routing Table

PathMethodAuthHandler
/GET—Next.js landing page
/authorizeGET—Next.js OTP form (HMAC-signed oauthReqInfo)
/authorize/send-otpPOST—Next.js API route → rest-api
/authorize/verifyGET/POST—Next.js OTP verify → OAuthProvider completeAuthorization
/authorize/reviewer-loginPOSTStatic review credentialsPassword completion for the configured synthetic review phone
/registerPOST—OAuthProvider (RFC 7591 dynamic client registration)
/tokenPOST—OAuthProvider (token exchange)
/sseGETOAuth tokenRelayMCP DO (SSE transport)
/mcpPOSTOAuth tokenRelayMCP DO (Streamable HTTP)
/ws/extGETJWT/token in auth msgRelayRoom DO (WebSocket upgrade)
/ext-auth/*Various—Next.js extension auth pages + API
/transparencyGET—DeploymentChainDO (chain history)
/transparency/latestGET—DeploymentChainDO (latest entry)
/transparency/verifyGET—DeploymentChainDO (chain integrity)
/transparency/gapsGETCF tokenCross-reference CF deploys with chain
/transparency/appendPOSTDEPLOY_API_KEYAppend entry (CI only)

MCP Tools

26 public tools are forwarded to the extension (the relay does not execute them). Reads and writes are separate tools: every read-only tool carries readOnlyHint: true, and the manage_* tools only write. The read tools for reminders, scheduled messages, chat lists and contact notes reach the extension as the matching manage_* call (TOOL_ROUTES in src/tools.ts), so every Kaption version answers them.

ToolKindDescription
queryreadQuery conversations, contacts, messages, transcriptions, labels, communities, sessions
summarize_conversationwrite (private cache)Get or generate a conversation summary
download_mediareadDownload image/video/audio/document from a message
list_contacts, get_contact, get_contact_groupsreadRead contacts and their group memberships
list_groups, get_groupreadRead cached or live group metadata
export_contactsreadExport contacts as CSV or JSON
get_analyticsreadAnalyze WhatsApp activity, rankings, response times, and exports
call_recordingsreadList, read and search call recordings and transcripts
list_reminders, get_reminderreadRead personal reminders
list_scheduled_messages, get_scheduled_messagereadRead scheduled messages (both modes)
list_chat_lists, get_chat_listreadRead personal chat lists
get_contact_notereadRead a contact's note (Business accounts)
manage_labelswriteAdd/remove/create/delete WhatsApp Business labels
manage_noteswriteSet a contact's note (Business accounts)
manage_chatwriteArchive, pin, mute, mark read/unread, set/clear draft
manage_reminderswriteCreate/update/complete/delete personal reminders
manage_scheduled_messageswriteSchedule, change or cancel messages — from Kaption's number (bot, default) or from your own number on this computer (mode: "local", also to groups)
manage_listswriteCreate/edit/delete personal chat lists and their chats
send_messagewriteQueue a message from your own number (needs sending from this computer turned on and consent in Kaption)
create_attachment_uploadwriteOne-time upload slot for an attachment to send or schedule

The square brand icon for directory listings and consent screens is served at /brand/kaption-mcp-icon.svg.

get_api_info is local-only and is deliberately excluded from the cloud surface because it returns private REST connection credentials.

Deployment Security

Every deployment is cryptographically signed and recorded in a tamper-evident transparency chain. See SECURITY.md for full details.

Pipeline
GitHub Actions (push to main)

│ ├─ 1. Run tests ├─ 2. Build worker (OpenNext + wrap) ├─ 3. SHA-256 manifest every generated code and asset file ├─ 4. Pre-deploy: Sigstore sign the manifest → Rekor log ├─ 5. Deploy to Cloudflare ├─ 6. Post-deploy: verify hash unchanged, sign attestation → Rekor └─ 7. Append to transparency chain (hash-linked)

Daily heartbeat redeploys (6am UTC) ensure the chain stays active even without code changes.

Deploys are gated — do NOT run wrangler deploy locally

All production deploys go through GitHub Actions. Multiple layers enforce this:

  1. wrangler.jsonc is gitignored; scripts/build-config.mjs renders it from wrangler.template.jsonc and refuses to run unless GITHUB_ACTIONS=true + GITHUB_RUN_ID are set (or KAPTIONAI_LOCAL_DEV=1 for dev).
  2. npm run predeploy aborts unless those same CI env vars are present.
  3. main is branch-protected: requires a reviewed PR + green test, deploy, and verify checks.
  4. CODEOWNERS routes every PR through @kshmir.

To ship a change: open a PR → review + CI green → merge to main → Actions builds, signs (Sigstore), deploys, and appends to the transparency chain. npx wrangler deploy from a laptop will fail at step 1 because there is no wrangler.jsonc to deploy.

Verify a Deployment
# 1. Check the transparency chain

curl -s https://mcp.kaptionai.com/transparency/latest | jq .

2. Verify chain integrity

curl -s https://mcp.kaptionai.com/transparency/verify | jq .

3. Verify Sigstore signature (requires cosign)

COMMIT=$(curl -s https://mcp.kaptionai.com/transparency/latest | jq -r '.event.commitSha') cosign verify-blob \ --bundle build-manifest.sigstore.json \ --certificate-identity-regexp "https://github.com/Kaption-AI/mcp-extension-remote/.*" \ --certificate-oidc-issuer "https://token.actions.githubusercontent.com" \ build-manifest.json

API Endpoints

Transparency API (public, no auth)
# Full chain history (paginated)

GET /transparency?limit=50&offset=0

Latest deployment

GET /transparency/latest

Verify chain integrity

GET /transparency/verify

MCP (OAuth-protected)
# SSE transport (for Claude Code, Cursor)

GET /sse

Streamable HTTP transport

POST /mcp

Development

# Install dependencies

npm install

Run tests

npm test

Dev server (Next.js only — no Worker routing)

npm run dev

Build the full worker (OpenNext + custom wrapper)

npm run build:worker

Project Structure
src/

index.ts # Worker entry — Hono routing, OAuthProvider composition relay-mcp.ts # RelayMCP Durable Object (McpAgent) relay-room.ts # RelayRoom Durable Object (WebSocket bridge) deployment-chain.ts # DeploymentChainDO (transparency log) otp.ts # OTP generation, verification, JWT, HMAC, rate limiting schemas.ts # Zod schemas for API request validation tools.ts # MCP tool definitions (forwarded, not executed) types.ts # TypeScript interfaces (Env, DeploymentEvent, etc.) app/ page.tsx # Landing page (multilingual, client-side i18n) layout.tsx # Root layout i18n.ts # i18next init (8 languages) locales/ # Translation JSON files authorize/ # OAuth OTP flow pages + API routes ext-auth/ # Extension auth pages + API routes scripts/ wrap-worker.mjs # Post-build: wraps OpenNext output with custom routing

Environment Variables

Vars (wrangler.jsonc)
VariableDescription
INTERNAL_API_BASE_URLBackend API base URL
BUILD_HASHSHA-256 of worker bundle (set by CI)
COMMIT_SHAGit commit SHA (set by CI)
Secrets (wrangler secret put)
SecretDescription
INTERNAL_API_KEYAPI key for rest-api OTP endpoint
DEPLOY_API_KEYAPI key for transparency chain append
JWT_SECRETShared JWT signing secret (same as rest-api, schedule, metadata workers)
PHONE_REF_SECRETHMAC secret used to derive opaque durable account references from phone numbers
EPHEMERAL_STATE_SECRETEncryption secret for short-lived login hints, verify tickets, and encrypted session phone payloads
OPENAI_APPS_CHALLENGE_TOKENExact domain-verification token issued by the OpenAI plugin portal
OPENAI_REVIEW_PASSWORD_SHA256Lowercase SHA-256 hex digest of the high-entropy reviewer password
OPENAI_REVIEW_PHONEPhone number used as the dedicated review username and to derive the synthetic account's opaque reference

The three OPENAI_* values are also configured as GitHub Actions repository secrets. Add all three together, then run the manual Test, Build & Deploy workflow. CI writes them to an ephemeral mode-0600 file and passes that file to wrangler deploy --secrets-file, so the review configuration ships in the same signed, attested Worker version as the code. The workflow fails closed if only part of the three-value set is present and deletes the temporary file immediately after deployment. Existing Worker

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx