Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Read and manage your WhatsApp conversations through the KaptionAI browser extension.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"extension": {
"command": "npx",
"args": [
"-y",
"@kaptionai/mcp-extension"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add extension -- npx -y @kaptionai/mcp-extensionวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"extension": {
"command": "npx",
"args": [
"-y",
"@kaptionai/mcp-extension"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"extension": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@kaptionai/mcp-extension"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub Kaption-AI ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.5.11) เข้า registry 14 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Vexa, emailmd, MCP WhatsApp Cloud
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.
MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
MCP server that lets AI assistants read and manage your WhatsApp conversations through the KaptionAI Chrome extension. Also supports WebMCP for zero-config browser-native AI tool discovery.
Claude / Cursor ──stdio──> mcp-whatsapp ──ws://localhost:7865──> KaptionAI Extension ──> WhatsApp Web
Browser AI Agent ──navigator.modelContext──> KaptionAI Extension ──> WhatsApp Web (WebMCP)
Teach Claude Code, Codex, Cursor and other agents how to use these tools well (search first, never send without confirming, reminders vs. scheduled messages, error handling):
npx skills add Kaption-AI/mcp-extension
The skill lives in skills/kaption-whatsapp/SKILL.md.
Install the KaptionAI Chrome Extension and enable the MCP bridge in settings.
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": { "whatsapp": { "command": "npx", "args": ["-y", "@kaptionai/mcp-extension@latest"] } } }
Claude Code
claude mcp add whatsapp -- npx -y @kaptionai/mcp-extension@latest
Cursor
Add to .cursor/mcp.json in your project or go to Settings > MCP Servers:
{
"mcpServers": { "whatsapp": { "command": "npx", "args": ["-y", "@kaptionai/mcp-extension@latest"] } } }
Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": { "whatsapp": { "command": "npx", "args": ["-y", "@kaptionai/mcp-extension@latest"] } } }
VS Code (Copilot)
Add to .vscode/mcp.json in your project:
{
"servers": { "whatsapp": { "type": "stdio", "command": "npx", "args": ["-y", "@kaptionai/mcp-extension@latest"] } } }
Or add to your VS Code settings.json:
{
"mcp": { "servers": { "whatsapp": { "type": "stdio", "command": "npx", "args": ["-y", "@kaptionai/mcp-extension@latest"] } } } }
Zed
Add to Zed settings (~/.config/zed/settings.json):
{
"context_servers": { "whatsapp": { "command": { "path": "npx", "args": ["-y", "@kaptionai/mcp-extension@latest"] } } } }
OpenAI Agents SDK (Python)
from agents import Agent
from agents.mcp import MCPServerStdio
whatsapp = MCPServerStdio( name="whatsapp", command="npx", args=["-y", "@kaptionai/mcp-extension@latest"], )
agent = Agent( name="assistant", instructions="You can access WhatsApp conversations.", mcp_servers=[whatsapp], )
Any MCP-compatible client
This package runs as a standard MCP server over stdio. To connect from any client:
npx -y @kaptionai/mcp-extension@latest
The server communicates via stdin/stdout using the MCP protocol. Point your client's MCP configuration to this command.
Open web.whatsapp.com in Chrome or Edge. The extension will auto-connect to the MCP server.
queryQuery WhatsApp data — conversations, contacts, messages, transcriptions, labels, and communities.
# List conversations
query {}
query { query: "meeting" }
query { unread: true }
query { id: "5511999887766@c.us" }
query { query: "Alice", entity: "contacts" }
query { entity: "labels" }
query { label: "Important" }
query { entity: "communities" }
query { community: "My Community" }
query { entity: "session" }
| Parameter | Type | Description |
|---|---|---|
query | string | Search text (names, messages, transcriptions) |
id | string | Look up a specific conversation, contact, or label |
entity | string | conversations, contacts, messages, transcriptions, labels, communities, session |
limit | number | Max results (default 25, max 5000) |
unread | boolean | Only unread conversations |
label | string | Filter by label name or ID |
community | string | Filter by community name or ID |
before | string | Messages before this ISO 8601 timestamp (pagination) |
after | string | Messages after this ISO 8601 timestamp (incremental sync) |
summarize_conversationGenerate a summary of a conversation.
| Parameter | Type | Description |
|---|---|---|
conversation_id | string | The conversation ID |
manage_labelsManage WhatsApp Business labels — add, remove, create, or delete labels.
| Parameter | Type | Description |
|---|---|---|
action | string | add, remove, create, delete |
label_name | string | Label name |
label_id | string | Label ID (alternative to name) |
conversation_id | string | Required for add/remove |
manage_listsManage personal chat lists (custom lists). The personal account equivalent of Business labels — organize chats into custom categories.
Reading them is list_chat_lists / get_chat_list (read-only tools).
# List all custom lists (read-only tool)
list_chat_lists {}
get_chat_list { name: "Family" }
manage_lists { action: "create", name: "Work", conversation_id: "5511999887766@c.us" }
manage_lists { action: "add_chat", name: "Family", conversation_id: "5511999887766@c.us" }
manage_lists { action: "remove_chat", name: "Family", conversation_id: "5511999887766@c.us" }
manage_lists { action: "delete", name: "Old List" }
| Parameter | Type | Description |
|---|---|---|
action | string | create, edit, delete, add_chat, remove_chat |
id | string | List ID |
name | string | List name (for create/edit, or to resolve by name) |
conversation_id | string | Chat ID(s) to add/remove |
manage_chatManage chat state — archive, unarchive, mark as read/unread, pin, unpin, mute, unmute, set/clear draft messages.
# Archive a chat
manage_chat { action: "archive", conversation_id: "5511999887766@c.us" }
manage_chat { action: "mark_read", conversation_id: "5511999887766@c.us" }
manage_chat { action: "pin", conversation_id: "5511999887766@c.us" }
manage_chat { action: "mute", conversation_id: "5511999887766@c.us", mute_duration: "1w" }
manage_chat { action: "set_draft", conversation_id: "5511999887766@c.us", text: "Hey, I'll call you back" }
| Parameter | Type | Description |
|---|---|---|
action | string | archive, unarchive, mark_read, mark_unread, pin, unpin, mute, unmute, set_draft, clear_draft |
conversation_id | string | The conversation ID |
mute_duration | string | 8h, 1w, or forever (default). Only for mute |
text | string | Draft text. Required for set_draft |
manage_remindersCreate, change, complete or delete personal reminders. Stored in the cloud and delivered via the Kaption extension. Reading them is list_reminders / get_reminder (read-only tools).
# List active reminders (read-only tool)
list_reminders {}
manage_reminders { action: "create", title: "Follow up with client", datetime: "2026-03-07T14:00:00Z" }
manage_reminders { action: "complete", id: "rem_abc123" }
list_reminders { filter: "all" }
| Parameter | Type | Description |
|---|---|---|
action | string | create, update, delete, complete, uncomplete |
id | string | Reminder ID (for update/delete/complete/uncomplete) |
title | string | Reminder text (max 800 chars, no newlines) |
datetime | string | ISO 8601 datetime |
notification_type | string | extension, whatsapp, or automatic (default) |
manage_scheduled_messagesSchedule messages to be sent automatically at a specific time, in one of two modes:
The local mode has to be turned on by you in Kaption first (the "From this computer" option in the scheduling picker, after reading the limits and risks). An AI assistant can't turn it on; until you do, local requests are refused with (reason: no-consent). It is also rolled out gradually: where it isn't available yet, local requests are refused with (reason: flag-off) and the bot works as before.
Reading them is list_scheduled_messages / get_scheduled_message (read-only tools).
# List pending messages of both modes (each one has a "mode") — read-only tool
list_scheduled_messages {}
manage_scheduled_messages { action: "create", message: "Hey, just following up!", datetime: "2026-03-07T09:00:00Z", conversation_id: "5511999887766@c.us" }
manage_scheduled_messages { action: "create", mode: "local", message: "Running 10 min late", datetime: "2026-03-07T09:00:00-03:00", conversation_id: "5511999887766@c.us" } manage_scheduled_messages { action: "create", mode: "local", message: "Standup moved to 10", datetime: "2026-03-07T09:00:00Z", conversation_id: "120363000000000000@g.us" }
manage_scheduled_messages { action: "delete", id: "msg_abc123" } manage_scheduled_messages { action: "cancel", mode: "local", id: "3f2c…" }
| Parameter | Type | Description |
|---|---|---|
action | string | create, update, delete; with mode: "local" also cancel, remove (a finished one), send_now (a missed or failed one) |
mode | string | bot (default) or local |
id | string | Scheduled message ID (for update/delete/cancel/remove/send_now) |
conversation_id | string | Chat to send to (for create): a person, or a group with mode: "local" |
message | string | Message text. Bot: max 800 chars, no newlines. Local: up to 2000 chars |
datetime | string | ISO 8601 datetime when the message should be sent |
notification_type | string | Bot only: extension, whatsapp, or automatic (default) |
download_mediaDownload and decrypt media from a message (images, videos, audio, documents).
| Parameter | Type | Description |
|---|---|---|
message_id | string | The message ID containing media |
conversation_id | string | The conversation the message belongs to |
Returns base64-encoded media data with mimetype, size, duration, and caption.
manage_notesWrite a contact's note (WhatsApp Business). Reading it is get_contact_note { contact_id } (read-only tool).
| Parameter | Type | Description |
|---|---|---|
action | string | set |
contact_id | string | The contact ID |
| `no
ตัดมาแค่ช่วงต้น อ่านต่อใน repo