All articles

Connect Unitcore to Claude

Unitcore connects to Claude as a connector: you add the server address, sign in to your Unitcore account and approve the request. From then on Claude reaches your data as you, and strictly within the boundaries you see yourself.

Connecting takes a couple of minutes and happens once per account: a connector added in the browser is available in the desktop app and on your phone too.

Connect in one click

Add Unitcore to Claude

Opens claude.ai with the name and server address already filled in. The link only prefills the form — adding the connector and signing in to Unitcore is still yours to do.

If you are adding the connector by hand, this is the only value you will have to type:

Remote MCP server URL

https://unitcore.io/api/mcp

No keys, no tokens, no passwords go anywhere — access is granted through your ordinary Unitcore account.

There is nothing to configure. Claude probes the server itself and fills in both auth settings, marking them Detected — you can press Add straight away. What the options mean, and why to leave them alone, is in step 3.

Before you start

  • Sign in to Unitcore in this same browser. Then the authorization step takes you straight to the consent screen instead of a login form.
  • Any Claude plan will do, including the free one. The free plan allows a single custom connector, so the slot is worth spending deliberately.
  • On Team or Enterprise: custom connectors are added by the organization owner. They need the same link, pointed at the admin page; after that all you do is press Connect.

Step 1. Open the connector dialog

The button above opens it directly. By hand:

Where you workWhat to do
Claude in the browserAvatar in the top right → SettingsCustomizeConnectors
Claude Desktop⌘ , or Ctrl ,CustomizeConnectors
Claude on your phoneConnectors are added from a computer only. Add it once and it shows up on the phone by itself

Under Connectors, press + and choose Add custom connector.

Step 2. Name and address

Name

Unitcore

Remote MCP server URL

https://unitcore.io/api/mcp

The name is only a label — it is how you recognize this connection in the list, and it grants nothing.

Step 3. Press Add

Claude has already reached the server and chosen both auth settings for you. The Detected tag next to them is a conclusion drawn from your address, not a default:

SectionWhat is selected
AuthenticationAlways required — the server asks for a sign-in every time
OAuth clientNo client ID — register one automatically — the client registers dynamically

Request headers stays empty: there are no API keys here. Press Add.

Why the other options do not fit

Use Anthropic's hosted client metadata is tagged Recommended, but that is Claude's general advice rather than a finding about your server. Claude picks this route only when the authorization server advertises support for a client ID metadata document. Unitcore's does not — which is why Detected sits on the option next to it. Switch by hand and the connection breaks on the way back from the browser.

Use your own OAuth client asks for a client ID you registered ahead of time yourself. Unitcore has no such path: clients register dynamically, and each connection gets its own.

Required when the server asks and None, under Authentication, tell Claude that some tools work without signing in. They do not here: a request without a token gets a 401, so connecting without authorization yields nothing at all.

Auth settings cannot be changed on a connector that already exists. If you switched one and the connection broke, Remove it and add it again.

Step 4. Sign in and approve

A card appears in the connector list. Press Connect and a browser window opens — with a login form first, if you are not signed in to Unitcore yet.

Then comes the Unitcore consent screen. Three rows on it are worth actually reading:

  • Client — the name of the client asking for access;
  • Redirects to — where you will be returned; for Claude that is https://claude.ai/api/mcp/auth_callback;
  • Signed in as — whether this is your Unitcore account.

Allow access issues the token; Deny ends the flow and no access is granted. After you approve, the window closes itself and the connector card goes live.

Step 5. Turn the connector on in a conversation

The connector is attached to your account, but each chat enables it separately: in the composer, press +Connectors and switch Unitcore on.

Step 6. Check that it works

Show me my Unitcore spaces

Claude will ask you to approve the tool call — press Allow, or Allow always to stop being asked. The answer should contain your personal space, created automatically when you signed up. If you see it, you are connected.

Why this is safe to connect

Connecting an AI client to your data deserves more than a reassuring sentence. The rule is this: a tool acts as the user who called it, and never as anyone else, and three things keep that rule from eroding:

  • Isolation is enforced by Postgres, not by tool code. The request carries your OAuth token, and Row Level Security decides what comes back. Nothing in the tool bodies enforces isolation, so nothing in them can accidentally undo it.
  • Only OAuth tokens are accepted. Verification requires a client_id claim, so a web session lifted from a browser is not a key to this server.
  • A service-role key cannot reach the tools. That key bypasses RLS, and the build fails if the MCP code so much as reads an environment variable named SECRET or SERVICE_ROLE.

There is an end-to-end test as well: it drives every read tool as one user and fails if an identifier belonging to another shows up in the answer.

How to disconnect

  • Selectively: in the connector card, any tool can be set to Blocked. Block the writing tools and Claude can read and reckon but write nothing.
  • Entirely: CustomizeConnectors → Unitcore → Remove. The client loses the ability to renew access; the issued token is short-lived and Claude refreshes it itself only while the connection exists.

If something goes wrong

What you seeWhat it means
You approved and came back to an authorization errorCheck whether you switched the OAuth client section by hand. It cannot be changed on an existing connector: Remove it and add it again, leaving the option tagged Detected
Connect opens nothingThe browser blocked the popup. Allow popups for claude.ai and retry
Claude says it has no access to UnitcoreThe connector is not on in this chat: +Connectors → Unitcore
401The token expired, or a browser session token was used. Reconnect the client
No access token.The request reached the server without a bearer token
No personal space found. Pass space_id explicitly.There is no default space — name the space in your request
The list of spaces is emptyYou signed in to a different Unitcore account. Remove the connector, sign out of the extra account and connect again
Reads work, writes do notThe client is not on the write allow-list
No Add custom connector itemYou are on Team or Enterprise: the organization owner adds the connector first

Questions people ask

Do I need a Claude subscription? No. Custom connectors work on the free plan, but only one is available there — if you already have another service connected, the slot has to be freed.

Does this work on a phone? Yes. Claude reaches Unitcore from its own cloud rather than from your device, so a connection made once in the browser works in the mobile app too.

If I connect from a work computer, will colleagues see my data? No. Access is bound to your Unitcore account, not to a device or an organization.

What does Claude see of my data? Only what it requests while answering, and strictly within the boundaries you see yourself in the application.