Connect Claude Code
Add Vitrina to Claude Code and authorise it with /mcp or claude mcp login.
You add the server with one command and authorise it with another. Claude Code is the shortest client to connect to Vitrina. Vitrina's own screens are Spanish, so they're quoted here as you'll see them, with the English alongside.
Adding the server
Choose where it will exist
By default the server is added for this project and only for you. If you want Vitrina in all your projects, add it with -s user.
Run claude mcp add
claude mcp add --transport http vitrina https://api.vitrinadev.com/mcpAdded HTTP MCP server vitrina with URL: https://api.vitrinadev.com/mcp to local config--transport http is not optional: without it, Claude Code assumes vitrina is a command it has to execute, and fails to start it.
Confirm it sees the server, and that it is not connected yet
claude mcp listChecking MCP server health…
vitrina: https://api.vitrinadev.com/mcp (HTTP) - ! Needs authentication! Needs authentication is the correct state at this point. Claude Code called Vitrina, got the 401 with the authorization server's address, and is waiting for you to authorise it.
Authorising
Two paths, the same result. Inside a Claude Code session:
/mcpand pick vitrina → Authenticate. Or, from the terminal:
claude mcp login vitrinaStarting authentication for "vitrina"…
If the browser didn't open, visit:
https://api.vitrinadev.com/oauth/authorize?response_type=code&client_id=…
Waiting for authorization… (^C to cancel)
Or paste the redirect URL here:The browser opens on Vitrina. Sign in with your account and review the permissions. Tick the costs checkbox if you want it, then press Permitir, which is Allow. The tab returns to localhost on its own and the terminal finishes:
Authenticated with "vitrina". Its tools are now available in Claude Code.claude mcp listvitrina: https://api.vitrinadev.com/mcp (HTTP) - ✔ ConnectedFrom there your assistant reads the workspace: the unanswered leads, the week's calendar, the catalogue.
In a session with no browser (over SSH, inside a container) use
claude mcp login vitrina --no-browser. It prints the URL, you open it wherever
you like, and you paste back the full address it redirected you to.
Trap
The callback port changes on every attempt
Claude Code listens on a different localhost port on every attempt, and
Vitrina accepts it. If you see redirect_uri inválido on the authorisation
screen, it is not something you typed wrong: follow the steps in
Fix a failing MCP connection.
No browser: a connection key
For a machine that can't open a browser or hold a session (a server, a CI runner) there's a second way. In the application, Connections → MCP → Crear clave de conexión, and:
claude mcp add --transport http vitrina https://api.vitrinadev.com/mcp \
--header "Authorization: Bearer $VITRINA_CONNECTOR_KEY"Added HTTP MCP server vitrina with URL: https://api.vitrinadev.com/mcp to local config
Headers: {
"Authorization": "[REDACTED]"
}claude mcp listvitrina: https://api.vitrinadev.com/mcp (HTTP) - ✔ ConnectedConnected straight away, with no authorisation step: the key is already the
credential. The trade-off is that it's a secret you keep and that never expires
on its own. Treat it like any other sk_ key (Authentication).
Reviewing and disconnecting
claude mcp get vitrinavitrina:
Scope: Local config (private to you in this project)
Status: ✔ Connected
Type: http
URL: https://api.vitrinadev.com/mcp
To remove this server, run: claude mcp remove vitrina -s localclaude mcp remove takes it off your machine. That does not revoke anything
on Vitrina's side: the authorisation is still live under Connections →
MCP → Aplicaciones conectadas, and that is where it is
really cut off.
Trap
If the authorisation breaks by itself: claude mcp logout
Claude Code stores each server's OAuth credentials in the system keychain. If something leaves them inconsistent (you reinstalled, you changed accounts, the server was rebuilt), the symptom is an authorisation screen that fails to start, not an error in the terminal.
claude mcp logout vitrina
claude mcp login vitrinalogout deletes what is stored for that server and nothing else. Run it from
the project's directory if you added the server with the default scope.