emailmd
Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.
作者提供的说明(英文原文)
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
Authorization标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
在终端中运行这条命令
claude mcp add --transport http vexa https://api.cloud.vexa.ai/mcp --header 'Authorization: your-value'运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"vexa": {
"url": "https://api.cloud.vexa.ai/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"vexa": {
"type": "http",
"url": "https://api.cloud.vexa.ai/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个地址需要在请求的 header 中放入密钥,而添加连接器的菜单无法设置。请改用 Claude Code、Cursor 或 VS Code。
你的选择通过 Cookie 保存在这台设备上,无需账户。
Authorization 机密 必填 HTTP header这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
服务器要求先登录,才会列出它的工具。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月6日
注册名称已通过域名 vexa.ai 验证(注册中心会核实域名所有权)
代码最后更新于前天
使用 Apache-2.0
在 920 毫秒内响应(HTTP 401)
需要你自己复制粘贴密钥或令牌
尚未检查;我们会在检查端点时读取工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 5 项适用的基础检查中通过了 4 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:Authorization
它在作者的云端运行。通过互联网连接,无需安装,但你发送的内容会经过作者的服务器。
GitHub 仓库最后更新于前天,最新版本(0.12.27)于2个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:emailmd, MCP WhatsApp Cloud, Gmail MCP Server
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
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
Lean Gmail MCP server with auto authentication support
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Open-source meeting bots and real-time transcription — cloud or fully self-hosted.
A bot joins your Google Meet, Microsoft Teams, and Zoom calls and streams speaker-attributed transcripts in real time — through our API or one *you* host — then feeds sandboxed agents that build a Markdown knowledge base your team owns. Apache-2.0, air-gap-ready. (Jitsi: join + capture offline-proven, live validation pending — #883.)
[vexa.ai](https://vexa.ai) runs Vexa 0.12 for meeting bots and transcription. Sandboxed knowledge agents are self-hosted only — self-host Vexa to run the full stack.
[Connect your agent](https://vexa.ai/connect?utm_source=github&utm_medium=readme) · [Get an API key](https://vexa.ai/start?utm_source=github&utm_medium=readme) · [Talk to the founder](https://cal.com/dmitrygrankin/web)
Every meeting-AI tool you can buy sends your conversations to *their* cloud and rents you access back. Vexa inverts that: run the stack yourself, point it at your own models, own what your meetings become.
No one else has all three:
Only here for the transcription API? It's a complete standalone product — send a bot,
read the stream, ignore the agent lane entirely.
Just want a bot in a meeting? Use the hosted service — no install. Sign in at vexa.ai/signin, copy your key from your account page, and send a bot:
curl -X POST "https://api.cloud.vexa.ai/bots" \
-H "X-API-Key: $API_KEY" -H "Content-Type: application/json" \ -d '{"platform":"google_meet","native_meeting_id":"abc-defg-hij","bot_name":"Vexa"}'
New accounts get $2 of free bot credit, no card required — about 6 hours of bot time at $0.30/hr (pricing). More calls: Send a bot.
That is also how you get the agent plane, which is not part of the hosted service. Self-host on one host, then explore it in the Terminal or drive it over the API. Linux (Ubuntu 24.04) is the production target; a Mac with Docker Desktop works fine for a local evaluation — everything runs in containers either way.
Prerequisites — make, Docker engine ≥ v26 (make all checks), and transcription: a free token at vexa.ai/account, or self-host the (GPU) transcription unit for a fully air-gapped setup. By default POST /bots requires STT and answers 503 when it is missing (make all warns when the credentials block in .env is empty). Capture-only is an explicit opt-out: {"transcribe_enabled": false} on the spawn (or set TRANSCRIBE_ENABLED=false for the deployment).
Build machine:
make allpulls the published, release-validated images — no build, so a
modest box is fine.
make lite(the single-container all-in-one image) is lighter still. Building
from this checkout instead (
make dev, for contributors) wants 8 vCPUs and 16 GB RAM.
git clone https://github.com/Vexa-ai/vexa.git && cd vexa
make all # full Docker Compose stack — seeds .env, pulls the images (bot included),
make dev builds from this checkout.
When make all finishes it prints your key and URLs:
Terminal UI : http://localhost:13000 # the web workbench
API gateway : http://localhost:18056 # the API API key : vxa_…
The Terminal is the way to see what Vexa can do. Open `http://localhost:13000` — you're already signed in to a self-host account. From the workbench you can, with no curl:
export API_KEY=vxa_...
export API_BASE=http://localhost:18056
curl -X POST "$API_BASE/bots" \ -H "X-API-Key: $API_KEY" -H "Content-Type: application/json" \ -d '{"platform":"google_meet","native_meeting_id":"abc-defg-hij","bot_name":"Vexa"}'
curl -H "X-API-Key: $API_KEY" "$API_BASE/transcripts/google_meet/abc-defg-hij"
curl -N -X POST "$API_BASE/agent/chat" \ -H "X-API-Key: $API_KEY" -H "Content-Type: application/json" \ -d '{"prompt":"What did we decide in my last meeting?"}'
platform is google_meet · teams · zoom · jitsi; native_meeting_id is the code from the join URL. The agent reply streams as Server-Sent Events — message-delta frames carry the text, commit frames mark anything it recorded into your workspace.
One gateway, two domains — Meetings (capture) and Agents (work the knowledge) — both running on the same runtime: the engine that spawns every bot and every agent in its own sandboxed container.
A bot and an agent are the same `runtime.v1` workload — isolated, ephemeral, reaped on idle — so the machinery already proven by thousands of meeting bots is exactly what runs your agents. Every arrow stays inside your network.
A CLI coding agent is just a process on Linux. The runtime makes that a multi-tenant, sandboxed execution layer safe to point at real business data — the same engine that already spawns Vexa's meeting bots in production.
runtime.v1 lifecycle, pluggable substrate — the same dispatch runs identically across:Backend (RUNTIME_BACKEND) | A workload is… | State |
|---|---|---|
| `docker` (default) | its own container via the Docker socket — brought up with make all | ✅ Shipped (open core) |
| `process` | a child process, no Docker socket required | ✅ Available |
| `k8s` | a bare Pod (kubectl run --restart=Never), scheduled across a cluster | ✅ Lifecycle + per-mount workspace isolation; Helm chart in deploy/helm |
Same control plane, same worker — only how the container is created changes. One laptop to a Kubernetes/OpenShift cluster, inside your walls.
Capture is the front door; agents make the knowledge compound. Every meeting compiles into your workspace — a git repo of Markdown (an Open Knowledge Format kg/ bundle) that agents (Claude Code, Codex, …) read and write like developers work a codebase.
This is Andrej Karpathy's LLM Wiki
pattern, run as a team service. The idea: don't RAG over raw documents — where the model
rediscovers everything from scratch on every question — have agents compile sources into
structured, interlinked markdown entity pages (people, companies, projects, decisions) so
knowledge compounds. Vexa builds that wiki for you from the richest source there is: your
meetings. Each call is ingested into entity pages; agents keep them current between calls; every
answer starts from what your team already knows — on your own servers.
Agents work *any* workspace; a meeting is just one trigger of four — chat, schedule (cron), event (e.g. incoming email), finished meeting. Meetings themselves are scheduled work: connect your calendar (ICS) and planned meetings appear with attendees — bots auto-join, agents prepare before the call and process after it.
Status (honest): capture, transcription, and speaker attribution are production; the
agent dispatch core is built and proven live end-to-end. What's still landing is tracked in
Status.
0.12 ships a new Terminal UI built to put the backend's scale — thousands of bots and agents — to work on your actual week. It opens on your meetings: coming up, live now, to review.
Each is a complete path to one outcome over the Agent API. Full guides at docs.vexa.ai.
💬 Chat with your workspace — ask an agent that has every meeting, email, and note as context; trusted chat can also record a decision (a git commit).
curl -N -X POST "$API_BASE/age