SightLift

Connect your agent to SightLift

Ask about your SightLift numbers — and reach for your team's proven skills and automations — from the agent you already work in, instead of stopping to open the dashboard. Setup is one paste and a sign-in; there's no key to copy and nothing to store.

← Connect Claude to SightLift (sending us your usage data)
Two servers, one setup. SightLift answers on two addresses — sightlift-analytics for your own numbers and sightlift-capabilities for your team's approved work — and you add both. They are separate servers with separate sign-ins, so a snippet carrying one is half a connection, with nothing on screen saying which half is missing. Every block on this page configures both.
This is not the same as the connection token in Configuration → Connect's second card. That token is for a shared tool nobody signs into — CI, a build agent, a whole company's Claude Code — and all it can do is the always-on nudge: consult your team's skills on each prompt and record what got used. It cannot browse the library, read a capability in full or run an automation, because those answer to a person. This page is the other direction: your agent, signed in as you, with all of it.

What your agent can ask

About your numbers (sightlift-analytics) — a small set of read-only analytics tools. It can ask about topics, conversations, people and the shape of your team's AI work: counts, distributions, rankings, trends. It cannot download your data, and it cannot change anything.

About your team's proven work (sightlift-capabilities) — browse the automations and skills your team has already approved, read one in full before you follow it, and try an automation in our sandbox to see what it would do. The sandbox runs with no credentials, no network and no side effects, so a dry run cannot touch anything of yours.

You see exactly what you'd see signed into the dashboard, and nothing more: each connection authenticates you, and every answer is filtered to your own clearance. A viewer's agent gets a viewer's answers.

Set it up

Configuration → Connect → Connect your agent shows the exact snippet for your client, already filled in with your address. Copy it from there rather than from this page — the card knows your organization and this page doesn't. It is the same card in three places, so take whichever you are already on: that one, My AI, or Explore → Data under the analyst. Your client choice follows you between them. The shapes are:

Claude Code's snippet is the one we have run end to end, against both servers, sign-in completed and tools answering on each. Every other client's block follows that client's own official documentation, and that goes for its second server entry as well as its first. All of them use the same two addresses. If one doesn't work, tell us: that is a gap in this page, not something you did wrong.

Claude Code

Run both of these in your terminal — claude mcp add registers one server per invocation:

claude mcp add --transport http sightlift-analytics https://app.sightlift.ai/analytics-mcp
claude mcp add --transport http sightlift-capabilities https://app.sightlift.ai/capabilities-mcp

Then run /mcp and choose Authenticate on each of the two servers you just added. A browser window opens each time, you sign in, and the tools appear.

Codex

Add both tables to ~/.codex/config.toml:

[mcp_servers.sightlift-analytics]
url = "https://app.sightlift.ai/analytics-mcp"

[mcp_servers.sightlift-capabilities]
url = "https://app.sightlift.ai/capabilities-mcp"

Then log in to each of them — codex mcp login sightlift-analytics and codex mcp login sightlift-capabilities. codex mcp login takes one server name, so this really is two commands. A browser window opens each time, you sign in, and the tools appear.

Cursor

Add both entries to ~/.cursor/mcp.json (or .cursor/mcp.json for one project):

{
  "mcpServers": {
    "sightlift-analytics": {
      "url": "https://app.sightlift.ai/analytics-mcp"
    },
    "sightlift-capabilities": {
      "url": "https://app.sightlift.ai/capabilities-mcp"
    }
  }
}

Then open Settings → MCP and click Login on each of the two SightLift servers. A browser window opens each time, you sign in, and the tools appear.

Claude Desktop

Open Customize → Connectors, click +, then Add custom connector, and add it twice: one connector per address, each with its own name:

SightLift analytics      https://app.sightlift.ai/analytics-mcp
SightLift capabilities   https://app.sightlift.ai/capabilities-mcp

Then click Connect on each one and sign in, so you'll sign in twice, once per connector. (On a Team or Enterprise plan an owner adds the connectors in Organization settings → Connectors, and each person then finds them under Customize → Connectors and clicks Connect.) The Free plan allows only one custom connector, so on Free you can add one of the two servers, not both.

VS Code

Add both entries to .vscode/mcp.json in your project (or your user mcp.json):

{
  "servers": {
    "sightlift-analytics": {
      "type": "http",
      "url": "https://app.sightlift.ai/analytics-mcp"
    },
    "sightlift-capabilities": {
      "type": "http",
      "url": "https://app.sightlift.ai/capabilities-mcp"
    }
  }
}

⚠ VS Code's top-level key is servers, not mcpServers, and each entry needs the explicit "type": "http". A config copied from the Cursor block above will not load. Start both servers from the MCP: List Servers command and sign in when prompted.

Windsurf

Add both entries to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "sightlift-analytics": {
      "serverUrl": "https://app.sightlift.ai/analytics-mcp"
    },
    "sightlift-capabilities": {
      "serverUrl": "https://app.sightlift.ai/capabilities-mcp"
    }
  }
}

⚠ Windsurf uses serverUrl for a remote server, not url — in both entries. Then press Refresh in the Cascade MCP panel and sign in to each when prompted.

Zed

Add both entries to Zed's settings.json:

