WhatsApp

io.github.mcp-dir由 GitHub 账号 mcp-dir 发布v0.1.0更新于 Oct 25, 2026

Connect a personal/Business WhatsApp account via QR pairing (multi-device, like WhatsApp Web). Send

已验证Streamable HTTP可网页运行效率与工作流沟通与协作

概览

AI 生成的概览

托管式 WhatsApp 连接器,让 AI 助手读取聊天、联系人和群组,搜索消息历史,并通过已配对账号发送和管理消息

可以做什么
列出已配对账号、聊天、联系人和群组,读取聊天元数据与群成员,并查看本地同步历史的覆盖范围、回填更早消息、对已存消息做全文搜索。发送文本和媒体消息,创建投票并投票,添加表情回应,将消息标记为已读。编辑、删除或转发消息,归档、置顶或静音聊天。创建、更新、退出或加入群组,管理成员,处理邀请链接和入群申请。配置出站 webhook 和按号码的代理设置。
适用场景
适合让助手整理或检索 WhatsApp 会话、起草并发送回复或媒体、发起投票,或管理群组而无需切换应用。最适合已运行配对 WhatsApp 账号、并希望从 Claude、ChatGPT、Cursor 等支持 MCP over HTTP 的客户端访问它的用户。
运行要求
远程 MCP over HTTP 端点,无需本地软件包或运行时。需通过二维码配对的 WhatsApp 个人或 Business 账号(多设备,类似 WhatsApp Web)。托管服务使用魔法链接登录,无需密码。可为每个连接设置可选的 SOCKS5 或 HTTPS 代理。
安装前请注意
该服务器可发送消息、创建投票、编辑或对所有人删除消息,以及添加、移除、提升或降级群成员,误操作会直接影响真实联系人。它是按活跃连接计费的专有托管服务,工具返回的消息数据会发送给你所连接的 LLM 主机。webhook 设置仅限所有者/管理员,且只接受 https 地址。

安装

在 SourceWeft 中

  1. 打开 控制台中的 WhatsApp,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.mcp-dir%2Fwhatsapp-mcp/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "whatsapp": {
      "type": "http",
      "url": "https://api.mcp.ai/p_whatsapp"
    }
  }
}

README

WhatsApp

WhatsApp para Claude, ChatGPT e agentes de IA

Conecte uma conta de WhatsApp pessoal/Business via pareamento por QR (multi-device, como o WhatsApp Web). Envie e leia mensagens, listas chats, contatos, grupos e faça busca full-text no histórico. Suporte opcional a proxy SOCKS5/HTTPS por conexão, recomendado para evitar bloqueios em IPs de datacenter (Cloudflare/AWS).

  • 📊 41 ferramentas
  • ✏️ Leitura e escrita
  • 💬 Funciona com qualquer cliente MCP: Claude Desktop, Cursor, VS Code, Cline, Continue
  • 🔑 Login via magic-link (sem senha)

English version · Documentação completa · Skill pra agentes


Instalar em 1 clique

Claude (Web e Desktop)

A Anthropic unificou a instalação de MCPs em claude.ai/customize/connectors. O mesmo link serve pra Claude Web e Claude Desktop (basta estar logado):

➕ Abrir no Claude e conectar

Manual (se o deeplink não abrir): claude.ai/customize/connectors → + → Adicionar conector personalizado → cole Nome WhatsApp e URL https://api.mcp.ai/p_whatsapp.

Cursor

➕ Instalar WhatsApp no Cursor

VS Code (Copilot Chat)

➕ Instalar WhatsApp no VS Code

ChatGPT, Manus, OpenClaw e mais 40+ clientes

Funciona em qualquer cliente MCP que suporte MCP over HTTP. A URL do servidor é sempre:

https://api.mcp.ai/p_whatsapp

Detalhes por cliente: INSTALL.md.


Exemplos de uso

Liste meus últimos 20 chats no WhatsAppBusque no histórico todas as mensagens que mencionem 'reunião'Envie 'Cheguei!' para +5511999999999

41 ferramentas disponíveis

