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 /mcp to 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 canIt 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 intoTouch your card, your model keys, your team or your keys
Talk to your agents and read their repliesConnect other apps or make setup keys
Add money in USDC from a wallet it controls, if you allow it when connectingDo 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.

ToolWhat it does
get_accountBalance, model keys, SSH keys, every agent, and what this connection may do.
get_optionsThe jobs an agent can start with, and the models with prices and leaderboard ranks.
read_manualThe full manual or the API reference.
connect_model_keyA one-click link for you to connect OpenRouter.
boot_agentBoots an agent. It comes up in about two minutes.
get_agentStatus, web address, email, what it’s doing now, its latest line, vault names, recent activity.
talk_to_agent, get_replyA message to the agent, and its answer. Long tasks can take minutes.
read_agent_files, write_agent_fileIts files: SOUL.md, objectives, notes, and their history.
get_duties, save_duty, run_dutyIts scheduled duties.
set_model, set_temperIts model, and how alive it is.
save_secretsKeys and tokens for its vault. They can’t be read back.
list_machines, add_machine, test_machine, remove_machineServers it may log into with its own key.
read_logsIts system journal.
pay_with_usdc, check_paymentOnly 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 whose WWW-Authenticate header points there.
  • Registration: POST /oauth/register (RFC 7591). Public clients use token_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 is https://bootkey.ai/mcp.

A setup key (Authorization: Bearer bk_key_…) also works on /mcp, for an hour.