https://mcp.gabin.ai/mcp. Clients that log you in themselves (Claude, ChatGPT) use OAuth: you approve them once on gabin.ai. Clients that take a fixed header (Claude Code, Cursor, VS Code, your own code) can use OAuth when they support it, or an API key sent as Authorization: Bearer.
Both paths need a Gabin account with a verified email address. Create one at gabin.ai/compte/inscription; the consent screen and the key page both refuse an unverified address.
Before you start
- OAuth (no key to copy)
- API key
Nothing to prepare. When the client connects for the first time, it registers itself with
https://gabin.ai and opens the Gabin consent screen in your browser. Sign in if you are not, check the application name and the return domain, and approve. The client receives an access token valid 1 hour and a refresh token valid 30 days; it renews them on its own.Claude (claude.ai and Claude Desktop)
Custom connectors are configured through your Claude account and work in Claude on the web and in Claude Desktop. The connection comes from Anthropic’s servers, not from your machine. Steps as described in Anthropic’s guide to custom connectors.1
Add a custom connector
Go to Customize > Connectors, click Add, then Add custom connector. Give it a name (for example Click Continue. Claude reads the server’s metadata and detects that it uses OAuth.
Gabin) and enter the server URL:2
Choose how to sign in
Under Authentication, choose Sign in now. Under OAuth client, choose Register automatically: Gabin supports dynamic client registration. Leave Request headers empty unless you prefer an API key over OAuth, in which case add a header
Authorization with the value Bearer gab_live_… and choose No sign in.Click Add.3
Approve on gabin.ai
A Gabin page opens. Sign in if needed, then approve the application. Claude shows the connector as connected.
4
Use it in a conversation
In a chat, open the + menu, then Connectors, and enable Gabin. Ask a question such as “Who occupies the building at 40 rue de Bruxelles in Villeurbanne?”. Claude calls the tools and cites the
gabin_url of each record if you ask for sources.Claude Code
Claude Code supports both OAuth and a fixed header. Reference: Claude Code MCP documentation.- OAuth
- API key
Add the server, then authenticate from the In a Claude Code session, run
/mcp command:/mcp, select gabin and follow the steps in the browser: Gabin asks you to sign in and approve. Claude Code keeps the tokens and renews them.--scope local). Use --scope user to have it in every project, or --scope project to share a .mcp.json with your team (keep the key in an environment variable in that case). Check the connection with claude mcp list.
ChatGPT
ChatGPT connects to remote MCP servers with OAuth; Gabin supports the dynamic client registration that ChatGPT uses. Steps as described in OpenAI’s developer documentation, which does not state which plans can add a custom server: “account and workspace policies apply”, so a workspace administrator may have to allow it.1
Add a custom MCP server
Open ChatGPT’s custom server page (
chatgpt.com/plugins at the time of writing), click the + button, then Add custom MCP server. Give it a name and a description.2
Enter the URL and sign in
Under Connection, enter the server URL with its Select OAuth as the authentication, read the warning and confirm. ChatGPT sends you to gabin.ai to sign in and approve, then lists the 18 tools it discovered. Create the connection.
/mcp path:3
Use it in a chat
Start a new conversation, type
@ in the prompt box and select Gabin, then ask your question. ChatGPT asks before calling tools unless you allow them for the conversation.Cursor
Cursor reads MCP servers from.cursor/mcp.json in your project or ~/.cursor/mcp.json for every project. Both OAuth and headers are supported on Streamable HTTP servers. Reference: Cursor MCP documentation.
${env:GABIN_API_KEY} is resolved from your shell profile or system environment; remote servers do not support envFile. Without a header, Cursor detects that the server requires sign-in and runs the OAuth flow (authorization code with PKCE, registering as a public client): approve on gabin.ai when the browser opens. Servers are enabled, disabled and signed in from Customize in the sidebar; connection logs are in the Output panel under MCP Logs.
The OAuth flow works from the desktop app (local return address
http://localhost:…/callback) and from Cursor on the web and Cloud Agents (https://www.cursor.com/agents/mcp/oauth/callback).VS Code
VS Code adds MCP servers through the Command Palette or a JSON file. Reference: Add MCP servers in VS Code.1
Add the server
Run MCP: Add Server from the Command Palette, choose HTTP (HTTP or Server-Sent Events), enter Without the
https://mcp.gabin.ai/mcp and a server ID such as gabin, then the destination (user or workspace).Or write the file yourself. In .vscode/mcp.json, with the key prompted once and stored in VS Code’s secret storage:.vscode/mcp.json
headers block, the server requires sign-in: review the authentication prompt VS Code shows on the first connection and approve on gabin.ai. Gabin accepts the vscode:// and https://vscode.dev/redirect return addresses.2
Start and check
Run MCP: List Servers to start the server and show its output. The 18 Gabin tools appear in the chat’s tools picker.
3
Ask
In chat, name the server in your request when it helps: “Use the Gabin MCP server to list the companies at 40 rue de Bruxelles, Villeurbanne.”
Any other MCP client
Give the client the URL and, unless it handles OAuth, the header:
OAuth clients find the authorization server from the resource metadata (
authorization_servers: ["https://gabin.ai"]), then its endpoints at https://gabin.ai/.well-known/oauth-authorization-server. Dynamic client registration (POST https://gabin.ai/oauth/register, public clients only), PKCE S256, the resource parameter (RFC 8707) with https://mcp.gabin.ai or https://mcp.gabin.ai/mcp, and iss in the authorization response are supported. Client ID Metadata Documents are not. Return addresses are limited to known connectors, http://localhost (any port), cursor:, vscode: and vscode-insiders: schemes.
To check a token from the shell, initialize a session and list the tools. The Accept header must list both application/json and text/event-stream, or the transport answers 406; MCP-Protocol-Version is optional:
initialize is needed before a tools/call, no session id is issued, and each request is independent.
Managing access
Create or delete a key
gabin.ai/compte/api. A verified email is required. Deleting a key invalidates it within a minute.
Revoke an application
Same page, under Applications autorisées: each OAuth client with its name, return domain and date. Revoking it invalidates its access and refresh tokens; the application has to ask for your consent again.
Troubleshooting
401 with a WWW-Authenticate header
401 with a WWW-Authenticate header
The request had no token, or a token Gabin no longer accepts (expired, revoked, deleted key). The header tells OAuth clients where to start:With
error="invalid_token" at the end, a token was sent and refused. With an API key, check that the header reads Authorization: Bearer gab_live_… (the key is case-sensitive, with no quotes) and that the key is still listed on gabin.ai/compte/api. With OAuth, reconnect the client: its refresh token may have expired after 30 days without use, or the application was revoked.Inside a tool result, the same situation reads UNAUTHENTICATED: Gabin no longer accepts this credential… with isError: true.429 rate_limited on the HTTP request
429 rate_limited on the HTTP request
Retry-After delay.RATE_LIMITED in a tool result
RATE_LIMITED in a tool result
Your account went over 60 weighted requests per minute. The message gives the delay:
RATE_LIMITED: Rate limit reached (60 weighted requests per minute). Retry in 12 s. The agent is told to wait; a loop that fans out many calls at once should spread them. The limit is shared with your API keys. See Limits.QUOTA_EXCEEDED in a tool result
QUOTA_EXCEEDED in a tool result
The daily quota of your account (5,000 units per UTC day) is spent, across API keys and MCP clients:
QUOTA_EXCEEDED: Daily quota of this account reached (5000 units per UTC day). It resets at 00:00 UTC. advanced_search weighs 5 units, each extra section of get_building or include of get_company one more: ask for the sections you need. Your usage by tool is on gabin.ai/compte/api.405 Method Not Allowed
405 Method Not Allowed
The client opened a
GET /mcp stream or sent DELETE /mcp. The server is stateless and answers 405 with Allow: POST; clients that follow the Streamable HTTP transport fall back to POST on their own. Nothing to do.The consent screen says the email address must be verified
The consent screen says the email address must be verified
Open the verification link Gabin sent you (or request one from gabin.ai/compte), then start the connection again from the client.
ChatGPT deep research does not see the server
ChatGPT deep research does not see the server
Expected: deep research and company knowledge look for
search and fetch tools, which Gabin does not expose. Use the server in a regular chat.