ToolDescrição
whatsapp_list_accountsList WhatsApp accounts paired to this install — wa_jid, phone, label, proxy on/off, status.
whatsapp_syncRefresh this account's local data from WhatsApp — pulls recent messages and refreshes the groups/contacts lists into the local store.
whatsapp_send_textSend a WhatsApp message (text or media).
whatsapp_send_mediaSend a WhatsApp message (text or media).
whatsapp_chatsList WhatsApp chats (individual + group).
whatsapp_messagesList messages in a chat from LOCAL history.
whatsapp_messages_writeMark messages as read in a chat.
whatsapp_contacts_listRead WhatsApp contacts. Actions: - list: search across contacts (query optional — substring on name/phone). Default limit 50. - get: full contact info by JID. [Flattened action: list]
whatsapp_contacts_getRead WhatsApp contacts. Actions: - list: search across contacts (query optional — substring on name/phone). Default limit 50. - get: full contact info by JID. [Flattened action: get]
whatsapp_groupsList WhatsApp groups the account belongs to — subject, jid, participants count, owner.
whatsapp_group_membersList the members of a WhatsApp group (live).
whatsapp_group_participants_addManage participants of a WhatsApp group (the connected account must be a group admin).
whatsapp_group_participants_removeManage participants of a WhatsApp group (the connected account must be a group admin).
whatsapp_group_participants_promoteManage participants of a WhatsApp group (the connected account must be a group admin).
whatsapp_group_participants_demoteManage participants of a WhatsApp group (the connected account must be a group admin).
whatsapp_reactReact to a message with an emoji (or remove your reaction by passing an empty emoji).
whatsapp_poll_createSend a poll or vote on one. Actions: - create: { to, name, options[] (2–12), selectable_count? } - vote: { chat_jid, message_id, options[] (the option texts to select) } [Flattened action: create] Bulk support: accept…
whatsapp_poll_voteSend a poll or vote on one. Actions: - create: { to, name, options[] (2–12), selectable_count? } - vote: { chat_jid, message_id, options[] (the option texts to select) } [Flattened action: vote] Bulk support: accepts…
whatsapp_message_deleteManage a message you can act on.
whatsapp_message_forwardManage a message you can act on.
whatsapp_message_editManage a message you can act on.
whatsapp_chat_metadataGet metadata for a single chat (subject/name, archived/pinned/muted state, unread count, timestamps).
whatsapp_chat_archiveChange a chat's state. action: archive/unarchive, pin/unpin, mute/unmute. Requires chat_jid. [Flattened action: archive]
whatsapp_chat_unarchiveChange a chat's state. action: archive/unarchive, pin/unpin, mute/unmute. Requires chat_jid. [Flattened action: unarchive]
whatsapp_chat_pinChange a chat's state. action: archive/unarchive, pin/unpin, mute/unmute. Requires chat_jid. [Flattened action: pin]
whatsapp_chat_unpinChange a chat's state. action: archive/unarchive, pin/unpin, mute/unmute. Requires chat_jid. [Flattened action: unpin]
whatsapp_chat_muteChange a chat's state. action: archive/unarchive, pin/unpin, mute/unmute. Requires chat_jid. [Flattened action: mute]
whatsapp_chat_unmuteChange a chat's state. action: archive/unarchive, pin/unpin, mute/unmute. Requires chat_jid. [Flattened action: unmute]
whatsapp_group_manage_createGroup lifecycle/admin (the connected account must be a group admin for most actions).
whatsapp_group_manage_leaveGroup lifecycle/admin (the connected account must be a group admin for most actions).
whatsapp_group_manage_updateGroup lifecycle/admin (the connected account must be a group admin for most actions).
whatsapp_group_manage_invite_linkGroup lifecycle/admin (the connected account must be a group admin for most actions).
whatsapp_group_manage_joinGroup lifecycle/admin (the connected account must be a group admin for most actions).
whatsapp_group_manage_requestsGroup lifecycle/admin (the connected account must be a group admin for most actions).
whatsapp_searchFull-text search across all stored messages (SQLite FTS5).
whatsapp_history_coverageShow how far back the LOCAL message archive reaches per chat (oldest_ts, newest_ts, message_count, status).
whatsapp_history_backfillRequest OLDER messages for a chat from your phone (on-demand history sync), extending what whatsapp_messages can read.
whatsapp_webhook_getShow this WhatsApp install's outbound webhook: the current URL, the subscribed events (empty = all), include_result, and the catalog of subscribable events (available_events — e.g.
whatsapp_webhook_setSet (or remove) this WhatsApp install's outbound webhook.
whatsapp_config_getShow this install's editable-after-connect settings per connected number — currently the proxy (proxy_url): whether it's set and a masked preview (the raw value is never returned).
whatsapp_config_setChange an editable-after-connect setting on a connected number WITHOUT re-pairing.

Detalhe de cada tool: docs/ferramentas.md


Preços

