Set up MCP in your agent
Every walkthrough below ends in the same place: your agent can call SemiLayer tools on your behalf, scoped to your role on every org you belong to.
The one URL you need:
Heads-up on the first connection. On first connect, the agent dynamically registers itself with our OAuth server, then redirects you to the SemiLayer consent screen. Same login you use for console.semilayer.com. After consent, the agent keeps a refresh token — subsequent sessions reconnect silently.
Claude Desktop
Open Connectors settings
Claude Desktop → Settings → Connectors → Add custom connector.
Not the config file. claude_desktop_config.json only supports stdio (local-subprocess) MCP servers — it needs a command to spawn. Remote servers with OAuth live under the Connectors tab instead. If you see older guides telling you to add "url": "..." under mcpServers, they're out of date.
Paste the URL
Name it SemiLayer (or anything). Save.
Authenticate
Click the connector → browser opens → approve the consent screen → you're back.
Try it
Start a new conversation. Ask: "What SemiLayer orgs do I have?" — Claude calls whoami + get_map and shows you a hierarchy.
Want it in the config file anyway? Wrap the URL with mcp-remote, a local stdio bridge that proxies to a remote server:
This runs an npx subprocess locally that forwards MCP traffic to us. The Connectors UI is still the recommended path — it matches what end users see, gets OAuth right out of the box, and is what Anthropic's review team uses.
claude.ai (web)
Open custom connectors
Head to claude.ai/customize/connectors → Add custom connector.
Paste the URL
Name it SemiLayer. Save.
Authenticate
Click the connector → approve the consent screen → you're returned to Claude with the connection active.
Try it
In any chat, mention SemiLayer: "Using SemiLayer, what orgs do I have?" — Claude picks up the connector, calls whoami, and surfaces the answer.
Claude Code
One command
First call triggers OAuth
Next time you invoke a SemiLayer tool in a session, Claude Code opens a browser for the consent screen. After approving, the token is cached in ~/.claude/mcp-oauth/semilayer.json and reused across sessions.
Try it
Cursor
Add to project config
Create .cursor/mcp.json in your project root (or edit ~/.cursor/mcp.json to make it available across projects):
Reload Cursor
Cursor's MCP tab (Settings → Features → MCP) shows the semilayer server in connecting... until you complete OAuth. Click Authenticate → browser → approve → back.
Try it
Ask Cursor's chat: "Show me the schema of my recipes lens in the development environment."
MCP Inspector (for debugging)
Great for trying tools before wiring a real agent.
Run it
Connect
- Transport Type:
Streamable HTTP - URL:
https://mcp.semilayer.com/mcp - Click Connect — a browser tab opens for the consent screen. Approve.
Explore
Tools tab → every tool with a form for its arguments, a Run Tool button, and a live response pane. Every structured content block renders as a tree so you can eyeball return shapes.
Any other MCP-compatible client
We implement the public spec end-to-end:
- Transport: Streamable HTTP with session resumability
- Auth: OAuth 2.1 with PKCE, Dynamic Client Registration, Protected Resource Metadata
- Discovery root:
https://mcp.semilayer.com/.well-known/oauth-protected-resource/mcp - Tool annotations: every tool carries
readOnlyHintordestructiveHintper the spec, so clients that honor annotations render the right confirmation UX
Any client that speaks those works with no SemiLayer-specific code.
Revoking access
Three ways:
- Console → Settings → Sessions → Revoke MCP.
- Email root@semilayer.dev with your account ID to fully evict the client registration.
- Agent-side — sign out of the MCP connection from your agent's settings.
Revocation is enforced on next tool call (~60s). Existing long-running operations complete; no new tool calls succeed.
What's next
- Tool catalog → — arg shapes + response shapes for all 18 tools
- Examples → — ready-made prompts for common flows
- Back to MCP overview →