MCP servers · yours
camelRun by camelAIcamelRun by camelAI · MCP agents
Build and host an MCP agent
camelRun is a hosted runtime for AI agents. It calls your MCP servers and makes each agent an MCP server too.camelRun is a hosted runtime for AI agents. It plugs your agent into remote MCP servers, with your keys sealed away from the model, and makes every agent an MCP server that Claude, Cursor or any MCP client can talk to.
claude mcp add --transport http camelrun https://run.camelai.com/mcpMCP clients · yours
MCP client
Connect remote MCP servers to your AI agent
camelRun is your agent's MCP client. Add MCP servers to the agent's definition, and camelRun reads their tools when you save and makes every call itself.
import { Agents } from "@camelai/run";
const agents = new Agents(); // CAMELAI_API_KEY
const definition = await agents.runtime.upsertDefinition("support", {
name: "Support",
mcpServers: [{ name: "app", url: "https://app.example.com/mcp", auth: { type: "runtime" } }],
});{
"id": "def_02c314e0b14019445242",
"name": "Support",
"revision": 1,
"mcpServers": [{
"name": "app", "url": "https://app.example.com/mcp",
"auth": {"type": "runtime"}
}],
"toolSources": [{
"kind": "mcp", "name": "app", "status": "listed",
"tools": [
{"name": "app__list_tickets", "description": "List open tickets"},
{"name": "app__get_ticket", "description": "Read one ticket"},
{"name": "app__reply_to_ticket", "description": "Reply to a ticket"},
{"name": "app__escalate_ticket", "description": "Escalate a ticket"}
]
}]
}Tool search
Give your AI agent thousands of MCP tools
Plug in big MCP servers, or many of them. Your agent searches them from code for the tools it needs, so thousands of tools stay out of the model's way until it asks.
MCP server
Turn your AI agent into an MCP server
Every agent on camelRun is an MCP server with one tool, message. Add its URL to Claude, Cursor or any MCP client. Everyone who messages it shares one conversation, so it remembers what was said before.
https:/
{ "mcpServers": { "support": { "url": "https:/ / run.camelai.com/ v1/ agents/ client_ …/ mcp" } } }Progress while it works
A call lasts as long as the turn, and the agent sends progress for each tool it uses, so clients that reset their timeout on progress keep waiting.
Approvals in the client
In clients that support MCP elicitation, an approval or a question comes up right there, and the answer resumes the turn.
A retry is the same message
Send the same text with the same requestId, and it's never sent twice: the call returns its reply.
tools/callmessage {"text": "Escalate anything urgent from today."}
notifications/progressUsing app__list_tickets
notifications/progressUsing kb__search
- progressAsking you: Allow app__escalate_ticket to run?
elicitation/createCursor asksAllow app__escalate_ticket to run?
{"ticket":"T-2207"}DeclineAcceptresult{"action": "accept"}
notifications/progressUsing app__escalate_ticket
resultEscalated T-2207. T-2213 is waiting on the customer.
For coding agents
Deploy AI agents from Claude Code, Codex or Cursor
Add camelRun's MCP server to your coding agent and sign in when it asks, with no API key to paste. Then ask it to build, deploy and run your agents.
$ claude mcp add --transport http camelrun https://run.camelai.com/mcp
Added HTTP MCP server camelrun with URL: https://run.camelai.com/mcp to local config
$ claude
> /mcp
Authentication successful. Connected to camelrun.
> use camelrun to build me a support agent that uses our app's MCP server at https://app.example.com/mcp
I'll write a manifest for it and deploy it.
camelrun - deploy (MCP)(manifest: "key: support\nname: Support\nsystemPrompt: You answer support ti…")
[
{
"key": "support",
"id": "def_02c314e0b14019445242",
… +41 lines (ctrl+o to expand)
camelrun - run_agent (MCP)(agent: "support", message: "What's open on T-2213?")
{
"agent": "client_0ea498d24e76105169839a05b8c3ee89e978711c",
"requestId": "cli_6f1c2e0a-93d4-4b8e-a1f7-2c5d08e94b31",
… +3 lines (ctrl+o to expand)
Your support agent is live on camelRun, with the 4 tools from your app's MCP server. I asked it "What's open on T-2213?" and it said: "T-2213 is a password reset. It's waiting on the reset steps."
? for shortcuts
FAQ
MCP agent questions
01What is a MCP agent?
An MCP agent is an AI agent that gets its tools from MCP servers. It reads each server's tools, and the model decides which ones to call. On camelRun, the runtime runs that loop for you, keeps the agent's history, and calls your MCP servers with credentials the model never sees. Each agent is also an MCP server that other MCP clients can talk to.
02What is the difference between a MCP and an AI agent?
MCP, the Model Context Protocol, is a standard way to offer tools to a model. An AI agent is the loop that does the work: it calls the model, runs the tools the model picks, and keeps going until the task is done. MCP connects an agent to its tools. camelRun runs the agent.
03Which MCP servers can a camelRun agent connect to?
Remote MCP servers that speak Streamable HTTP, or the older SSE. A server can take a bearer token or headers, a signed identity token on each call, or short-lived credentials your endpoint hands out. An MCP SDK server can also run in your own process and attach with
fromMcpServer.04Do my MCP server credentials ever reach the model?
No. Tokens and headers are sealed when you save the definition, and the API only ever returns the header names. camelRun makes every call itself, so the model sees tool names like kb__search, never a key.
05Can I use my camelRun agent from Claude, Cursor or Claude Code?
Yes. Every agent is an MCP server at its own URL, with one tool, message. Add the URL to your client and sign in, or pass the agent's token in a header.
06How is this different from writing my own MCP client?
With an MCP SDK you write the client loop, store each server's credentials and keep the conversation yourself. camelRun runs the loop, seals the credentials, keeps each agent's history and files, and keeps your agents working through your deploys.
07How much does an MCP agent cost to run?
$0.01 per agent-hour while an agent is in a run, plus $0.10 per GB-month of storage. Tokens on your own provider keys cost $0, and on ours you pay the provider's price, with no markup on tokens. Idle and sleeping agents cost only storage. It's prepaid, with no subscription, no seats and no per-agent fee.
Build your first MCP agent
Get an API key, add your MCP servers, and message your agent from Claude, Cursor or your own app.
- MCP servers as tool sources
- Agents as MCP servers
- Connect your coding agent
- camelRun, the runtime for AI agents
- Multi-agent orchestrationAn AI agent fans out tasks to sub-agents that work in parallel or in the background, and every answer folds back into its reply.
- Code mode for AI agentsThe model writes JavaScript that calls the agent's tools, its MCP servers' included, many at once in one step, and searches catalogs of thousands of tools.
- Claude Managed Agents alternativecamelRun next to Claude Managed Agents: run your AI agent on Claude or any other model, with the open-source runtime hosted by camelAI or on your own servers.
- Self-hosted AI agentsRun camelRun's open source agent runtime on your own servers with one container and Postgres, with the same SDK and API as the hosted service.
- GitHub AI agentGive every GitHub issue and pull request its own AI agent. It reads the diff, uses your own tools, and replies in a comment.
- Slack AI agentGive every Slack thread its own AI agent with your tools and its own memory. It asks for approval in the thread before a risky step.