Claude CodeSetup & auth

MCP server

@ear3/mcp is a stdio MCP server that exposes Ear3 as typed tools for any MCP client. It’s a thin layer over the same /api/v1 client the CLI uses, and shares the CLI’s login.

The Claude Code plugin bundles it — if you installed the plugin, it’s already running. Add it manually in other clients.

Setup

Claude Code:

claude mcp add ear3 -- npx -y @ear3/mcp

Or in a project’s .mcp.json (Claude Code, Cursor, Windsurf, …):

{
  "mcpServers": {
    "ear3": { "command": "npx", "args": ["-y", "@ear3/mcp"] }
  }
}

Authentication

The server resolves a secret key itself — it never enters the model’s context:

  1. EAR3_CONFIG_CLI_KEY in the server’s env block, or
  2. the CLI login store (~/.ear3) — run npx @ear3/voice-config-cli login once and both the CLI and this server are authenticated.

EAR3_API_BASE overrides the API host (dev/staging).

tools/list works without auth. Only tool calls need a key — an unauthenticated call returns an actionable “how to log in” message rather than failing silently.

The two ids

Every interview involves two ids, and tools are explicit about which they take:

  • interview id — for ear3_get_questions, ear3_get_interview_config, ear3_edit_interview, ear3_deploy_interview, ear3_get_edit_url.
  • deployment id (dpl_…) — the interviewId every SDK takes; for ear3_list_responses and ear3_ask_insight.

Publishable keys (pk_…) are browser-safe. Secret keys (sk_…) are server-only — never ship them to the client or give them a public env prefix.

See the full Tools reference.


Built by Ear3 — voice interviews for any app.
⌘/