A remote MCP server for Amika: manage your sandboxes and agent sessions from any MCP client — including the Claude mobile app, so you can check on and steer your coding agents from your phone.
You deploy your own instance to Cloudflare Workers (free tier is plenty) with your own Amika API key. Nothing is shared: your key stays in your worker.
| Tool | What it does |
|---|---|
list_sandboxes |
List all sandboxes with their state |
get_sandbox |
Details/state of one sandbox |
start_sandbox / stop_sandbox |
Start or stop a sandbox (waits for the state change) |
list_sessions |
List agent sessions in a sandbox |
get_latest_session |
Most recent session in a sandbox |
get_session |
Fetch one session by id |
create_session |
Create an empty session with optional metadata |
update_session |
Update a session's status/metadata (e.g. mark completed) |
send_to_agent |
Send a message to the Claude/Codex agent in a sandbox and wait for the reply — resumes the latest session by default, or pass new_session / session_id |
- Click Deploy to Cloudflare above. Cloudflare copies this repo into your GitHub account and creates a Worker that redeploys on every push.
- Add two secrets to the worker (dashboard → your worker → Settings →
Variables and Secrets, type Secret):
AMIKA_API_KEY— generate at app.amika.dev/settings (API Key section)MCP_PATH_SECRET— a long random string, e.g. fromopenssl rand -hex 24
Your MCP endpoint is:
https://<worker-name>.<your-subdomain>.workers.dev/<MCP_PATH_SECRET>/mcp
git clone https://github.com/Neolithic/amika-mcp
cd amika-mcp && npm install
npx wrangler login # or: export CLOUDFLARE_API_TOKEN=<token>
npx wrangler secret put AMIKA_API_KEY
npx wrangler secret put MCP_PATH_SECRET
npm run deployIf wrangler login's browser flow can't reach you (headless/remote machine), create an
API token with the "Edit Cloudflare Workers" template at
dash.cloudflare.com/profile/api-tokens
and set CLOUDFLARE_API_TOKEN instead.
Claude (including the mobile app) — requires a Pro/Max/Team plan:
- claude.ai/settings/connectors → Add custom
connector → name it
Amika, paste your full endpoint URL (including the secret segment). Leave the OAuth fields empty. - In any Claude app (web, desktop, mobile), enable the connector in the tools menu and ask things like "list my amika sandboxes" or "send 'run the tests' to the agent in dev-box".
Claude Code:
claude mcp add --transport http amika https://<worker>/<secret>/mcpAny other MCP client that speaks Streamable HTTP works the same way.
- Single-tenant by design. Each deployment serves exactly one Amika account. The
worker holds your
AMIKA_API_KEYas a Cloudflare secret; it is never sent to clients. - The URL is the credential. There is no OAuth — the endpoint is guarded by the
secret path segment. Treat the full URL like a password: don't share it, don't post
screenshots of it, and rotate it if it leaks
(
wrangler secret put MCP_PATH_SECRET, or edit it in the dashboard). - Never share your deployed endpoint with other people. Anyone with the URL has full control of your Amika account's sandboxes and agents. Other users should deploy their own instance — that's what the button is for.
- Requests with a wrong or missing path secret get a
404without touching the Amika API.
cp .dev.vars.example .dev.vars # fill in AMIKA_API_KEY and MCP_PATH_SECRET
npm run dev # serves http://localhost:8787/<secret>/mcp
npm run typechecksend_to_agentblocks until the agent finishes (Amika's endpoint is synchronous with a 10-minute timeout). Long agent runs may exceed your MCP client's own tool timeout — the work still continues inside Amika; check back withget_latest_session.- The Amika SDK stores an unbound
fetchreference, which throws "Illegal invocation" on Workers. The client passesfetch: (input, init) => fetch(input, init)to work around it (src/index.ts) — don't remove it. - Built with
@amika/sdk, the MCP TypeScript SDK, and Cloudflare'sagentsframework (Streamable HTTP viaMcpAgent).