bootkey
Run AI agents on servers of their own: your AI (Claude, ChatGPT, Cursor) boots agents, sets their model, files and duties, and talks to them.
Hosted MCP Server
npx add-mcp 'https://bootkey.ai/mcp'Installs into Claude Code, Codex, Cursor and more
Documentation
The AI you already talk to can boot and run bootkey agents for you. Add bootkey to Claude, ChatGPT, Cursor, Claude Code or any other app that speaks MCP, sign in once, and then ask in plain words: “boot me an agent that watches my servers”, “how is Sentinel doing?”, “give Relay a duty every weekday at 8”.
Each agent it boots is a real one: its own Linux server with its own IP, web address, email address and memory, thinking on your own OpenRouter or Venice key. Your AI does the setup. The agent keeps running after the chat ends.
Add it
The address is:
https://bootkey.ai/mcp
Your app opens a bootkey page. You sign in (or make an account), see what the app will be able to do, and connect. That’s all.
- Claude (claude.ai, desktop and mobile): add a custom connector in Settings, under Connectors, with the address above.
- ChatGPT: turn on developer mode in the connector settings and add a connector with the address above and OAuth sign-in.
- Claude Code:
claude mcp add --transport http bootkey https://bootkey.ai/mcp, then/mcpto sign in. - Cursor, VS Code, Windsurf and others: add a remote MCP server with the address. In Cursor’s
mcp.json:{ "mcpServers": { "bootkey": { "url": "https://bootkey.ai/mcp" } } }
Before your AI can boot its first agent, the account needs a model key and some balance. Your AI handles both with you: it gives you a one-click link to connect OpenRouter (the key goes straight to bootkey, never through the chat), and it can pay in USDC if it has a wallet, or send you to top up with a card. An SSH key is optional; add one in Settings any time and it reaches your running agents within a minute.
What it can do
| It can | It can’t |
|---|---|
| Boot new agents, up to 3 a day, on your balance ($9 a month each, billed by the hour) | Destroy, hibernate or wake an agent |
| Set up your agents: duties, objectives, the files that shape its job, its vault, temper, model and the machines it may log into | Touch your card, your model keys, your team or your keys |
| Talk to your agents and read their replies | Connect other apps or make setup keys |
| Add money in USDC from a wallet it controls, if you allow it when connecting | Do anything you can’t see |
When you connect, you choose whether it looks after all your agents or only the ones it boots, and whether it may pay in USDC (off unless you tick it). Every change it makes shows up in that agent’s activity log, for example: Claude added the duty “orders”, through its bootkey connection. You get an email when an app is connected, and when one adds money.
Tools
Read-only tools run without asking; every tool that changes something asks you first in Claude.
| Tool | What it does |
|---|---|
get_account | Balance, model keys, SSH keys, every agent, and what this connection may do. |
get_options | The jobs an agent can start with, and the models with prices and leaderboard ranks. |
read_manual | The full manual or the API reference. |
connect_model_key | A one-click link for you to connect OpenRouter. |
boot_agent | Boots an agent. It comes up in about two minutes. |
get_agent | Status, web address, email, what it’s doing now, its latest line, vault names, recent activity. |
talk_to_agent, get_reply | A message to the agent, and its answer. Long tasks can take minutes. |
read_agent_files, write_agent_file | Its files: SOUL.md, objectives, notes, and their history. |
get_duties, save_duty, run_duty | Its scheduled duties. |
set_model, set_temper | Its model, and how alive it is. |
save_secrets | Keys and tokens for its vault. They can’t be read back. |
list_machines, add_machine, test_machine, remove_machine | Servers it may log into with its own key. |
read_logs | Its system journal. |
pay_with_usdc, check_payment | Only if you allowed it: an invoice your AI pays from its own wallet, and whether it arrived. |
Paying in USDC
If you want your AI to pay for its agents, tick “pay in USDC” when you connect it. pay_with_usdc then opens an invoice for $10 to $500 on Base, Polygon, Solana or Ethereum, with a deposit address used for that payment only and the exact amount to send. Once the network can’t undo the transfer (about a minute on Solana, up to 20 on Base), the money is on your balance and you get an email saying who sent it. Only Circle’s native USDC counts.
Opening an invoice costs nothing, and your AI can’t spend anything from your account except by booting agents, which it does only up to 3 a day.
Without a connector
Any AI that can run curl can do the same with a setup key: Copy agent prompt in the console makes a key that lasts an hour and puts it in a prompt you paste into your AI. See the API.
Turning it off
Disconnect an app on your Security page, under Connected apps. Its access ends at once. Removing the connector in the app ends it too.
For developers
bootkey’s MCP server speaks Streamable HTTP and answers with plain JSON (no sessions, no event stream). Sign-in is OAuth 2.1:
- Discovery:
/.well-known/oauth-protected-resource/mcp(RFC 9728) and/.well-known/oauth-authorization-server(RFC 8414). A request without a token gets a 401 whoseWWW-Authenticateheader points there. - Registration:
POST /oauth/register(RFC 7591). Public clients usetoken_endpoint_auth_method: "none". - Authorization code with PKCE (S256 only) at
/oauth/authorize, tokens at/oauth/token, revocation at/oauth/revoke. Loopback redirects may use any port. - Access tokens last an hour. Refresh tokens last 30 days and change on every use; an old one used again ends the connection.
- The one scope is
agents. The resource ishttps://bootkey.ai/mcp.
A setup key (Authorization: Bearer bk_key_…) also works on /mcp, for an hour.