Integrations

Claude Code

A static bearer, one command, and the terminal opens your browser when a call needs you.

Claude Code takes a static header, so connecting it is one command and no browser dance. From that moment the agent sees every binding in its workspace as a tool with a plain-words description, and the keys stay where they are.

Connect it

one command
claude mcp add --transport http sallyport https://mcp.sallyport.cloud/mcp \
  --header "Authorization: Bearer sp_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

The token comes from the console when you create the agent. It opens nothing on its own: it names an agent identity, and the bindings on that identity decide what the agent may ask for.

How an approval reaches you

Claude Code documents a five-minute idle timeout on an HTTP request and moves a tool call to the background after about two minutes. So the gateway does not sit on the connection. It answers with a link, and Claude Code opens your browser on the approval card. The call stays in the foreground while the card is open. Answer on your phone instead and the agent picks the same call up on its next poll.

What the agent sees

tools/list, abbreviated
stripe.request     Stripe (key: stripe-live). GET runs. POST asks you.
github.request     GitHub (key: gh-bot). Reads run. Writes ask you.
web-01.exec        SSH web-01.example.com as deploy. Every command asks you.

Keep the header out of your dotfiles in a shared repository. `sp init` writes it into the local Claude Code config and adds a short block to CLAUDE.md telling the agent which services it has.

Connect the client you have open right now

One command writes the config, imports the keys you point at, and tells the agent what it may use.

Connect my first agent

Free for 10,000 calls a month. No card.