Skip to content

Document OAuth sign-in for the hosted Vapi MCP server - #1417

Merged
steven-diaz-vapi merged 1 commit into
mainfrom
steven-diaz/pal-1317-mcp-oauth-docs
Nov 11, 2026
Merged

steven-diaz-vapi merged 1 commit into
mainfrom
steven-diaz/pal-1317-mcp-oauth-docs

Conversation

@steven-diaz-vapi

Copy link
Copy Markdown
Contributor

Description

https://linear.app/vapi/issue/PAL-1317

The hosted MCP server at https://mcp.vapi.ai/mcp moved to OAuth on Nov 10. It no longer accepts Vapi API keys, and the legacy /sse endpoint is gone. This rewrites sdk/mcp-server to match, following the pattern Linear and Notion use for their hosted MCP servers: one URL, sign in in the browser, per-client tabs, and an FAQ.

  • Server URL and sign-in: add the URL, sign in with your Vapi account (Google, GitHub, SSO, or password with MFA), then pick an organization. A warning says API-key headers no longer work.

  • Per-client setup, all OAuth:

    Client Setup
    Claude Code claude mcp add --transport http, then /mcp → Authenticate
    Claude Desktop and claude.ai Custom connector
    Codex codex mcp add, then codex mcp login
    Cursor URL-only mcp.json
    VS Code type: http
    Hermes auth: oauth, then hermes mcp login
    Other clients Stdio-only clients use mcp-remote
  • Removed:

    • every API-key setup;
    • the OpenAI Responses API tab, which needed an API-key header;
    • the local @vapi-ai/mcp-server tab (VAPI_TOKEN);
    • the two Node client examples that sent an API key.
  • Custom MCP clients: a short section on the standard MCP authorization flow:

    • protected resource metadata URL;
    • Dynamic Client Registration or a Client ID Metadata Document;
    • PKCE;
    • scopes and resource.
  • FAQ:

    • API keys, which are still used for the REST API and SDKs;
    • switching organizations or using several;
    • what the connection can access;
    • disconnecting;
    • CI and headless use, which go to the REST API;
    • SSE removal;
    • sign-in troubleshooting.

Testing Steps

  • Claude Code: claude mcp add --transport http vapi https://mcp.vapi.ai/mcp, sign-in, and "List my Vapi assistants" work against production.
  • External links resolve. npm returns 403 to scripts but works in a browser.
  • Internal links (/api-reference, /sdks, /security-and-privacy/api-keys, /tools/mcp) match existing pages.
  • Preview deployment renders the tabs, steps and accordions.
  • Claude connector (claude.ai and Desktop): not verified. The server returns 403 to requests that carry an Origin header other than its own (it does to Origin: https://claude.ai). If Claude's connector sends that header, add https://claude.ai to MCP_ALLOWED_ORIGINS in Vercel before publishing this tab.
  • Codex, Cursor, VS Code, Hermes and mcp-remote: not verified end to end. All use standard MCP OAuth with Dynamic Client Registration, which WorkOS has enabled.

🤖 Generated with Claude Code

The hosted server at https://mcp.vapi.ai/mcp now signs users in with their
Vapi account over OAuth and no longer accepts API keys. Replace the API-key
setup for every client with the OAuth flow, and add an FAQ for API keys,
organizations, headless use and the removed SSE endpoint.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

@steven-diaz-vapi
steven-diaz-vapi merged commit e49dec8 into main Nov 11, 2026
6 checks passed
chris-garber-vapi pushed a commit that referenced this pull request Nov 11, 2026
The hosted MCP page from #1417 still listed 10 of the server's tools
and omitted ask_vapi_docs. The hosted server pins @vapi-ai/mcp-server
0.1.0 and registers all 29 of its tools, plus the hosted-only
get_connection_info.

- Replace the Core Tools table with the full list, grouped by area:
  connection, documentation and reference, assistants, calls, phone
  numbers, Vapi tools, and simulations. Descriptions come from each
  tool's registered description.
- Add notes that create_call places a real phone call, that each
  run_simulations call starts a billed simulation run, and that
  load_skill does not install anything or run scripts.
- Add "Search the docs without signing in" for the keyless
  documentation server at docs.vapi.ai/_mcp/server, and link to it
  from the legacy mcp-docs-server note.
- Point the organization FAQ at get_connection_info.
- Lowercase "server" in the title and body, as in the nav and the rest
  of the docs. Say "coding agent" in the CLI overview.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
steven-diaz-vapi pushed a commit that referenced this pull request Nov 11, 2026
Completes the hosted MCP page after the OAuth rewrite in #1417: lists every tool the server exposes, and adds keyless documentation access.

Rebased onto `main`. #1417 replaced the page's connection and sign-in content with tested OAuth instructions, so this PR keeps all of that as is and adds only what #1417 didn't cover. It also absorbs the remaining piece of #1411 (closed as superseded by #1417).

## What changed

**Tool list.** The page listed 10 tools and omitted `ask_vapi_docs`. The hosted server pins `@vapi-ai/mcp-server` 0.1.0 (still the latest on npm) and registers all 29 of its tools, plus the hosted-only `get_connection_info`. The table is now grouped by area, using each tool's registered description. Three short notes call out side effects: `create_call` places a real call, each `run_simulations` call starts a billed run, and `load_skill` installs nothing.

**Docs-only access.** New "Search the docs without signing in" section for `https://docs.vapi.ai/_mcp/server`, which needs no account. The legacy `@vapi-ai/mcp-docs-server` note now links to it as the like-for-like replacement.

**Small fixes.** The organization FAQ points to `get_connection_info`. "Vapi MCP server" is lowercased to match the nav and the rest of the docs. The CLI overview says "coding agent".

## Verification

`fern check` is clean, and `fern docs broken-links` reports only the pre-existing `/config-as-code.md` link in `quickstart/introduction.mdx`. In-page anchors checked by hand, since neither command validates them.

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants