MCP client configuration
For an existing console account, use Extrovert’s hosted, stateless Streamable HTTP endpoint when the client supports OAuth:
https://mcp.extrovert.dev/mcpOAuth-capable clients discover the authorization server, open browser sign-in and consent, and store and refresh the grant. No Extrovert key goes in the client configuration.
For local stdio, use an existing agent key or redeem an enrollment key. The packaged server stores the
durable agent key in a permission-restricted credential file. Free self-signup is currently paused, so
do not use sign_up as the initial connection path unless GET /v1/signup-status reports enabled.
Run the package
Section titled “Run the package”Requires Node ≥ 20.
# stdio: for local hostsnpx -y @extrovert.dev/mcp@next
# CLI/setup commands from the same packagenpx -y @extrovert.dev/mcp@next --help
# self-hosted: stateless MCP Streamable HTTP at /mcp (default :8787)npx -y @extrovert.dev/mcp@next --http --port 8787Install the complete plugin, which includes nine skills and the packaged stdio MCP server:
codex plugin marketplace add extrovert-dot-dev/extrovert-skillscodex plugin add extrovert@extrovertStart a new Codex session. If setup received an enrollment key, call redeem_enrollment; the packaged
server stores the returned agent key and the next session starts authenticated.
To configure only MCP, without the skills bundle:
npx -y @extrovert.dev/mcp@next setup --host codexFor a human-owned console account, use hosted OAuth instead:
codex mcp add extrovert --url https://mcp.extrovert.dev/mcpcodex mcp login extrovertClaude Desktop
Section titled “Claude Desktop”Edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows:
%APPDATA%\Claude\):
{ "mcpServers": { "extrovert": { "command": "npx", "args": ["-y", "@extrovert.dev/mcp@next"] } }}Running from a local checkout instead of npm:
{ "mcpServers": { "extrovert": { "command": "node", "args": ["/absolute/path/to/extrovert/mcp/dist/bin.js"] } }}Claude Code
Section titled “Claude Code”Add the hosted endpoint, then use /mcp inside Claude Code to complete the browser OAuth flow:
claude mcp add --transport http extrovert https://mcp.extrovert.dev/mcpFor local stdio instead:
npx -y @extrovert.dev/mcp@next setup --host claudeOr connect to a deployment you operate over HTTP (pass your limited key as a bearer header):
claude mcp add --transport http extrovert https://your-mcp-host.example/mcp \ --header "Authorization: Bearer pk_agent_…"Cursor
Section titled “Cursor”~/.cursor/mcp.json (global) or .cursor/mcp.json (project):
{ "mcpServers": { "extrovert": { "command": "npx", "args": ["-y", "@extrovert.dev/mcp@next"] } }}{ "mcpServers": { "extrovert": { "url": "https://mcp.extrovert.dev/mcp" } }}What key to use
Section titled “What key to use”Use OAuth for the hosted endpoint. The packaged stdio server loads a limited agent key from the local
credential store and writes the full replacement after verify_signup or redeem_enrollment.
EXTROVERT_API_KEY remains an explicit override. Never provide an org-wide credential. See
Authentication & keys.
On Linux and macOS the default file is ~/.config/extrovert/credentials.json (or
$XDG_CONFIG_HOME/extrovert/credentials.json); Windows uses
%APPDATA%\Extrovert\credentials.json. The directory is owner-only and the file is mode 0600 on
Unix. Override the directory with EXTROVERT_CONFIG_DIR for an isolated or managed runtime.
- MCP overview & tools: the full tool list and security model.
- wait_for_email: the blocking primitive.
- Authentication and keys: permissions and key reach.