Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
作者提供的说明(英文原文)
Email inboxes for AI agents: send, receive, search, drafts with owner approval, and webhooks.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
Authorization标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
在终端中运行这条命令
claude mcp add --transport http cooper-email https://cooperemail.com/mcp --header 'Authorization: your-value'运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"cooper-email": {
"url": "https://cooperemail.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"cooper-email": {
"type": "http",
"url": "https://cooperemail.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
你的选择通过 Cookie 保存在这台设备上,无需账户。
Authorization 机密 HTTP header这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
我们还没有读取这个服务器的工具列表;我们会轮流检查各个端点。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月8日
注册名称已通过域名 cooperemail.com 验证(注册中心会核实域名所有权)
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
尚未检查;我们会轮流检查各个端点
尚未检查;我们会轮流检查各个端点
尚未检查;我们会在检查端点时读取工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:Authorization
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于–,最新版本(1.4.0)于28天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Vexa, emailmd, MCP WhatsApp Cloud
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
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
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Email inboxes for AI agents. Give an agent its own address on cooperemail.com, let it send and receive real email over a simple HTTP API, get signed webhooks when mail arrives, and loop a human in by email when the agent needs a decision.
This repository holds the open-source client side of Cooper Email: the TypeScript and Python SDKs, framework tool packages, MCP client config, and examples. The hosted service itself is not in this repo.
your-agent@cooperemail.com), and an API key. No dashboard needed.client_id.progress / needs_input / done / error updates, and receive their replies as tasks you can long-poll and answer in-thread. Replies carry SPF/DKIM/DMARC results and a verified_owner flag.message.received, message.sent, task.received, and owner.reply, signed with HMAC-SHA256 (x-cooper-signature: sha256= ), optionally filtered to one inbox.https://cooperemail.com/mcp works with Claude, ChatGPT, Cursor, and other MCP clients.com.cooperemail/cooper-email/plugin marketplace add cooper-email/cooper-email, then /plugin install cooper-email@cooper-emailSupported through a config file; no directory listing yet. Copy-paste configs: https://cooperemail.com/integrations
The same list is published at https://cooperemail.com/#available-on and in https://cooperemail.com/llms.txt.
This repository is also a Cursor plugin (.cursor-plugin/plugin.json). It registers the hosted MCP server https://cooperemail.com/mcp (OAuth sign-in on first use; no key in the config) and adds these skills from skills/:
| Skill | What it covers |
|---|---|
cooper-email | Overview: connect, everyday tools, checking mail, safety |
cooper-agent-inbox | Create an inbox, send, read, reply, wait for mail |
cooper-check-email | Read, search, triage, attachments, read/unread labels |
cooper-send-email | Send, reply, forward, drafts, scheduled send, idempotent retries |
cooper-manage-inboxes | Create (single, batch, temporary), pause, update, delete inboxes |
cooper-owner-approval | Owner-approved drafts: a human approves each send by email |
cooper-agent-signup-otp | Sign up as the agent and read the emailed verification code |
cooper-owner-updates | Progress emails and daily digests to an owner; replies become tasks |
cooper-custom-domains | Inboxes on your own domain (Starter and Pro) |
cooper-mcp | MCP setup and troubleshooting for Cursor and other clients |
cooper-agent-email-patterns | Architecture patterns and threat model for agent email |
cooper-webhooks | One-call push webhooks, signature checks, test and re-enable |
cooper-suppressions-bounces | Bounces, complaints, the suppression list, and rates |
cooper-idempotent-sends | Retry-safe sends and creates with idempotency keys |
cooper-sms | SMS status (coming soon) and the email alternatives today |
To try it locally before it is listed, copy this repository into ~/.cursor/plugins/local/cooper-email and run Developer: Reload Window. To use an API key instead of OAuth, see skills/cooper-mcp.
The cooper-email npm package is not published yet. Connect the hosted MCP server and install the skills from this repository.
Hosted MCP: https://cooperemail.com/mcp (Streamable HTTP). Sign in with OAuth on first use, or send Authorization: Bearer coop_live_…. Per-client steps are in Connect the hosted MCP server. In Cursor, the plugin above registers that server.
Skills: the guides in skills/, listed in the table above. Install one with the skills CLI:
npx skills add cooper-email/cooper-email --skill cooper-email
Replace cooper-email with any other name from that table (cooper-check-email, cooper-send-email, cooper-mcp, and the rest). The skill is written to ~/.agents/skills/ / and, for Claude Code, ~/.claude/skills/ /.
| Package | Language | Install | Source |
|---|---|---|---|
cooper-email | TypeScript / JavaScript SDK | npm install cooper-email | packages/cooper-email |
cooper-email | Python | pip install cooper-email | packages/cooper-email-python |
cooper-email-langchain | TypeScript | npm install cooper-email-langchain | packages/langchain |
cooper-email-langchain | Python | pip install cooper-email-langchain | packages/langchain-py |
cooper-email-ai (Vercel AI SDK) | TypeScript | npm install cooper-email-ai | packages/ai |
cooper-email-mastra | TypeScript | npm install cooper-email-mastra | packages/mastra |
cooper-email-anthropic | TypeScript | npm install cooper-email-anthropic | packages/anthropic |
cooper-email-anthropic | Python | pip install cooper-email-anthropic | packages/anthropic-py |
cooper-email-openai-agents | TypeScript | npm install cooper-email-openai-agents | packages/openai-agents |
cooper-email-openai-agents | Python | pip install cooper-email-openai-agents | packages/openai-agents-py |
cooper-email-llamaindex | Python | pip install cooper-email-llamaindex | packages/llamaindex |
cooper-email-crewai | Python | pip install cooper-email-crewai | packages/crewai |
n8n-nodes-cooper-email | n8n community node | npm install n8n-nodes-cooper-email | packages/n8n-nodes-cooper-email |
cooper-email-openapi | OpenAPI 3.1 (Zapier, Make) | npm install cooper-email-openapi | packages/openapi |
Registry releases are in progress. If a package is not on npm or PyPI yet, install it from this repo (see Development).
Onboarding needs no auth. It returns an API key (coop_live_…, shown once) and your first inbox:
curl -s -X POST https://cooperemail.com/api/v1/onboard \
-H 'content-type: application/json' \ -d '{"username":"my-agent"}'
Store the key in an environment variable such as COOPER_API_KEY. Do not commit it.
npm install cooper-email
import { Cooper } from "cooper-email";
const cooper = new Cooper({ apiKey: process.env.COOPER_API_KEY });
const inbox = await cooper.inboxes.create({ username: "research-bot", displayName: "Research" });
await cooper.messages.send(inbox.id, { to: ["ada@example.com"], subject: "Hello from my agent", text: "Does Tuesday work?", clientId: "hello-1", // repeat-safe: the same clientId returns the original message });
const { data: messages } = await cooper.messages.list(inbox.id, { limit: 20 }); const results = await cooper.search("tuesday");
Human in the loop:
await cooper.owners.add(inbox.id, { email: "ada@example.com" }); // Ada confirms by email
await cooper.updates.notify({ inboxId: inbox.id, kind: "needs_input", text: "Which vendor should I book?", });
const tasks = await cooper.tasks.list({ inboxId: inbox.id, wait: 25 }); // long-poll, max 25 s const task = tasks.data.find((t) => t.verified_owner && t.trusted); if (task) await cooper.tasks.reply(task.id, { text: "Booked.", status: "done" });
Full reference: packages/cooper-email/README.md.
pip install cooper-email
import os
from cooper_email import Cooper
with Cooper(api_key=os.environ["COOPER_API_KEY"]) as cooper: inbox = cooper.inboxes.create("research-bot", display_name="Research")
cooper.messages.send( inbox["id"], to=["ada@example.com"], subject="Hello from my agent", text="Does Tuesday work?", client_id="hello-1", )
messages = cooper.messages.list(inbox["id"], limit=20) results = cooper.search("tuesday")
cooper.owners.add(inbox["id"], "ada@example.com") cooper.updates.notify(inbox["id"], "needs_input", "Which vendor should I book?") tasks = cooper.tasks.list(inbox_id=inbox["id"], wait=25)["data"] for task in tasks: if task["verified_owner"] and task["trusted"]: cooper.tasks.reply(task["id"], "Booked.", status="done")
AsyncCooper has the same methods with await. Full reference: packages/cooper-email-python/README.md.
Register a URL, then verify every delivery against the raw request body:
import { Cooper, verifyWebhookSignature } from "cooper-email";
const cooper = new Cooper({ apiKey: process.env.COOPER_API_KEY }); await cooper.webhooks.create({ url: "https://example.com/hooks/cooper", events: ["message.received", "task.received"], secret: process.env.COOPER_WEBHOOK_SECRET, });
// In your handler: const ok = verifyWebhookSignature({ secret: process.env.COOPER_WEBHOOK_SECRET!, payload: rawBody, signature: request.headers.get("x-cooper-signature"), });
Python: from cooper_email import verify_webhook_signature. Event bodies look like { "id", "type", "created_at", "data" }.
Connect https://cooperemail.com/mcp and use the skills in skills/ (above). To configure a client by hand:
Endpoint: `https://cooperemail.com/mcp` (Streamable HTTP). Claude and ChatGPT connectors sign in with OAuth. Cursor, Claude Code, and scripts can send Authorization: Bearer coop_live_…. The cooper_onboard tool works before you have a key.
Claude (claude.ai / Claude Desktop): Settings → Connectors → Add custom connector. Name Cooper Email, URL https://cooperemail.com/mcp, then approve Cooper on the OAuth screen. Then ask: "Create a Cooper Email inbox for research-bot."
Claude Code:
claude mcp add --transport http cooper-email https://cooperemail.com/mcp
Or install the Claude Code plugin (MCP server plus email and human-in-the-loop skills) from this repo:
/plugin marketplace add cooper-email/cooper-email
/plugin install cooper-email@coo
只显示了开头部分;其余内容请在仓库中阅读