Skip to main content
Documentation

Platform

MCP servers & the Claude connector

Every capability, as a tool, over Streamable HTTP. The tool list a connection sees is the same list the dashboard resolves for that account, so a connection can never be offered a tool the underlying action would then refuse — no dead ends wearing a tool's name.

Open in Claude

Add the shop server as a custom connector. Claude registers itself — there is no client id to create and no key to paste — and then shows the Service VIN consent screen, which names in plain language what the connection may do.

Server URL — paste this into Claude
https://www.servicevin.com/api/mcp

Claude Code
claude mcp add --transport http servicevin https://www.servicevin.com/api/mcp

Two servers

ServerURLStatusFiltered by
Shophttps://www.servicevin.com/api/mcpLiveCredential scope, the acting user's permissions, the shop's plan, and the release ring.
Bookinghttps://www.servicevin.com/api/mcp/bookingLiveA booking token, and a fixed allowlist — availability and booking only.

The booking server inverts the default, on purpose

Everywhere else a capability is published unless it opts out. The booking server is reached by an unauthenticated caller acting for a member of the public — an AI voice platform taking a call, a widget on a website — so the honest default there is nothing. A capability reaches it only by naming it, which means one added next month inherits invisibility rather than exposure.

Discovery

Both servers are described at /.well-known/mcp.json — transport, auth, and what each one is for — so a client can find them without reading this page.

Discovery
curl https://www.servicevin.com/developers/.well-known/mcp.json

222 tools, and how a model finds one

A large tool set is a supported shape rather than a problem: with deferred loading enabled, Claude searches the tool list instead of reading it. That is why every capability carries two pieces of text doing two different jobs — a short summary written as retrieval text, which is what gets it found, and a longer operating contract underneath, which is what makes it used correctly.

Every input schema renders to a flat object. A root-level union is rejected outright by Claude, so a choice is modelled as mutually exclusive named parameters plus a one-change-per-call rule stated in the contract — never as a union. Browse them all on the capability index.

The connector

LiveOAuth 2.1, dynamic client registration, PKCE.

The connector is the same shop server reached through OAuth, with a consent screen. Every token is bound to the granting user, so that person's own permissions are the ceiling on what the connection can do, and revoking their login revokes the machine with it.

Full walkthrough for Desktop, Claude Code and the API's mcp_servers parameter: Connecting Claude.