Overview
The Outbox AI MCP Server is a Model Context Protocol server that exposes your Outbox workspace as a set of tools any MCP-compatible client (Claude Desktop, Claude Code, Cursor, etc.) can call directly. Once connected, the model can list your agents, run tools, send messages, manage workflows, query CRM opportunities, fetch transcripts, and more — without leaving the chat.The MCP server is brand-neutral. Whitelabel deployments can rename the server,
tools, and responses without leaking the underlying provider’s identity.
How It Works
The server is a thin authenticated proxy over the Outbox HTTP API. Every MCP tool call translates into a single REST request scoped to your company.Per-Operation Tools
A curated set of high-value tools (e.g.
agents_list, contacts_create,
workflows_run) is exposed by default for accurate model selection.Generic run_operation
Power-user operations stay reachable via a single
run_operation tool that
accepts an operation name and arguments.Connection
The server speaks streamable-http by default and binds to127.0.0.1:9001/mcp. For most users, the hosted endpoint is at:
Authentication
Send these headers on every connection:
You can generate API keys from Settings → Integrations in the dashboard.
Example: Claude Desktop
Add this toclaude_desktop_config.json:
Example: Cursor / VS Code
Available Tool Groups
For the full list, call the
list_operations tool from any MCP client once connected.
Self-Hosting
If you run your own backend, the server ships inapi/mcp/company_server.py:
Environment Variables
Best Practices
Scope API keys to the smallest needed surface
Scope API keys to the smallest needed surface
Generate a dedicated API key for each MCP integration. Rotate keys when
devices change hands.
Prefer the curated tool list
Prefer the curated tool list
Leave
MCP_EXPOSE_ALL_OPERATIONS off unless you specifically need every
operation as its own tool — large tool lists hurt model selection accuracy.Use run_operation for ad-hoc calls
Use run_operation for ad-hoc calls
For one-off operations the model can call
run_operation with the
operation name and JSON arguments instead of exposing every endpoint.
