FirstKey

FirstKey MCP: agent wallets, free cycles faucet, and one-command site deploys on ICP.

Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeRead-only

What it can do

    What data it sees

    Do you need an account

    No: the server works without sign-in

    FirstKey MCP: agent wallets, free cycles faucet, and one-command site deploys on ICP.

    How to connect

    How to connect FirstKey to Claude

    The server address to paste into Claude settings:

    https://mcp.firstkey.io/mcp

    1. Open Claude (claude.ai or the desktop app).
    2. Go to Settings → Connectors.
    3. Click Add custom connector.
    4. Paste the server address copied below into Remote MCP server URL and click Add.
    5. In a chat, click + → Connectors and switch the new connector on.

    Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.

    Authorization

    After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.

    How to connect FirstKey to ChatGPT

    The server address to paste into ChatGPT settings:

    https://mcp.firstkey.io/mcp

    1. Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
    2. Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
    3. Open Settings → Connectors and click Create.
    4. Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
    5. Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
    6. In a new chat open + → Apps/Connectors and enable the connector.

    OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.

    Authorization

    On first use ChatGPT opens the service's sign-in window. Sign in and approve access.

    How to connect FirstKey to Cursor

    The server address to paste into Cursor settings:

    https://mcp.firstkey.io/mcp

    Fastest: click Open in Cursor below and confirm the prompt.

    Manually:

    1. In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
    2. Paste the JSON copied below into ~/.cursor/mcp.json (per project: .cursor/mcp.json in the repo root).
    3. Save the file. The server appears in the MCP list; authorize it there if asked.

    Authorization

    If the service needs sign-in, an authorize button appears next to the server in the MCP list.

    Server tool list (8)

    Raw names from tools/list. Only developers need these.

    create_walletGenerate a fresh Ed25519 wallet for an AI agent: returns the ICP principal and the PKCS#8 PEM private key. The private key is returned exactly once over this call and is never stored anywhere. No signup, no on-chain registration — the keypair IS the wallet.
    claim_faucet_grantClaim the one-time free 1T cycles grant from the FirstKey faucet for an agent principal. One claim per principal, ever. The grant lands on the cycles ledger and funds the agent's first canister deploy.
    deploy_siteDeploy a static website for an agent: creates a canister on the Internet Computer, installs the FirstKey static host, uploads every file, and returns the live https URL. The agent is added as a controller of its site canister. One free deploy per agent principal, funded from the FirstKey deploy pool; files must fit in one call (total under ~1.4 MB decoded) — use deploy_upload_chunk for larger files.
    deploy_upload_chunkUpload one chunk of a large file to an already-deployed agent site (for files that don't fit in a single deploy_site call). Chunks are appended in order; set is_last on the final chunk to publish the file.
    check_cyclesRead an ICP principal's cycles balance on the cycles ledger.
    get_fuel_linkGet the FirstKey Fuel payment link for a principal: a human pays by card (Stripe) and cycles land in the agent's wallet — the sovereign refuel path when the free faucet grant or deploy pool is exhausted.
    get_swap_quoteGet a live, read-only swap quote on ICPSwap (the deepest on-chain DEX on ICP): how much receive_token you would get for pay_amount of pay_token. No tokens move — this prices the intent; execution happens in the agent's own wallet/canister. Tokens can be symbols (ICP, ckUSDC, ckUSDT, ckBTC, ckETH) or ledger principals.
    get_swap_routeRoute a swap intent across ICPSwap: prices the direct pool and every two-hop path through ICP, ckUSDC, ckUSDT, ckBTC, and ckETH live on-chain, chains each leg's quoted output into the next leg's input, and returns the best route leg-by-leg. Read-only — no tokens move. Use this instead of get_swap_quote when a direct pool may be thin or missing.