Vexa-ai

Vexa

Community Vexa-ai
Updated

Open-source meeting transcription API for Google Meet, Microsoft Teams & Zoom. Auto-join bots, real-time WebSocket transcripts, MCP server for AI agents. Self-host or use hosted SaaS.

Vexa

Open-source meeting bot API & transcription API

meeting bots • real-time transcription • interactive bots • MCP server • self-hosted

Google Meet     •     Microsoft Teams     •     Zoom

       

What's new • Quickstart • API • Docs • Roadmap • Discord

Vexa is an open-source, self-hostable meeting bot API and meeting transcription API for Google Meet, Microsoft Teams, and Zoom. Alternative to Recall.ai, Otter.ai, and Fireflies.ai — self-host so meeting data never leaves your infrastructure, or use vexa.ai hosted.

Data sovereignty — self-host so meeting data never leaves your infrastructure

Cost — replace $20/seat SaaS with your own infrastructure

Embed in your product — multi-tenant meeting bot API with scoped tokens

AI agents — MCP server with 17 tools

Capabilities

Meeting bot API Send a bot to any meeting: auto-join, record, speak, chat, share screen. Open-source alternative to Recall.ai.
Meeting transcription API Real-time transcripts via REST API and WebSocket. Self-hosted alternative to Otter.ai and Fireflies.ai.
Real-time transcription Sub-second per-speaker transcripts during the call. 100+ languages via Whisper. WebSocket streaming.
Interactive bots Make bots speak, send/read chat, share screen content, and set avatar in live meetings.
Browser bots CDP + Playwright browser automation with persistent authenticated sessions via S3.
MCP server 17 meeting tools for Claude, Cursor, Windsurf. AI agents join calls, read transcripts, speak in meetings.
Multi-tenant Users, scoped API tokens, isolated containers. Deploy once, serve your team.
Dashboard Open-source Next.js web UI — meetings, transcripts, agent chat, browser sessions. Ready to use out of the box.
Self-hostable Run on your infra. Meeting data never leaves your infrastructure.

Every feature is a separate service. Pick what you need, skip what you don't. Self-host everything or use vexa.ai hosted.

Why Self-Host Meeting Transcription?

For regulated industries — banks, financial services, healthcare — meeting data can't leave your infrastructure. Self-hosting Vexa means zero external data transmission and full audit trail on your own infrastructure.

For cost-conscious teams — replace per-seat SaaS pricing. A team paying $17/seat/mo for meeting transcription can self-host Vexa and drop that to infrastructure cost.

For developers — embed a meeting bot API in your product. Multi-tenant, scoped API tokens, no per-user infrastructure.

Build meeting assistants like Otter.ai, Fireflies.ai, or Fathom — or build a meeting bot API like Recall.ai — self-hosted on your infrastructure.

  • Vexa (self-host) — your infra cost. Data never leaves your infrastructure. Meeting bot API, real-time transcription, interactive bots, MCP server. Open source, Apache 2.0. Google Meet, Teams, Zoom.
  • Recall.ai — $0.50/hr. No self-hosting. Meeting bot API, real-time transcription. No MCP, limited interactive bots. Closed source. Meet, Teams, Zoom, Webex.
  • Otter.ai — $17-20/seat/mo. No self-hosting. No API. Limited real-time transcription. Closed source. Meet, Teams, Zoom.

Or use vexa.ai hosted — get an API key and start sending bots immediately, no infrastructure needed.

Built for Data Sovereignty

Meeting data never leaves your infrastructure. Self-host for complete control. Modular architecture scales from edge devices to millions of users.

1. Hosted serviceAt vexa.ai — get an API key and start sending bots. No infrastructure needed.Ready to integrate

2. Self-host with Vexa transcriptionRun Vexa yourself, use vexa.ai for transcription — ready to go, no GPU needed.Control with minimal DevOps — see deploy/ for setup guides.

3. Fully self-hostRun everything including your own GPU transcription service.Meeting data never leaves your infrastructure — see deploy/ for setup guides.

What's new

v0.10.4

  • Zoom (via web)platform=zoom works out of the box, no SDK setup.

v0.10 — full architecture refactor

  • Services refactored — runtime-api as infrastructure layer (container orchestration), meeting-api as data layer, agent-api as high-level intelligence layer. Clean separation of concerns.
  • Real-time pipeline moved into bots — transcription pipeline now runs inside bot containers, eliminating external dependencies
  • Agent API (experimental) — ephemeral containers for AI agents. See services/agent-api/.
  • Helm/K8s — production Kubernetes deployment with built images and global.imageTag support

v0.9

  • Zoom (experimental) — initial Zoom Meeting SDK support
  • Interactive Bots API — speak, chat, screen share, avatar controls during live meetings
  • MCP server — 17 tools for AI agents
  • Recordings — S3-compatible storage

See full release notes: https://github.com/Vexa-ai/vexa/releases

Quickstart

Self-host with Docker

On a fresh Linux machine (Ubuntu 24.04):

