tgcc_ bearer key directly, so
there is no OAuth flow and nothing to click.
Looking for the claude.ai connector or Claude Desktop? Those run OAuth
through a settings dialog and are on Claude. This page is
the CLI.
One command
--transport http is not optional. Left out, Claude Code assumes stdio and
tries to run your URL as a command. --header may be repeated, and -H is the
short form.
Check it, then use it:
List the agents in my ImpelLabs workspace and tell me which are published.
/mcp in the REPL shows the server, its tools, and its connection state.
The three scopes, and which one you want
--scope decides where the server is written and therefore who gets it. The
default is local, which is the narrowest and is usually not what a team wants.
Sharing one connection with the team
--scope project writes .mcp.json at the repo root, and that file is meant to
be committed. It is the difference between everyone on the team configuring the
server by hand and everyone getting it with git pull.
.mcp.json
The key inside
.mcp.json is type: "http", not transport. This is the
single most common mistake, because the CLI flag is --transport and the file
key is not..mcp.json, Claude Code
asks them to approve the servers in it rather than connecting silently — a
committed file is somebody else’s config, and it is treated that way. If you
need to re-answer that prompt, claude mcp reset-project-choices clears the
decision.
Or let it do OAuth
Omit the header and Claude Code discovers the flow from the server’s own metadata:/mcp in the REPL and
choose Authenticate. This is the better path when you would rather not have a
long-lived key on disk at all. Both paths are covered in
Authentication.
Give it a key that can only do what you meant
Claude Code runs an agent loop that will iterate, and it is not shy. Its own approval prompts gate individual calls in a session; the durable control is the credential.Managing it later
Two behaviours that will surprise you
Some tools answer with a job id, not a result
Some tools answer with a job id, not a result
Extractions, reports, knowledge ingestions and jobs are queued, always. The
tool returns the job id and Claude has to poll before it can honestly say
the work finished. This is not a failure and it is not a timeout.
Uploading a document succeeds before it is readable
Uploading a document succeeds before it is readable
Upload returns success while parsing continues in the background. Asking for
the document’s text straight afterwards returns 409
document_not_processed until parsing finishes. Claude will retry if you
tell it to.Tools
What is callable, and the scope each one demands.
Claude
The claude.ai connector and Claude Desktop, which go through OAuth.

