Vexa

Meeting transcription with bots and an MCP server: the agent taps into Google Meet, Teams and Zoom transcripts, self-host optional

MCP serverOfficial

High risk

We rate an entry high when the tool writes to external systems, handles money, production databases or secrets, or runs arbitrary commands. The CLI installs it only with your consent.

Why this level

  • A bot joins calls and records conversations, requiring participant consent
  • It works with meeting content and the workspace
  • The hosted service needs an API key and is billed
All reasons and checks

vexa-ai/vexa

Install

In your terminal, with SkillFoxx CLI

npx skillfoxx add mcp/vexa

Detects the agents on your machine, checks the risk and pins the version.

Other ways to install

This entry is high risk, so there is no one-click install. Review the code and add the config by hand.

Run in a terminal

claude mcp add --transport http vexa https://api.cloud.vexa.ai/mcp --header 'Authorization: <your AUTHORIZATION>'

Or add to the file .mcp.json, in the project

{
  "mcpServers": {
    "vexa": {
      "type": "http",
      "url": "https://api.cloud.vexa.ai/mcp",
      "headers": {
        "Authorization": "<your AUTHORIZATION>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

AUTHORIZATIONsecret, required
Bearer <Vexa API key> — from https://vexa.ai/account

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file ~/.cursor/mcp.json, for all projects

{
  "mcpServers": {
    "vexa": {
      "url": "https://api.cloud.vexa.ai/mcp",
      "headers": {
        "Authorization": "<your AUTHORIZATION>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key. For a single project, put the same block into .cursor/mcp.json.

Keys and settings

AUTHORIZATIONsecret, required
Bearer <Vexa API key> — from https://vexa.ai/account

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Run in a terminal

code --add-mcp '{"name":"vexa","type":"http","url":"https://api.cloud.vexa.ai/mcp","headers":{"Authorization":"<your AUTHORIZATION>"}}'

Or add to the file .vscode/mcp.json, in the project

{
  "servers": {
    "vexa": {
      "type": "http",
      "url": "https://api.cloud.vexa.ai/mcp",
      "headers": {
        "Authorization": "<your AUTHORIZATION>"
      }
    }
  }
}

If the file already exists, add the server inside the servers key.

Keys and settings

AUTHORIZATIONsecret, required
Bearer <Vexa API key> — from https://vexa.ai/account

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file ~/.codex/config.toml, for all projects

[mcp_servers.vexa]
url = "https://api.cloud.vexa.ai/mcp"
http_headers = { Authorization = "<your AUTHORIZATION>" }

If the file already exists, append the block to the end.

Keys and settings

AUTHORIZATIONsecret, required
Bearer <Vexa API key> — from https://vexa.ai/account

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file ~/.gemini/settings.json, for all projects

{
  "mcpServers": {
    "vexa": {
      "httpUrl": "https://api.cloud.vexa.ai/mcp",
      "headers": {
        "Authorization": "<your AUTHORIZATION>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

AUTHORIZATIONsecret, required
Bearer <Vexa API key> — from https://vexa.ai/account

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file ~/.config/devin/mcp_config.json, for all projects

{
  "mcpServers": {
    "vexa": {
      "serverUrl": "https://api.cloud.vexa.ai/mcp",
      "headers": {
        "Authorization": "<your AUTHORIZATION>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key. Legacy Cascade keeps the MCP config in ~/.codeium/windsurf/mcp_config.json.

Keys and settings

AUTHORIZATIONsecret, required
Bearer <Vexa API key> — from https://vexa.ai/account

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Formerly Windsurf.

Add to the file cline_mcp_settings.json, for all projects

{
  "mcpServers": {
    "vexa": {
      "type": "streamableHttp",
      "url": "https://api.cloud.vexa.ai/mcp",
      "headers": {
        "Authorization": "<your AUTHORIZATION>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key. Open the settings file in Cline: MCP Servers tab, Configure MCP Servers.

Keys and settings

AUTHORIZATIONsecret, required
Bearer <Vexa API key> — from https://vexa.ai/account

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file .roo/mcp.json, in the project

{
  "mcpServers": {
    "vexa": {
      "type": "streamable-http",
      "url": "https://api.cloud.vexa.ai/mcp",
      "headers": {
        "Authorization": "<your AUTHORIZATION>"
      }
    }
  }
}

If the file already exists, add the server inside the mcpServers key.

Keys and settings

AUTHORIZATIONsecret, required
Bearer <Vexa API key> — from https://vexa.ai/account

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

A fork of Roo Code, same .roo folders.

Add to the file opencode.json, in the project

{
  "mcp": {
    "vexa": {
      "type": "remote",
      "url": "https://api.cloud.vexa.ai/mcp",
      "headers": {
        "Authorization": "<your AUTHORIZATION>"
      }
    }
  }
}

If the file already exists, add the server inside the mcp key.

Keys and settings

AUTHORIZATIONsecret, required
Bearer <Vexa API key> — from https://vexa.ai/account

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Add to the file ~/.config/zed/settings.json, for all projects

{
  "context_servers": {
    "vexa": {
      "url": "https://api.cloud.vexa.ai/mcp",
      "headers": {
        "Authorization": "<your AUTHORIZATION>"
      }
    }
  }
}

If the file already exists, add the server inside the context_servers key.

Keys and settings

AUTHORIZATIONsecret, required
Bearer <Vexa API key> — from https://vexa.ai/account

Replace the values in angle brackets with your own. Keys never go into install links and are not stored by us.

Checked against the repository on Sep 25, 2026, commit dba990b.

Text for your agent

Get an API key at vexa.ai or self-host with git clone https://github.com/Vexa-ai/vexa.git and make all, then connect the Vexa MCP server and skills plugin to your agent per the docs so it works with transcripts.

Other ways from the author
git clone https://github.com/Vexa-ai/vexa.git
cd vexa
make all

Deploys the whole stack via Docker Compose and prints the API key and URLs. Needs Docker engine v26 or newer.

This is third-party code. Review the repository files before installing.

What it does

Vexa is an open-source meeting transcription platform: a bot joins Google Meet, Microsoft Teams and Zoom calls and streams speaker-attributed transcripts in real time through an API or a WebSocket. For agents there is an MCP server and a plugin with skills that give access to transcripts and the meeting workspace. Meetings compile into Markdown that you own. You can use the hosted service with an API key or self-host the whole stack, down to on-device transcription for an air-gapped setup. Sending a bot and reading the stream is a complete workflow on its own, without the agent lane.

Who it is for. For teams and products that need meeting transcripts and agent access to them, with control over the data.

Good fit when

  • You need real-time meeting transcripts with speaker attribution
  • You want the agent to answer questions about past meetings
  • You need self-hosted transcription for a closed environment

Not a fit when

  • You cannot allow a bot into calls due to policy or participant consent
  • You only need recording and the agent lane and MCP are unnecessary

Example request

What did we decide in my last meeting and which tasks are mine

Limitations

Transcription needs a hosted-service token or your own on-device transcription unit. The hosted service runs on an API key and is billed by bot time, and the sandboxed agent lane is available only when self-hosting. Sending a bot into a call requires respecting participant consent and company policy. A full build from source is resource-heavy.

How to disable. Remove the Vexa MCP server from the agent config, stop or remove the self-hosted stack and discontinue use of the API key.

MCP

Transport
http
Authentication
API key
Environment variables
Environment variables
VEXA_API_KEY
required, secret
Access key for the Vexa API, hosted or self-hosted

Security check

  • A bot joins calls and records conversations, requiring participant consent
  • It works with meeting content and the workspace
  • The hosted service needs an API key and is billed

README in short

The README describes Vexa as an open-source meeting transcription platform: a bot joins Google Meet, Teams and Zoom and streams speaker-attributed transcripts through an API or WebSocket. Meetings compile into Markdown in a git repo that sandboxed agents work on. There is a hosted service on an API key and self-hosting of the whole stack via Docker Compose, including on-device transcription for a closed environment. For agents there is an MCP server and a skills plugin. Apache-2.0 licensed.

FAQ

Do I need to self-host?

Not for basic transcription: a hosted service works on an API key. The sandboxed agent lane is available only when self-hosting.

Who owns the data?

When self-hosting, the whole stack and the meetings' Markdown stay with you, down to on-device transcription for a closed environment.

Official

A self-hosted knowledge base with block-level references and a built-in MCP server for connecting AI agents to your notes

MCP serverMedium risk46.5KRepository stars
Editors’ pick

A CLI for every Google Workspace API with JSON output and agent skills: Drive, Gmail, Calendar, Sheets and more

CLIHigh risk31.2KRepository stars
Editors’ pick

Local search over Markdown notes, docs and meeting transcripts: keywords, semantic search and reranking, with an MCP server

CLIMedium riskNo VPN needed30.1KRepository stars
Editors’ pick

A task manager for AI-driven development: breaks a PRD into dependent tasks and guides the agent through them via MCP or CLI

MCP serverMedium risk28.1KRepository stars
Foxx AIVexa

I am Foxx AI and I have already vetted this tool. Ask about install, setup or anything else, and I will keep it simple.