apt-get update && apt-get install -y make git curl
curl -fsSL https://get.docker.com | sh
git clone https://github.com/Vexa-ai/vexa.git && cd vexa

Then choose:

Command What you get Best for
make lite Single container, all services Quick evaluation, small teams
make all Full stack, each service separate Development, production

Both prompt for a transcription token on first run. Get one at vexa.ai/account, or self-host transcription with a GPU.

Guides: Vexa Lite | Docker Compose | Helm (K8s)

Hosted (no deployment needed)

Get your API key at vexa.ai/account and start sending bots immediately.

Meeting API — Send Bots, Get Transcripts

Send a bot, get real-time transcripts with per-speaker audio and interactive controls (speak, chat, share screen).

# Send a bot to Google Meet
curl -X POST "$API_BASE/bots" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: <API_KEY>" \
  -d '{"platform": "google_meet", "native_meeting_id": "abc-defg-hij"}'

# Get transcripts
curl -H "X-API-Key: <API_KEY>" \
  "$API_BASE/transcripts/google_meet/abc-defg-hij"

Works with Google Meet, Microsoft Teams, and Zoom. Set API_BASE to https://api.cloud.vexa.ai (hosted) or http://localhost:8056 (self-hosted).

For real-time WebSocket streaming, see the WebSocket guide. For full REST details, see the User API Guide.

Browser Bots — Persistent Browser Containers for Agents

Remote browser containers with CDP + Playwright access and persistent session storage via S3. Agents get a real browser that stays logged in across restarts — Google, Microsoft, or any web session.

  • CDP + Playwright — full browser automation via Chrome DevTools Protocol
  • Persistent sessions — authenticated browser state saved to S3, restored on next spin-up
  • VNC access — humans can observe and control the browser in real time alongside agents
  • On-demand containers — spin up in seconds, auto-reclaim when idle

See features/browser-session/ and features/remote-browser/ for details.

MCP Server — Meeting Tools for AI Agents

17 tools that let AI agents join meetings, read transcripts, speak, chat, and share screen. Works with Claude, Cursor, Windsurf, and any MCP-compatible client.

Your AI agent can join a meeting, listen to the conversation, and participate — all through MCP tool calls. See services/mcp/ for setup and tool reference.

Modular — Pick What You Need

Vexa is a toolkit, not a monolith. Every feature works independently. Use one or all — they compose when you need them to.

You're building... Features you need Skip the rest
Self-hosted Otter replacement transcription + multi-platform + webhooks agent runtime, scheduler, MCP
Meeting data pipeline transcription + webhooks + post-meeting speaking-bot, chat, agent runtime
AI meeting assistant product transcription + MCP + speaking-bot + chat remote-browser, scheduler
Meeting bot API (like Recall.ai) multi-platform + transcription + token-scoping agent runtime, workspaces

You don't pay complexity tax for features you don't use. Each service is a separate container. Don't need agents? Don't run agent-api. Don't need TTS? Don't run tts-service. Services communicate via REST and Redis, not tight coupling.

Roadmap

For the up-to-date roadmap and priorities, see GitHub Issues and Milestones. Issues are grouped by milestones to show what's coming next, in what order, and what's currently highest priority.

For discussion/support, join our Discord.

Architecture & Feature Status

Each service and feature has its own README with architecture, DoD table, and evidence-based confidence scores.

  • Services: api-gateway • meeting-api • admin-api • runtime-api • vexa-bot • transcription-service • tts-service • mcp • dashboard • agent-api (experimental)
  • Features: realtime-transcription • bot-lifecycle • browser-session • remote-browser • speaking-bot • meeting-chat • webhooks • authenticated-meetings
  • Deploy: Docker Compose • Vexa Lite • Helm/K8s
  • Guides: Vexa Lite DeploymentDocker Compose DeploymentSelf-Hosted ManagementRecording Storage

Contributing

We use GitHub Issues as our main feedback channel — triaged within 72 hours. Look for good-first-issue to get started. Join Discord to discuss ideas and get assigned.

License

Links

WebsiteDocsDiscordLinkedInX (@grankin_d)Meet Founder

Related: vexa-lite-deploy • Vexa Dashboard

MCP Server · Populars

MCP Server · New

    docmancer

    Docmancer

    Find out what your coding agents already know. Docmancer indexes the memory, rules, and instructions Claude Code, Codex, Cursor, and Gemini wrote on your machine, then carries the durable parts to every agent. Local-first, MIT.

    Community docmancer
    lineai-intelligence

    codelogic-mcp-server

    An MCP Server to utilize Codelogic's rich software dependency data in your AI programming assistant.

    HUANGCHIHHUNGLeo

    claude-real-video

    Let Claude (or any LLM) actually watch a video — scene-aware, deduplicated frames + transcript, from a URL or local file. Runs locally, MIT.

    Community HUANGCHIHHUNGLeo
    jgraph

    Draw.io MCP Server

    MCP Server

    Community jgraph
    ninetails-io

    gnucash-mcp

    MCP server enabling AI assistants to read and write GnuCash accounting data

    Community ninetails-io