SemiLayerDocs

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:

https://mcp.semilayer.com/mcp
ℹ️

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 → SettingsConnectorsAdd 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

https://mcp.semilayer.com/mcp

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:

{
  "mcpServers": {
    "semilayer": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.semilayer.com/mcp"]
    }
  }
}

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/connectorsAdd custom connector.

Paste the URL

https://mcp.semilayer.com/mcp

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

claude mcp add --transport http semilayer https://mcp.semilayer.com/mcp

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

claude "List my SemiLayer lenses that have a feed facet"

Cursor

Add to project config

Create .cursor/mcp.json in your project root (or edit ~/.cursor/mcp.json to make it available across projects):

{
  "mcpServers": {
    "semilayer": {
      "url": "https://mcp.semilayer.com/mcp"
    }
  }
}

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

npx @modelcontextprotocol/inspector

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:

Any client that speaks those works with no SemiLayer-specific code.

Revoking access

Three ways:

  1. Console → Settings → Sessions → Revoke MCP.
  2. Email root@semilayer.dev with your account ID to fully evict the client registration.
  3. 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