OutEvalAI LogoOutEvalAI

MCP Server

Connect AI coding agents to OutCallerAI through the Model Context Protocol.

OutCallerAI exposes an MCP server that lets AI coding agents manage your workspace - agents, usecases, leads, calls, and exports - all through natural language.

How it works

The MCP server exposes 23 read and write tools across six resources. AI agents can manage workspace settings, usecases, voice agents, leads, calls, and export jobs. All tools require an API key and respect workspace permissions.

Two transports are available:

TransportBest forHow it runs
stdioLocal AI clients (Cursor, VS Code, Claude Desktop)Runs as a child process on your machine
hostedCloud AI agents (Codex, Gemini CLI)Connects to https://api.outcallerai.com/mcp

Client setup

Set your API key, then add via CLI:

export OUTCALLERAI_API_KEY=your-api-key
codex mcp add outcallerai \
  --url https://api.outcallerai.com/mcp \
  --bearer-token-env-var OUTCALLERAI_API_KEY

Or in ~/.codex/config.toml:

[mcp_servers.outcallerai]
url = "https://api.outcallerai.com/mcp"
bearerTokenEnvVar = "OUTCALLERAI_API_KEY"

Verify:

codex mcp list

The API key must be set in your shell before starting Codex.

Persist the API key

Running export OUTCALLERAI_API_KEY="your-api-key" sets the key only for the current terminal session. A new terminal, or an application started outside that terminal, will not inherit it.

For zsh, add the export to ~/.zshrc and reload the shell:

# ~/.zshrc
export OUTCALLERAI_API_KEY="your-api-key"
source ~/.zshrc

Use ~/.bashrc for interactive Bash shells or the equivalent startup file for your shell. Start or restart the MCP client after loading the variable.

Shell startup files store values as plaintext. On a shared machine, load the key from a password manager or operating-system keychain instead. For example, on macOS you can store the key in Keychain once:

read -s "OUTCALLER_KEY?OutCallerAI API key: "
echo
security add-generic-password -U \
  -a "$USER" \
  -s OUTCALLERAI_API_KEY \
  -w "$OUTCALLER_KEY"
unset OUTCALLER_KEY

Then add this loader to ~/.zshrc:

export OUTCALLERAI_API_KEY="$(security find-generic-password \
  -a "$USER" \
  -s OUTCALLERAI_API_KEY \
  -w 2>/dev/null)"

Verify that the variable is available without printing the secret:

[[ -n "$OUTCALLERAI_API_KEY" ]] && echo "OutCallerAI API key loaded"

Never commit an API key to a repository or place it directly in a shared MCP configuration file.

Configuration

VariableDefaultDescription
OUTCALLERAI_API_KEY(required)Workspace API key
OUTCALLERAI_BASE_URLhttps://api.outcallerai.comAPI origin
OUTCALLERAI_TIMEOUT_MS30000Request timeout

To run the server locally:

export OUTCALLERAI_API_KEY=your-api-key
npx -y @outcallerai/mcp-stdio

Available tools

All tools are grouped by resource. Read-only tools are safe to call; destructive tools permanently delete or cancel data.

Workspace

ToolWhat it does
outcallerai_get_workspaceGet workspace details
outcallerai_update_workspaceUpdate workspace name

Usecases

ToolWhat it does
outcallerai_list_usecasesList usecases
outcallerai_get_usecaseGet usecase details
outcallerai_create_usecaseCreate a usecase
outcallerai_update_usecaseUpdate a usecase
outcallerai_delete_usecaseDelete a usecase

Agents

ToolWhat it does
outcallerai_list_agentsList voice agents
outcallerai_get_agentGet agent details
outcallerai_create_agentCreate a voice agent
outcallerai_update_agentUpdate a voice agent
outcallerai_delete_agentDelete a voice agent

Leads

ToolWhat it does
outcallerai_list_leadsList leads
outcallerai_get_leadGet lead details
outcallerai_create_leadCreate one or more leads
outcallerai_update_leadUpdate a lead
outcallerai_delete_leadDelete a lead

Calls

ToolWhat it does
outcallerai_list_callsList calls
outcallerai_get_callGet call details
outcallerai_create_callInitiate outbound calls

Jobs

ToolWhat it does
outcallerai_export_callsExport calls as JSON
outcallerai_get_jobCheck export job status
outcallerai_cancel_jobCancel a running export job

Tool annotations

Every tool includes MCP annotations that tell the client whether the tool is read-only, destructive, or idempotent. This helps AI agents ask for confirmation before destructive actions.

Troubleshooting

SymptomLikely cause
No tools listedConfirm Node.js 20 or 22; run the command manually and check stderr
Authentication failureOUTCALLERAI_API_KEY is not set in the child process environment
Hosted 401The workspace uses OAuth-mode authentication - API keys cannot authenticate. Switch to credential-mode
TimeoutIncrease OUTCALLERAI_TIMEOUT_MS or check API health
Wrong tools after upgradeRestart the server and reset the client's MCP tool cache

How is this guide?