protogrid

Search / io.github.FirstKeyHQ/firstkey-mcp

FirstKey

not classified

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

v0.1.0 · active · repository · website · descriptor JSON · versions

Not classified yet.The remote endpoints have not been probed successfully, or the listing has nothing to connect to.
Quality79good
Trust69of 100
Uptime, 30 days93%
Latency p501863 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "firstkey-mcp": {
      "type": "http",
      "url": "https://mcp.firstkey.io/mcp"
    }
  }
}
claude mcp add --transport http firstkey-mcp https://mcp.firstkey.io/mcp
[mcp_servers.firstkey-mcp]
url = "https://mcp.firstkey.io/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "firstkey-mcp": {
      "type": "remote",
      "url": "https://mcp.firstkey.io/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "firstkey-mcp": {
      "type": "http",
      "url": "https://mcp.firstkey.io/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=firstkey-mcp&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLmZpcnN0a2V5LmlvL21jcCJ9"
}
{
  "servers": {
    "firstkey-mcp": {
      "type": "http",
      "url": "https://mcp.firstkey.io/mcp"
    }
  }
}
{
  "mcpServers": {
    "firstkey-mcp": {
      "httpUrl": "https://mcp.firstkey.io/mcp"
    }
  }
}
extensions:
  "firstkey-mcp":
    enabled: true
    name: "firstkey-mcp"
    type: streamable_http
    uri: "https://mcp.firstkey.io/mcp"
    timeout: 300

Quality 79 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-06-18; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene71 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • fail
    tools.annotationsno tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: claim_faucet_grant (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_fuel_link (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); create_wallet (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
  • pass
    tools.token_costabout 1,333 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changes2 tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

8 tools, about 1,333 tokens to load them all · tool set e2853d508850 · tools last changed 2026-09-29 · checked 2026-10-19 15:48 UTC

Tool changes

  • get_swap_routeadded

    Route 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.

  • get_swap_quoteadded

    Get 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.

Full history: list_changes · trend: quality JSON.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 69 / 100

unreachable
provenance90
liveness7
freshness100
hygiene100

+repository +namespace-matches-repo +website -unreachable(3 failures) +updated-25d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://mcp.firstkey.io/mcp streamable-httpnoneno (3 failures)93%1863 ms2025-06-182026-10-17

Tools (8)

check_cyclesRead an ICP principal's cycles balance on the cycles ledger.
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.
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.
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.
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.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.FirstKeyHQ/firstkey-mcp",
  "title": "FirstKey",
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://mcp.firstkey.io/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.1.0",
  "repository": {
    "url": "https://github.com/FirstKeyHQ/firstkey-mcp",
    "source": "github"
  },
  "websiteUrl": "https://firstkey.io",
  "description": "FirstKey MCP: agent wallets, free cycles faucet, and one-command site deploys on ICP."
}