129 providers · native MCP

Set your agents loose. Bound the blast radius.

Connect your accounts once. Grant each agent the individual capabilities it needs, with the parameters pinned to values you choose. A key that can post to #dev-log cannot post anywhere else, read your inbox, or refund a Stripe charge, no matter what the agent is talked into.

You already run with --dangerously-skip-permissions. Clawband is what makes that a reasonable thing to do.

Free tier · usage-based after · no card

live policy checkPOST /v1/actions:execute
agent
my-coding-agent
capability
slack.send_message
account
dev-workspace
pinned
channel_id = #dev-log

agent sends

{
  "method": "tools/call",
  "params": {
    "name": "slack_send_message__dev_workspace",
    "arguments": {
      "channel_id": "#general",
      "text": "shipping now"
    }
  }
}

gateway refuses · 400

{
  "error": "parameter channel_id must equal #dev-log",
  "code": "INVALID_PARAMETERS",
  "shouldRetry": false
}

The call never reached Slack. No token was spent, nothing was posted, and the attempt is in your audit log.

The problem

A credential has no way to say “only this much.”

scope

A raw API key is an all-or-nothing grant

A Stripe key can refund any charge, for any amount, to any account. There's no way to write down "only refund up to $50, only for this customer" anywhere, because the provider's API has no place to put it. So the narrowest thing you can hand an agent is still everything you can do.

setup

Every service wants its own OAuth dance

Wiring an agent to Gmail, Notion, GitHub, Linear, and Stripe means five OAuth apps, five sets of scopes, and five token refreshes, all before you've written a single prompt. And the moment you swap agents, you do it all again.

recall

The record is scattered across a dozen dashboards

Your agent's work lands in Stripe, Gmail, GitHub, and Slack, and each keeps its own log in its own format, if it keeps one at all. Answering "what did this agent do today?" means opening twelve tabs and reconstructing a timeline by hand.

How it works

Connect once. Grant narrowly. Refuse the rest.

  1. 01

    Connect your accounts

    Sign into Stripe, Gmail, GitHub, Notion, or whatever else you use, once, in the Clawband dashboard. Tokens are encrypted and stay in the gateway. Your agent never sees them.

    stripe   · connected
    gmail    · connected
    github   · connected
    notion   · connected
  2. 02

    Grant capabilities. Pin the parameters.

    Issue a Clawband key per agent, then grant it individual capabilities rather than whole APIs. Constrain the parameters on each grant: only this Slack channel, only this Notion database, refunds up to $50. A prompt injection can argue with your agent, but it can't widen a grant.

    agent: my-coding-agent
      + github.create_issue
      + github.list_pulls
      + slack.send_message
          channel_id = #dev-log   # pinned
  3. 03

    Point your agent at one endpoint

    Drop the key into Claude Code, OpenClaw, Cursor, or your own runtime via MCP, or POST JSON to /v1/actions:execute. Clawband enforces the policy on every call and writes an audit entry for each one.

    POST /mcp
    {
      "method": "tools/call",
      "params": {
        "name": "slack_send_message__dev_workspace", ...
      }
    }

Code

One line to wire up. The tools your agent sees are the tools you ticked.

Clawband speaks native MCP and a plain HTTP endpoint. The tools/list your agent gets back holds one tool per grant, and nothing else. Ungranted capabilities aren't hidden behind a permission error; they never appear. Your parameter pins ride along in each tool's description, and the gateway enforces them on every call whether the agent respects them or not.

terminal
# MCP setup (one line)
claude mcp add clawband \
  --transport http \
  --url https://api.clawband.io/mcp \
  --header "Authorization: Bearer cb_live_a8f3…"

Integrations

129 services your agent can use.