{
  "context_servers": {
    "sightlift-analytics": {
      "url": "https://app.sightlift.ai/analytics-mcp"
    },
    "sightlift-capabilities": {
      "url": "https://app.sightlift.ai/capabilities-mcp"
    }
  }
}

⚠ Zed calls them context_servers, not mcpServers. Leave out any headers block — with no authorization header configured, Zed runs the standard MCP OAuth flow and prompts you to sign in, which is what you want here.

OpenCode

Add both entries to opencode.json:

{
  "mcp": {
    "sightlift-analytics": {
      "type": "remote",
      "url": "https://app.sightlift.ai/analytics-mcp",
      "enabled": true
    },
    "sightlift-capabilities": {
      "type": "remote",
      "url": "https://app.sightlift.ai/capabilities-mcp",
      "enabled": true
    }
  }
}

⚠ OpenCode's top-level key is mcp and each remote entry needs "type": "remote".

Goose

Run goose configure and choose Add Extension → Remote Extension (Streamable HTTP) — once per server, naming each one as you go:

sightlift-analytics      https://app.sightlift.ai/analytics-mcp
sightlift-capabilities   https://app.sightlift.ai/capabilities-mcp

Leave the custom-headers step empty for both; Goose then signs you in through the server's own OAuth flow.

ChatGPT

Open Settings → Connectors → Add custom connector and add both addresses, one connector each:

SightLift analytics      https://app.sightlift.ai/analytics-mcp
SightLift capabilities   https://app.sightlift.ai/capabilities-mcp

Available on plans that allow custom connectors. You sign in once per connector.

Your client isn't listed? Any client that speaks MCP over streamable HTTP and supports OAuth will work — give it the two addresses, https://app.sightlift.ai/analytics-mcp and https://app.sightlift.ai/capabilities-mcp, and nothing else. There is no key to paste. The field name differs per client (url, serverUrl, "server URL"), and a few use their own top-level key, so check your client's own MCP documentation for the shape rather than copying another one from this page. Whatever the shape, the two servers are two sibling entries in it — never one entry pointing at both.

Signing in

There is no API key and no token to paste. Your client opens a browser window, you sign in the way you sign into the dashboard, and it holds the resulting credential itself — SightLift never sees it and never stores one for you.

You do that once per server, not once in total. Each address is its own OAuth grant: two Authenticate choices in Claude Code's /mcp list, two codex mcp login commands, two Login clicks in Cursor, one sign-in per connector everywhere else. Sign in to one and stop, and that server's tools work while the other's are simply absent — no error, nothing saying why. If half the tools you expected are missing, this is the first thing to check.

That credential is short-lived and refreshes quietly in the background, which is deliberate: if your role changes or your access is removed, the connection reflects it within minutes rather than at the end of a long-lived key's life. You may occasionally be asked to sign in again. Nothing is broken when that happens.

To disconnect, remove both servers from your client — claude mcp remove sightlift-analytics and claude mcp remove sightlift-capabilities, or delete both blocks from your config file. There is nothing to revoke on our side, because there is nothing stored on our side.

If you work in more than one organization

A connection belongs to one organization for its lifetime. You choose which one when you sign in, and it cannot be switched afterwards from inside your agent.

The dashboard has an organization switcher in the header. Your agent does not, and cannot: the switcher works by re-issuing your browser session, and a connected agent doesn't have one. The credential it holds is scoped to whichever organization you picked when you signed in.

So if you belong to several organizations, add one pair per organization and give each name a suffix you'll recognize:

claude mcp add --transport http sightlift-analytics-acme      https://app.sightlift.ai/analytics-mcp
claude mcp add --transport http sightlift-capabilities-acme   https://app.sightlift.ai/capabilities-mcp
claude mcp add --transport http sightlift-analytics-globex    https://app.sightlift.ai/analytics-mcp
claude mcp add --transport http sightlift-capabilities-globex https://app.sightlift.ai/capabilities-mcp

Suffix both names, not just one. The suffix is what keeps the entries apart: an MCP client keys a server by name. Claude Code refuses a second add under a name you already have (MCP server … already exists), but clients you configure by editing a file keep only one entry per name, so the later one silently replaces the earlier. A pair where only the analytics name was suffixed loses its capability server to the next organization you add.

Authenticate each one separately — when the browser window opens, you'll be asked which organization this connection is for, and you pick the matching one each time. Same addresses, different answers.

To re-point an existing connection at a different organization, remove it and add it again; signing in a second time is what re-scopes it. There is no way to switch it in place.

If it doesn't connect

What you seeWhat it usually means
The browser window never opens Your client didn't reach the address. Check the URL has no trailing slash and no extra path, and that you can open https://app.sightlift.ai in a browser from the same machine.
You sign in, then get an error Most often the account you signed in with has no SightLift access, or has access to a different organization than you expected. Sign into the dashboard with the same account to check.
Analytics answers, but nothing knows about your team's skills (or the reverse) One of the two servers isn't signed in — or was never added. Each is its own OAuth grant; see Signing in. A half-configured setup looks exactly like a working one until you ask the missing half a question.
It connects but the answers are about the wrong company You picked the other organization at sign-in. Remove the connection, add it again, and choose the right one — see above.
An answer says something was withheld Working as intended. Some content is restricted to particular roles and clearances; your agent is held to exactly the same limits you are, and it names what it left out rather than quietly dropping it.
← How capabilities work