Get your URL
Sign in, open Settings, and stay on the Connections tab. There is already one connection waiting, so nobody ever lands here with nothing to copy. Press Set up on a connection, choose the client you are wiring up, and the exact steps appear with the URL already substituted into the config. Everything below is that same recipe, written out.One connection per client
Make a new connection for each assistant rather than pasting the same URL everywhere. It costs nothing and it buys you two things:- Revocation that is not all-or-nothing. Laptop stolen, URL pasted somewhere it should not have been — rotate or delete that one client. Everything else stays connected.
- A truthful answer to “is it actually working?” Each row shows when it was last used and what called in, guessed from the user agent.
list_connections, create_connection,
rename_connection, rotate_connection, delete_connection. Listing never returns
tokens; creating and rotating do, because handing you the URL is the point of them.
The recipes
- Claude
- Claude Code
- ChatGPT
- Cursor
- VS Code
- Windsurf
- Anything else
Web, desktop and mobile.Anthropic’s connector documentation →
1
Open Settings → Connectors
In Claude, go to Settings → Connectors.
2
Add a custom connector
Click Add custom connector.
3
Paste the URL
Name it
Hired and paste your connection URL where it asks for the server URL.4
Save
Claude can now read and write your brain, resumes and pipeline.
A client that insists on a header
Drop the token from the path and send it as a bearer instead. Both routes resolve to the same connection.Config (bearer token)
A client that only speaks stdio
Some clients only know how to launch a local command.mcp-remote bridges one to this
server. It needs Node installed, and nothing else.
Config
Your own code
It is JSON-RPC 2.0 over POST. There is no session handshake to keep alive — every request stands alone, which is what lets the server restart, scale to replicas and suspend an account instantly without anything reconnecting.Terminal
Accept: text/event-stream if you would rather have the reply as SSE. Both are
supported.
The MCP specification →
Checking it worked
Hit Test next to any connection in the app. It calls its own endpoint the way a client would and tells you how many tools answered — 80 for a member, 108 for an admin. From the assistant’s side, ask it who it is talking to:Who am I connected as?That is
whoami, and it comes back with the account’s name, email, role and whether it
can administer the instance. Every other tool acts as that person and can see nothing
else.
What the assistant is told on connect
Before it sees a tool, every connecting client receives a briefing generated for your account. Some of it is always there: that the connection URL is a credential that must never be repeated where it will be stored, and the standing rules — never invent experience, employers, dates or metrics; useappend_role_brain_dump rather than
update_role for new material; update_resume and update_role replace what you send,
so read first and write back whole.
The rest depends on whether you have written anything yet.
An empty workspace
The briefing says so plainly — every read tool will come back with nothing, and that is
the state of the account rather than a failed call. It tells the assistant to ask one
question first: whether you have a resume or a LinkedIn export to paste, or would
rather talk it through. Then to file whatever comes back by hand, and never to hand
you a form. The pipeline and the CRM are not explained at all until a role exists,
because none of it does anything yet.
A workspace with something in it
The briefing describes the four areas and which tool to reach for first in each:
search_brain for the brain, get_resume_format before writing a document,
list_schedule when the question is about a stretch of time, get_company before
writing anything about a company.kind: "GUARDRAIL" is carried at the end of that briefing,
so your own standing rules are in context before a single tool is called. See
the brain.