Cobrança por conexão ativa. Veja docs/precos.md.


Privacidade & LGPD

  • Sub-processadores: o LLM host que você escolher (Claude, ChatGPT, Cursor, agente próprio). Lista completa em docs/privacidade-lgpd.md.
  • Os dados retornados pelas tools são enviados ao LLM host que você escolher, sub-processador fora do nosso controle. Recomendamos planos com opt-out de treinamento.

Perguntas frequentes

O servidor é open source? O servidor é proprietário (hosted). Este repositório é o wrapper público com manifestos, docs e skills — tudo MIT.

Posso usar com agente próprio (não Claude/Cursor)? Sim — qualquer cliente que suporte MCP over HTTP. URL: https://api.mcp.ai/p_whatsapp.


Suporte


Licença

MIT — veja LICENSE. O servidor MCP em api.mcp.ai/p_whatsapp é proprietário (hosted); este repositório (manifestos, docs, skills) é MIT.

来源:README.md,提交 db5d8a5

工具

47

whatsapp_list_accounts

List WhatsApp accounts paired to this install — wa_jid, phone, label, proxy on/off, status.

输入参数account

whatsapp_sync

Refresh this account's local data from WhatsApp — pulls recent messages and refreshes the groups/contacts lists into the local store. Call it BEFORE reading (chats/groups/messages/contacts/search) when results look stale or empty (e.g. right after connecting, or an account that hasn't synced recently). Connects live, so it may take ~20–60s. Returns { messages_stored }.

输入参数account

whatsapp_send_text

Send a WhatsApp message (text or media). Actions: - text: { to, text, reply_to? } - media: { to, type ('image'|'video'|'audio'|'document'|'sticker'), media_url | media_base64, caption?, filename?, mimetype? } `to` accepts either a JID ('[email protected]', '<id>@g.us') or a plain phone (digits, country code included). For groups always use the '<id>@g.us' JID — get it from whatsapp_groups. [Flattened action: text]

输入参数to必填texttypeaccountcaptionfilenamemimetypereply_tomedia_urlmedia_base64

whatsapp_send_media

Send a WhatsApp message (text or media). Actions: - text: { to, text, reply_to? } - media: { to, type ('image'|'video'|'audio'|'document'|'sticker'), media_url | media_base64, caption?, filename?, mimetype? } `to` accepts either a JID ('[email protected]', '<id>@g.us') or a plain phone (digits, country code included). For groups always use the '<id>@g.us' JID — get it from whatsapp_groups. [Flattened action: media]

输入参数to必填texttypeaccountcaptionfilenamemimetypereply_tomedia_urlmedia_base64

whatsapp_chats

List WhatsApp chats (individual + group). Sorted by most recent activity.

输入参数limitaccountarchived

whatsapp_messages

List messages in a chat from LOCAL history. Requires chat_jid (from whatsapp_chats). Paginate backwards by passing the oldest message's timestamp as `before` (ISO 8601); `after` pages forward; `order` sorts. NOTE: only messages already synced locally are returned — to see how far back the archive goes use whatsapp_history_coverage, and to pull OLDER messages from your phone use whatsapp_history_backfill.

输入参数afterlimitordersincebeforeaccountchat_jid必填

whatsapp_messages_write

Mark messages as read in a chat. Requires chat_jid. Optional message_id (marks up to this message; omit to mark all unread). Bulk support: accepts message_ids for batched execution.

输入参数accountchat_jid必填message_idmessage_ids

whatsapp_contacts_list

Read WhatsApp contacts. Actions: - list: search across contacts (query optional — substring on name/phone). Default limit 50. - get: full contact info by JID. [Flattened action: list]

输入参数jidlimitqueryaccount

whatsapp_contacts_get

Read WhatsApp contacts. Actions: - list: search across contacts (query optional — substring on name/phone). Default limit 50. - get: full contact info by JID. [Flattened action: get]

输入参数jidlimitqueryaccount

whatsapp_groups

List WhatsApp groups the account belongs to — subject, jid, participants count, owner.

输入参数account

whatsapp_group_members

List the members of a WhatsApp group (live). Returns each participant's JID, phone, and admin/super-admin flag. Requires group_jid (…@g.us, from whatsapp_groups).

输入参数accountgroup_jid必填

whatsapp_group_participants_add

Manage participants of a WhatsApp group (the connected account must be a group admin). action: 'remove' kicks members, 'promote' makes them admin, 'demote' removes admin, 'add' invites. Pass 1–50 phone numbers (+E164) or JIDs in `users`. [Flattened action: add]

