An MCP gateway that holds your API keys
Your agents call OpenAI, Stripe, GitHub and any other API through Toolcaise. The gateway attaches the key, sends it only where you allow and strips it from every response. The agent never sees the value.
How it works
Three steps, and your agents stop carrying keys.
Store each key once
Pick the service and paste the key. It's encrypted on arrival, tied to the hosts it may be sent to, and never shown again, to you or to any agent.
Connect your agents and AI apps
Claude, ChatGPT, Cursor and Claude Code sign in to one MCP URL. Your own agents use the credential they already have, or point their SDK's base URL at Toolcaise.
The gateway makes every call
Toolcaise attaches the key on its side, refuses any host off the key's allowlist, strips the key from responses and records the call with the agent that made it.
Three ways to connect
Pick whatever your agent already speaks. All three go through the same rules.
MCP clients
Claude, ChatGPT, Cursor and Claude Code sign in and get list_keys, call_api and request_key.
claude mcp add --transport http toolcaise https://toolcaise.com/api/mcpYour SDK’s base URL
Use the agent’s Toolcaise credential as the API key. Responses stream back unchanged.
client = OpenAI(
api_key=os.environ["TOOLCAISE_AGENT_TOKEN"],
base_url="https://toolcaise.com/api/v1/gateway/p/openai",
)One JSON request
For anything else: name the key, give the URL, get the response with the key redacted.
POST /api/v1/gateway/request
{"key": "github",
"url": "https://api.github.com/user"}What the gateway enforces on every call
The rules live with the key, not in the agent, so a confused or compromised agent can’t talk its way past them.
- Host allowlists. Each key goes only to the hosts you list. Anything else is refused and logged.
- Per-agent access. Give the support agent Stripe in read-only mode and nothing else.
- Redaction. If an API echoes a key back, the agent sees [redacted] instead.
- Freeze everything. Freezing the workspace stops every key at once, mid-incident, without rotating anything.
- One record. Every call, and every refusal, sits next to the agent's runs, incidents and approvals.
Keys in the agent versus keys in the gateway
And when you want more than keys
The same workspace shows every agent run, raises an incident when work goes missing, stops a supervised run at its budget and puts a person in front of the actions that matter.
See the supervision features →MCP gateway questions
What does an MCP gateway do?
It sits between AI agents and the tools and APIs they use. Toolcaise's gateway holds the API keys too: an agent or AI app asks for a call by naming a key, and the gateway attaches the key, checks the destination against that key's allowlist, makes the call and returns the response with the key redacted.
Do I have to change my agent's code?
Usually one line. Point the SDK's base URL at the gateway and use the agent's Toolcaise credential as its API key; requests and streaming responses pass straight through. MCP clients need no code at all: add the server URL and sign in.
Which APIs does it work with?
Any HTTPS API that takes a key in a header, a query parameter or basic auth. Presets cover OpenAI, Anthropic, Google Gemini, OpenRouter, Groq, Mistral, xAI, DeepSeek and 26 more; anything else takes a minute to describe.
What does it not protect against?
An agent can still misuse a key on a host you allowed, which is what read-only keys, per-agent access and approvals are for. The SDK passthrough streams responses back unchanged, so redaction applies to the MCP tool and the JSON request endpoint. Calls go through Toolcaise, which adds a short hop; provider rate limits still apply.
What does it cost?
Free includes 10 keys and 2,000 gateway calls a month. Team is $49 a month for 100 keys and 100,000 calls, with run monitoring, limits and approvals in every plan.
Connect your first agent
Create a free workspace, connect the agent you already run, and watch its next run arrive. Free covers 3 agents, with no card required.