Give Claude Code access to your apps with MCP

by The Spinrun team5 min readGuides

Claude Code is very good at the repository in front of it and knows nothing about anything else. The issue you are fixing lives in a tracker, the report that started it lives in Slack, and the deployment that broke it lives in a dashboard — and none of that is on disk.

MCP is how you close that gap, and it takes one command.

The command

Terminal
bash
claude mcp add --transport http spinrun https://spinrun.ai/mcp \
  --header "x-spinrun-client: claude-code"

Three things in there are worth naming.

--transport http is not optional. Claude Code defaults to stdio, which expects a local process to spawn; the gateway is a remote HTTP endpoint and the flag is what tells it so. Leave it out and the registration succeeds and then never connects.

spinrun is the name the server is registered under. It is what you will see in /mcp inside Claude Code, and it is what other Spinrun tooling expects, so it is worth keeping.

x-spinrun-client is attribution, not authentication. It carries no secret, and it is why the activity log can tell you that a call came from Claude Code rather than from an editor — useful the first time two of your agents disagree about what happened.

Authorize in your browser

Claude Code's first request reaches the gateway with no credential attached and gets a 401 back, carrying a WWW-Authenticate header that points at where to authorize. Claude Code follows it, opens a browser window, and picks up from there. Sign in, choose which workspace it may reach, and you are done — no key to copy, and you can revoke it any time from Settings → Applications.

Or let the agent do it

There is a shorter path that suits a terminal agent better than copying shell commands does. Paste this into Claude Code:

Prompt
Add the Spinrun MCP server at https://spinrun.ai/mcp and complete the browser
authorization it prompts for, then list the tools you can now reach.

It registers the server, opens the browser for you to authorize, and tells you what it found — which is also the fastest way to confirm the setup worked, because a list of tools is proof and a success message is not.

What it can reach

Whatever your workspace has connected. Tools arrive named TOOLKIT_VERB_OBJECTGITHUB_CREATE_ISSUE, SLACK_SEND_MESSAGE, LINEAR_LIST_ISSUES — which reads well enough that you rarely have to look anything up.

If you have connected the same app twice, the second connection's tools carry a suffix naming it: GITHUB_CREATE_ISSUE__work alongside GITHUB_CREATE_ISSUE__oss. The bare name still resolves to your default connection, so adding a second account never breaks a setup that was working.

Set the rules first

Claude Code is an agent with a shell, and you are about to give it a second set of hands. Before you do, open each connected app and set its policy — read, write and destructive, each allowed or blocked.

The one worth thinking about is destructive. In a repository, "clean up" is a reasonable instruction; against a tracker it can mean closing thirty issues. Blocking destructive actions per app takes a minute and removes the whole class of problem, and the agent gets a clear refusal naming the rule rather than a mysterious failure.

A first task worth trying

Something that spans the repository and the world outside it:

Look at the last three commits on this branch, find the Linear issue they reference, and post a summary of what changed to the #eng channel in Slack.

Claude Code reads the commits itself, uses LINEAR_GET_ISSUE for the ticket and SLACK_SEND_MESSAGE for the post. Nothing about that requires you to leave the terminal, and nothing about it required you to write an integration.

Keeping the tool list small

A workspace with a lot of connected apps sends a lot of tool definitions, and Claude Code pays for them in context on every session. If that starts to bite, switch the gateway to compact mode: it stops sending the full list and gives the agent search tools instead, so it finds what it needs when it needs it. Both discovery tools are free to call.

Next

Before anything loads

We would like to switch on analytics, so we can see which pages are worth keeping. Nothing has loaded yet and nothing will until you choose. The cookies that keep you signed in and remember your language are not part of this.

Read the Cookie Policy