输入参数users必填accountgroup_jid必填

whatsapp_group_participants_remove

Manage participants of a WhatsApp group (the connected account must be a group admin). action: 'remove' kicks members, 'promote' makes them admin, 'demote' removes admin, 'add' invites. Pass 1–50 phone numbers (+E164) or JIDs in `users`. [Flattened action: remove]

输入参数users必填accountgroup_jid必填

whatsapp_group_participants_promote

Manage participants of a WhatsApp group (the connected account must be a group admin). action: 'remove' kicks members, 'promote' makes them admin, 'demote' removes admin, 'add' invites. Pass 1–50 phone numbers (+E164) or JIDs in `users`. [Flattened action: promote]

输入参数users必填accountgroup_jid必填

whatsapp_group_participants_demote

Manage participants of a WhatsApp group (the connected account must be a group admin). action: 'remove' kicks members, 'promote' makes them admin, 'demote' removes admin, 'add' invites. Pass 1–50 phone numbers (+E164) or JIDs in `users`. [Flattened action: demote]

输入参数users必填accountgroup_jid必填

whatsapp_react

React to a message with an emoji (or remove your reaction by passing an empty emoji). Requires chat_jid + message_id. Bulk support: accepts message_ids for batched execution.

输入参数emojiaccountchat_jid必填message_id必填message_ids

whatsapp_poll_create

Send a poll or vote on one. Actions: - create: { to, name, options[] (2–12), selectable_count? } - vote: { chat_jid, message_id, options[] (the option texts to select) } [Flattened action: create] Bulk support: accepts message_ids for batched execution.

输入参数tonameaccountoptions必填chat_jidmessage_idmessage_idsselectable_count

whatsapp_poll_vote

Send a poll or vote on one. Actions: - create: { to, name, options[] (2–12), selectable_count? } - vote: { chat_jid, message_id, options[] (the option texts to select) } [Flattened action: vote] Bulk support: accepts message_ids for batched execution.

输入参数tonameaccountoptions必填chat_jidmessage_idmessage_idsselectable_count

whatsapp_message_delete

Manage a message you can act on. Actions: - delete: { chat_jid, message_id, for_everyone? (default true) } — delete for everyone (your msg) or just for you - forward: { chat_jid, message_id, to } — forward a stored message to another chat - edit: { chat_jid, message_id, text } — edit one of your recent text messages [Flattened action: delete] Bulk support: accepts message_ids for batched execution.

输入参数totextaccountchat_jid必填message_id必填message_idsfor_everyone

whatsapp_message_forward

Manage a message you can act on. Actions: - delete: { chat_jid, message_id, for_everyone? (default true) } — delete for everyone (your msg) or just for you - forward: { chat_jid, message_id, to } — forward a stored message to another chat - edit: { chat_jid, message_id, text } — edit one of your recent text messages [Flattened action: forward] Bulk support: accepts message_ids for batched execution.

输入参数totextaccountchat_jid必填message_id必填message_idsfor_everyone

whatsapp_message_edit

Manage a message you can act on. Actions: - delete: { chat_jid, message_id, for_everyone? (default true) } — delete for everyone (your msg) or just for you - forward: { chat_jid, message_id, to } — forward a stored message to another chat - edit: { chat_jid, message_id, text } — edit one of your recent text messages [Flattened action: edit] Bulk support: accepts message_ids for batched execution.

输入参数totextaccountchat_jid必填message_id必填message_idsfor_everyone

whatsapp_chat_metadata

Get metadata for a single chat (subject/name, archived/pinned/muted state, unread count, timestamps). Requires chat_jid.

输入参数accountchat_jid必填

whatsapp_chat_archive

Change a chat's state. action: archive/unarchive, pin/unpin, mute/unmute. Requires chat_jid. [Flattened action: archive]

输入参数accountchat_jid必填duration_secs

whatsapp_chat_unarchive

Change a chat's state. action: archive/unarchive, pin/unpin, mute/unmute. Requires chat_jid. [Flattened action: unarchive]

输入参数accountchat_jid必填duration_secs

whatsapp_chat_pin

Change a chat's state. action: archive/unarchive, pin/unpin, mute/unmute. Requires chat_jid. [Flattened action: pin]

输入参数accountchat_jid必填duration_secs

whatsapp_chat_unpin

Change a chat's state. action: archive/unarchive, pin/unpin, mute/unmute. Requires chat_jid. [Flattened action: unpin]