Browse by category
  • 1Password Connect
  • Airtable
  • Alpaca
  • Amadeus
  • Amazon Web Services
  • Anthropic
  • Apple Calendar (iCloud)
  • Apple Contacts (iCloud)
  • Asana
  • Atlassian Statuspage
  • Auth0
  • Backblaze B2
  • Binance
  • Bitbucket
  • Bluesky
  • Buffer
  • Calendly
  • Canvas LMS
  • CircleCI
  • ClickUp
  • Cloudflare
  • Cloudinary
  • Coinbase
  • Datadog
  • DigitalOcean
  • Discord
  • Docker Hub
  • DocuSign
  • Doppler
  • Dropbox
  • EasyPost
  • eBay
  • Fastmail
  • Fitbit
  • FreshBooks
  • GitHub
  • GitLab
  • Gmail
  • Google Calendar
  • Google Cloud Platform
  • Google Contacts
  • Google Docs
  • Google Drive
  • Google Meet
  • Gumroad
  • Gusto
  • Heroku
  • Hetzner Cloud
  • Home Assistant
  • HubSpot
  • Intercom
  • Jira Cloud
  • Kraken
  • LastPass (Enterprise)
  • Linear
  • Mailchimp
  • Mastodon
  • Mercury
  • Microsoft Azure
  • Microsoft Teams
  • monday.com
  • MongoDB Atlas
  • n8n
  • Neon
  • Netlify
  • New Relic
  • ngrok
  • Notion
  • npm Registry
  • Okta
  • OneDrive
  • OpenAI
  • Opsgenie
  • Outlook Calendar
  • Outlook Contacts
  • Outlook Mail
  • PagerDuty
  • Patreon
  • PayPal
  • Philips Hue
  • Pinecone
  • Plaid
  • Porkbun
  • Postman
  • PrintNode
  • Privacy.com
  • Pushover
  • PyPI
  • QuickBooks Online
  • Raindrop.io
  • Readwise + Reader
  • Reddit
  • Render
  • RescueTime
  • Resend
  • Retell AI
  • Samsung SmartThings
  • SendGrid
  • Sentry
  • Shopify
  • Slack
  • Snyk
  • Splitwise
  • Spotify
  • Square
  • Strava
  • Stripe
  • Supabase
  • Tailscale
  • Telegram
  • Tesla
  • Todoist
  • Toggl Track
  • Trakt.tv
  • Trello
  • Twilio
  • Twitch
  • Upstash
  • UptimeRobot
  • Vercel
  • Vultr
  • Wave Accounting
  • WhatsApp Business
  • Wise
  • Xero
  • YNAB
  • YouTube
  • Zendesk Support
  • Zoom

Adding one more is a connector service and a row in the registry. No gateway change.

Security & policy

If your agent's key leaks, the blast radius stays small.

Policy at the edge

allowlist

Per-agent capability grants

Each Clawband key carries an explicit list of capabilities it can call. Everything else is invisible to that agent, even where the provider's API supports it.

my-coding-agent:
  - github.create_issue
  - github.list_pulls

pinning

Parameter pinning

Lock specific parameters to constants, ranges, or an allowed set. The gateway checks every call against the policy before it reaches the provider, so it holds whether or not the agent cooperates.

slack.send_message:
  channel_id: "#dev-log"   # pinned

scopes

Minimal OAuth scopes

Each capability declares the scopes it needs. When you connect a provider, Clawband asks for the union of the scopes your enabled capabilities require, and nothing speculative on top.

enabled:
  github.create_issue, github.list_pulls

requested scope:
  public_repo        # not `repo`

Custody & recall

custody

Credentials never reach the agent

Provider tokens are envelope-encrypted at rest and decrypted only inside the gateway, for the duration of one call. The agent holds a Clawband key and nothing else, so there is no provider credential in its context to leak, log, or be talked out of.

agent    → cb_live_a8f3…      (scoped, revocable)
gateway  → provider token       (encrypted at rest)

audit

Per-call audit log

Every call writes an entry: timestamp, agent key, capability, integration account, outcome, error code, and latency. Payloads are deliberately not persisted, so the log tells you what your agents did without becoming a second copy of your data.

2026-05-26T11:04:12Z  my-coding-agent
  slack.send_message   acct=dev-workspace
  status=ok  latency=412ms

replay

Replay-safe by default

Every execution requires an idempotency key. When an agent retries a call it is unsure about, and agents retry constantly, the gateway returns the original result instead of sending the charge, the email, or the message a second time.

Idempotency-Key: 5f2c…  → 1 message sent
Idempotency-Key: 5f2c…  → same result, no resend

FAQ

Common questions.