Let your users connect Claude to your app
Get your app's MCP server ready for Claude custom connectors, choose how Claude registers, and give your users the steps to add it and sign in.
This page is part of Agent-ready apps: it covers what you do so that your own users can connect Claude, on claude.ai and in Claude Desktop, to the app you built with BuildBase. Your app serves MCP with @buildbase/sdk, and each user signs in on your hosted sign-in page and approves Claude as themselves.
Note
Want to manage BuildBase itself from your AI? See Use BuildBase in Claude, in BuildBase in your AI tools.
The examples use https://app.example.com/api/mcp, the default path createAgentStack serves, and the name Acme.
Before you share the URL
-
Serve MCP on public HTTPS. Claude connects from Anthropic's servers, so a server on
localhost, a private network or behind a VPN is out of its reach. If you filter by IP address, allow Anthropic's published ranges. -
Choose how Claude gets a client in Set up agent access:
- Let agents register themselves, with a base client: your users pick Register automatically.
- Let agents identify themselves by a metadata document as well: your users can also keep Claude's default, Use Claude's published identity, and Claude holds no secret on your app.
-
Check it the way Claude does:
npx buildbase agent doctor --url https://app.example.com/api/mcpThe doctor walks the 401 challenge, both metadata documents and your tool list, and lints every tool against the Claude and ChatGPT directory rules.
What your users do
Put these steps on your own help page, with your URL:
- In Claude, go to Customize > Connectors, choose + Add, then Add custom connector.
- Enter
Acmeandhttps://app.example.com/api/mcp, then choose Continue. - Under Authentication, choose Sign in when needed. Under OAuth client, choose Register automatically (or keep Claude's published identity, if you turned metadata documents on).
- Choose Add, then sign in on your sign-in page and approve Claude on your consent screen.
- In a chat, turn the connector on from + > Connectors.
On Claude Team an Owner or Primary Owner adds the connector (on Enterprise, also a role with Manage access to Libraries), and each member then chooses Connect and signs in as themselves. Custom connectors are on every Claude plan; Free allows one.
What your users see
- Your sign-in page. Claude opens your hosted sign-in page in a new window, with your branding and the sign-in methods you turned on.
- Your consent screen. It names Claude (as it registered) and the scopes it asks for. A self-registered agent chooses its own name, so it is shown as unverified.
- Tool approval. Under the connector's Tool permissions, each user (or, on Team and Enterprise, an Owner for everyone) sets each tool, or the read-only and write groups, to Always allow, Needs approval or Blocked. Mark read tools
readOnlyHint: trueand changesdestructiveHintas they are, so those groups sort your tools correctly; the SDK's built-in tools are read only by default.
When Claude connects, your user approves it on your consent screen. Here it is for an agent that registered itself:

What differs in Claude
- No install link. Claude has no one-click install for a custom connector, so your page gives the URL and the steps above.
- Directory listing is separate. A custom connector needs no review. Listing in Claude's connector directory is Anthropic's process:
npx buildbase agent listing --url <mcp-url>writes the submission checklist from your running server. - Editing. A user who needs a new URL removes the connector and adds it again.
If something goes wrong
| What your user sees | Why | What to do |
|---|---|---|
| "Couldn't connect" when adding it | The endpoint is not public HTTPS, or a firewall blocks Anthropic's servers | Serve it on public HTTPS; allow Anthropic's ranges if you filter by IP |
| Sign-in fails before your page opens | The OAuth client choice is one you did not turn on | Turn on self-registration (or metadata documents) in agent access |
| Claude sees fewer tools than you defined | Tools that need a scope the token lacks are hidden | Ask for the scope at sign-in, or drop requiredScopes from the tool |
| A tool call fails with a protocol error | The result does not match the tool's outputSchema | Compare the tool's structuredContent with its outputSchema and fix one of them |
Related
- Connect an agent to your app: every client on one page, the MCP Registry, and agents in code.
- Let your users connect ChatGPT to your app and Let your users connect Claude Code to your app.
- Use BuildBase in Claude: the same client in BuildBase in your AI tools.
- Anthropic's own guide: custom connectors using remote MCP.
Frequently asked questions
- Does my app need to be in Claude's connector directory?
- No. Any Claude user can add your server's URL as a custom connector. The directory is a separate listing that Anthropic reviews; `npx buildbase agent doctor` lints your tools against its rules if you want to apply.
- Which option should my users pick under OAuth client?
- Register automatically works once Let agents register themselves is on. Claude's published identity works only when you also turn on Let agents identify themselves by a metadata document. Tell your users which one you support.
- Can Claude reach a server on localhost or a VPN?
- No. Claude connects from Anthropic's servers, so your MCP endpoint must be on public HTTPS. Use a tunnel or a preview deployment to try it before you ship.