输入参数accountchat_jid必填duration_secs

whatsapp_chat_mute

Change a chat's state. action: archive/unarchive, pin/unpin, mute/unmute. Requires chat_jid. [Flattened action: mute]

输入参数accountchat_jid必填duration_secs

whatsapp_chat_unmute

Change a chat's state. action: archive/unarchive, pin/unpin, mute/unmute. Requires chat_jid. [Flattened action: unmute]

输入参数accountchat_jid必填duration_secs

whatsapp_group_manage_create

Group lifecycle/admin (the connected account must be a group admin for most actions). Actions: - create: { name, participants[] } - leave: { group_jid } - update: { group_jid, name?, description? } - invite_link: { group_jid, link_action: 'get'|'revoke' } - join: { invite } (invite code or full invite link) - requests: { group_jid, req_action: 'list'|'approve'|'reject', users? } [Flattened action: create]

输入参数nameusersinviteaccountgroup_jidreq_actiondescriptionlink_actionparticipants

whatsapp_group_manage_leave

Group lifecycle/admin (the connected account must be a group admin for most actions). Actions: - create: { name, participants[] } - leave: { group_jid } - update: { group_jid, name?, description? } - invite_link: { group_jid, link_action: 'get'|'revoke' } - join: { invite } (invite code or full invite link) - requests: { group_jid, req_action: 'list'|'approve'|'reject', users? } [Flattened action: leave]

输入参数nameusersinviteaccountgroup_jidreq_actiondescriptionlink_actionparticipants

whatsapp_group_manage_update

Group lifecycle/admin (the connected account must be a group admin for most actions). Actions: - create: { name, participants[] } - leave: { group_jid } - update: { group_jid, name?, description? } - invite_link: { group_jid, link_action: 'get'|'revoke' } - join: { invite } (invite code or full invite link) - requests: { group_jid, req_action: 'list'|'approve'|'reject', users? } [Flattened action: update]

输入参数nameusersinviteaccountgroup_jidreq_actiondescriptionlink_actionparticipants

whatsapp_group_manage_join

Group lifecycle/admin (the connected account must be a group admin for most actions). Actions: - create: { name, participants[] } - leave: { group_jid } - update: { group_jid, name?, description? } - invite_link: { group_jid, link_action: 'get'|'revoke' } - join: { invite } (invite code or full invite link) - requests: { group_jid, req_action: 'list'|'approve'|'reject', users? } [Flattened action: join]

输入参数nameusersinviteaccountgroup_jidreq_actiondescriptionlink_actionparticipants

whatsapp_group_manage_requests

Group lifecycle/admin (the connected account must be a group admin for most actions). Actions: - create: { name, participants[] } - leave: { group_jid } - update: { group_jid, name?, description? } - invite_link: { group_jid, link_action: 'get'|'revoke' } - join: { invite } (invite code or full invite link) - requests: { group_jid, req_action: 'list'|'approve'|'reject', users? } [Flattened action: requests]

输入参数nameusersinviteaccountgroup_jidreq_actiondescriptionlink_actionparticipants

whatsapp_history_coverage

Show how far back the LOCAL message archive reaches per chat (oldest_ts, newest_ts, message_count, status). Use it to find pagination boundaries for whatsapp_messages and to decide whether to pull more with whatsapp_history_backfill. Optional query (filter by name/JID), kind, limit, or a single chat_jid.

输入参数kindlimitqueryaccountchat_jid

whatsapp_history_backfill

Request OLDER messages for a chat from your phone (on-demand history sync), extending what whatsapp_messages can read. Returns { status, messages_added }: - "done"/"partial": it pulled messages_added new messages — read them via whatsapp_messages (paginate with `before`). "partial" means WhatsApp stopped early; wait and retry for more. - "cooldown": you requested this chat <60s ago (retry_after_s tells you when). WhatsApp THROTTLES back-to-back requests — DO NOT retry in a loop; wait, then try once. - "timeout": the phone didn't deliver in time (offline or throttled) — already-synced history is still readable; retry later. BEST-EFFORT (gated by WhatsApp): one call usually pulls a batch (~50–70 msgs); pulling much deeper repeatedly often won't work. Connects live, may take up to ~1 minute. The initial sync already loaded deep history for most chats — check whatsapp_history_coverage first; only backfill when a chat's oldest_ts isn't far enough back.

输入参数countaccountchat_jid必填requests

whatsapp_webhook_get

