docs / quickstart

Quickstart

Sign up, mint a key, wire krabs into your agent of choice, run your first call. About five minutes.

Install

v0.4 ships from source. Homebrew + npm distribution arrive in v0.5 — until then, clone and build:

git clone https://github.com/augusto-devingcc/krabs.git
cd krabs
pnpm install
pnpm setup

pnpm setup mints an API key against a local SQLite DB and saves it to ~/.config/krabs/config.json. Your CLI is now authenticated for the localhost API. For the hosted version (app.krabs.dev), run ./cli/dist/index.js auth login --api-url https://api.krabs.dev after building the CLI — that triggers the device flow.

See the install guide for symlinking the CLI to your PATH, uninstall, and the v0.5 distribution roadmap.

free tier
500 ops per month are free, no credit card. Usage rolls over to paid only when you attach a card from the dashboard.

Mint a key

On signup the dashboard auto-provisions a key labeled Web Dashboard bound to your browser session. For anything else — an agent, a script, a deployed worker — create a scoped key at /dashboard/keys.

Tokens look like this:

krabs_sk_4n7q2vh3jpz9w8x1y0c5b6d4f8g2k1m3

The full token is shown once at creation. We store only a hash. If you lose it, rotate.

Wire Claude Desktop

Open ~/Library/Application Support/Claude/claude_desktop_config.json and add the krabs server under mcpServers.

{
  "mcpServers": {
    "krabs": {
      "transport": "https",
      "url": "https://mcp.krabs.dev",
      "auth": {
        "type": "bearer",
        "token": "krabs_sk_…"
      }
    }
  }
}

Restart Claude Desktop. The krabs tools appear in the tool drawer; the agent can now reach every operation listed in the contract.

Your first call

Three transports, one operation. Each of the following creates the same contact.

MCP — ask the agent in natural language; the host invokes the tool:

tool: contact.upsert
args: {
  "identity": { "kind": "email", "value": "ada@lovelace.dev" },
  "first_name": "Ada",
  "last_name": "Lovelace"
}

CLI:

krabs contact upsert \
  --email ada@lovelace.dev \
  --first-name Ada \
  --last-name Lovelace

HTTP:

curl https://api.krabs.dev/v1/contact.upsert \
  -H "Authorization: Bearer $KRABS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "identity": { "kind": "email", "value": "ada@lovelace.dev" },
    "first_name": "Ada",
    "last_name": "Lovelace"
  }'

All three return the same JSON: a contact object with a stable id.

Next steps

Edit this page on GitHub →last updated 2026-05-16 · v0.4.3