Agents

Claude Code

Add one address, sign in once, and Claude Code calls your services while the keys stay in Sallyport.

Claude Code signs in to Sallyport by itself: no token to copy, nothing to set up in the console first. A token from the console works too, for a project file shared through git.

Connect it

  • Run the command below in a terminal. --scope user adds Sallyport to every project.
  • Run claude mcp login sallyport, or type /mcp inside Claude Code and pick sallyport. Your browser opens Sallyport.
  • Sign in or create an account, then press “Allow” on the consent screen. It says “After you allow, you go back to an app on this computer”: that app is Claude Code.
Shell · add Sallyport
claude mcp add --transport http --scope user sallyport https://mcp.sallyport.cloud/mcp

Pressing “Allow” creates an agent named after the client. An owner’s or admin’s agent starts with every connection of the workspace. A member’s agent starts with none, and an admin adds them under “Access”. Signing in again later takes one “Reconnect” click.

Connect with a token

Claude Code also takes an agent token sent as a header. The console writes the whole command for you, token included.

  • In the console, open Agents, press “New agent”, type a name and press “Create agent”.
  • On the agent’s page, in “Connect this agent”, keep “Claude Code” selected and press “Copy for Claude Code”. The copy carries the token you just created on this page, or a new one.
  • Run the copied command in a terminal and restart Claude Code. claude mcp list shows sallyport as connected.
what “Copy for Claude Code” copies, split over two lines here
claude mcp add --transport http --scope user sallyport https://mcp.sallyport.cloud/mcp \
  --header "Authorization: Bearer YOUR_AGENT_TOKEN"

--scope user makes Sallyport available in every project and keeps the token in ~/.claude.json, outside your repositories.

To skip the terminal, choose “Paste into Claude” and press “Copy message for Claude”. Paste the message into a Claude Code chat, and Claude runs the command itself.

Only owners and admins create agents. A new agent starts with every connection of its workspace, and its “Access” list on the agent’s page changes that.

Share it through a project file

A project .mcp.json goes into git with the code. Claude Code expands ${VAR} in its headers, so the file names a variable and each developer keeps the token in their own environment.

JSON · .mcp.json
{
  "mcpServers": {
    "sallyport": {
      "type": "http",
      "url": "https://mcp.sallyport.cloud/mcp",
      "headers": { "Authorization": "Bearer ${SP_AGENT_TOKEN}" }
    }
  }
}

Set SP_AGENT_TOKEN in the shell that starts Claude Code. The console’s “.mcp.json” option copies the same file with the token written in, and that version stays out of git.

Tell sessions apart

Many Claude Code sessions can share one token. Under “Label each Claude Code session”, press “Copy session hook for Claude” and paste it into Claude Code. Every call then shows the session and folder it came from.

What the agent sees

tools/list, abbreviated
stripe_read     Stripe API (api.stripe.com/v1), reading only. Key: stripe-live.
stripe_write    Stripe API (api.stripe.com/v1). Key: stripe-live. For reads use stripe_read.
http_request    For a host in your list use its own tool.
list_access     Every service you can reach, one short entry each.
get_call        The state of a call by call_id, at once.

A web API connection gives two tools: _read for reads, _write for everything else. A server where the agent runs commands gives one _exec tool. A database gives _query and _execute, and a remote MCP server brings its own tools. Each description names the key and says what runs straight through, so the agent knows its access before the first call.

When a call waits for a person

Calls run straight through by default. A call waits where you turned on “Ask every call” or set a class to “Approval required” under the agent’s “Access”. It also waits when it passes a budget you set in Limits.

While the card is open, Sallyport keeps the call alive for up to 4 minutes and reports progress every 10 seconds. In an interactive session, Claude Code moves the call to the background after 2 minutes and delivers the answer when it comes.

No answer within 4 minutes? The agent gets approve_url and call_id, shows you the link, and repeats the call with that call_id once you answer. The service is called once. The card stays open for an hour by default. See Approvals for where cards arrive.

Leave MCP_TOOL_TIMEOUT and a server’s timeout unset, or set them above 240000. A lower value ends the wait inside Claude Code, and the agent loses the link and the call_id.

Connect the agent you have open right now

Paste one link, add a key in Sallyport, and your agent sees the service on its next action.

  • 7 days free
  • Cancel anytime
  • Nothing to install