Show this WhatsApp install's outbound webhook: the current URL, the subscribed events (empty = all), include_result, and the catalog of subscribable events (available_events — e.g. whatsapp.message, whatsapp.reaction, and the whatsapp.* wildcard). Owner/admin only.

无需输入参数。

whatsapp_webhook_set

Set (or remove) this WhatsApp install's outbound webhook. Owner/admin only. - To set: pass `url` (https only, not localhost). `events` is the list of subscribed events ("permissions") — e.g. ["whatsapp.message"], or ["whatsapp.*"] for every WhatsApp event, or [] / omit for ALL events. See available_events from whatsapp_webhook_get. `include_result` (default true) controls whether the tool result is included in tool.call payloads. `secret` is optional (reserved). - Subscribing to any whatsapp.* event makes the daemon hold a live connection per number and forward inbound messages to your URL. - To remove the webhook: pass `remove: true` (or an empty url).

输入参数urleventsremovesecretinclude_result

whatsapp_config_get

Show this install's editable-after-connect settings per connected number — currently the proxy (proxy_url): whether it's set and a masked preview (the raw value is never returned). Owner/admin or the connection owner.

无需输入参数。

whatsapp_config_set

Change an editable-after-connect setting on a connected number WITHOUT re-pairing. Today the only field is `proxy_url` — the SOCKS5/HTTPS proxy WhatsApp connects through (recommended to avoid IP bans). Owner/admin or the connection owner. - `account`: which number (id/wa_jid, phone, or label; omit if only one is connected). - `values`: e.g. { "proxy_url": "socks5://user:pass@host:port" }. An empty string CLEARS the field (e.g. { "proxy_url": "" } connects with no proxy); omit the key to keep the current value. The new value applies on the next (re)connection; the live session cache is invalidated so the next tool call uses it.

输入参数values必填account

show_version

Show Version

Show the current MCP platform and adapter versions.

无需输入参数。

report_bug

Report Bug

Report a bug, missing feature, or send feedback. Include the conversation array with recent messages for reproduction.

输入参数contextmessage必填conversation

connect

Connection Status

Returns connection status and URLs. When all providers are connected, returns authenticated:true and empty pending[]. When credentials are missing, returns connect_url for the toolkit and per-install URLs.

无需输入参数。

toolkit_info

Toolkit Info

Returns the current toolkit state: installed MCPs, their connection status, the accounts connected to each one, and how many catalog tools each exposes.

无需输入参数。

marketplace

Marketplace

The official mcp.ai marketplace — the in-platform catalog of every MCP/tool, AND the way to run them. Covers capability requests like "find an MCP that does X", "consulta um CPF", "is there a tool for Y". Core flow: action=search discovers MCPs by intent → describe returns one MCP's full profile (every tool with its id + params, pricing, auth) so you pick the right tool_id → invoke RUNS that tool. KEY: invoke works even when the MCP is NOT installed — it runs the tool pontualmente (one-off), without adding the MCP to the toolkit and without bloating the tool list. If the MCP needs a credential/login, invoke returns a connect link; if it is paid and the wallet is empty, invoke returns a checkout/top-up link (the user opens it, then you retry). Use install only to make an MCP PERMANENT in the active toolkit (its tools then show up natively in future sessions); prefer invoke for a single/occasional use. list_tools lists what is callable right now. subscribe/cancel handle per-MCP billing; report_bug sends feedback; request_mcp asks us to build a NEW MCP when nothing fits. Search/describe flag installed_in_toolkit vs installed_in_workspace. Writes (install/uninstall/subscribe/cancel and the one-off install behind invoke) require workspace owner/admin. It also carries the mcp.ai PROMPT LIBRARY, which is about ready-made prompt TEXT rather than MCPs: search_prompts finds one, get_prompt returns its full text with {{variables}} filled, and publish_prompt saves a prompt and returns a shareable mcp.ai/p/<slug> link that opens without login.

输入参数limitqueryactionmcp_idmessagetool_idargumentsimmediatetier_slugprompt_bodyprompt_slugprompt_tool另有 11 个

authenticate

Authenticate

MCP.AI for IDE agents (Cursor, etc.): log in in the browser, copy the access token. Best: add it to this server's config as a header `Authorization: Bearer <token>` for a permanent, non-expiring connection. Or paste it here for a session-only login: call with { token: "<jwt>" } after the user pastes, or with no args to get the link.

输入参数token

版本历史

1
  1. v0.1.0最新Sep 16, 2026

评分

已满足适用检查项的 100%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分