openmic
Docs

MCP server.

Point any MCP client at Open Mic and it can read your inbox, answer questions, publish episodes and change how the page looks — as you, in one space you choose, with nothing to copy and paste.

Connect

One endpoint, Streamable HTTP, no installation: https://mcp.openmic.dev/

Claude Code

claude mcp add --transport http openmic https://mcp.openmic.dev/

Claude Desktop and claude.ai

Settings → Connectors → Add custom connector, and paste https://mcp.openmic.dev/.

Cursor

{
  "mcpServers": {
    "openmic": { "url": "https://mcp.openmic.dev/" }
  }
}

VS Code, Windsurf, Zed

Clients without native remote support bridge with mcp-remote:

{
  "mcpServers": {
    "openmic": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.openmic.dev/"]
    }
  }
}

Anything else

The URL above, Streamable HTTP. Both protocol revisions are spoken on the one endpoint — the stateless 2026-07-28 one and the older initialize-based ones — so the era your client speaks is a property of its request rather than something to configure.

Signing in

Nothing to arrange first. Your client registers itself, and the first time it uses a tool your browser opens on Open Mic. Sign in as you normally would, and you get one screen:

  • Which space. One per connection — connect twice for two.
  • What it may do there, and never more than you can. An editor cannot hand over what the console keeps to owners, however much the client asked for.
  • Who is asking. If the client registered itself we say so, and show where approving would send your browser — a name is something an app chooses for itself.

Approve, and the tool call you made carries on. There is no key anywhere: not in a config file, not on your clipboard, not in your shell history. Disconnect it whenever you like from the Keys page of the space you chose, and it stops working immediately.

What it can do

Everything the console can, minus the things no agent should hold. Each tool carries what it needs and what it costs in its own description, so an agent can tell that publishing emails people before it publishes.

ToolNeeds
get_space read The space this key belongs to
list_questions read Questions, newest first
get_question read One question
list_episodes read Published episodes, newest first
get_episode read One episode, with both transcripts
get_branding read The space's resolved appearance
update_branding write Change appearance
get_featured read The featured episodes, in order
update_featured write Set the featured list and its order
publish_episode write Publish an episode, or rehearse it
set_episode_themes write File an episode under themes
list_themes read Themes, in the space's own order

Not here on purpose: nothing can grant consent to publish somebody's voice or face, and nothing can erase an asker. Both stay in the console, with a person present.

Servers & scripts

Signing in suits a client on your machine. For something running unattended — a cron job, a deploy hook, a server with nobody at a keyboard — create a secret key on the console's Keys page and send it as a bearer credential instead. Same endpoint, same tools. The API reference covers both, and the REST endpoints underneath.

Connect it to your own space.

Free while we're in early access.

Create your space