Skip to content New SourceLoop MCP: chat with your attribution data in Claude, ChatGPT & Cursor
SourceLoop
API & MCP

MCP server

Connect your attribution data to any AI assistant and ask questions of it in plain language. 18 tools, one connection, and permissions you choose.

MCP (Model Context Protocol) is how an AI assistant talks to a product directly. Connect SourceLoop once and Claude, ChatGPT or Cursor can answer questions from your real numbers instead of guessing, without you exporting a CSV or building anything.

Server URL https://app.sourceloop.ai/api/mcp

What you can ask

  • "Why did our cost per lead go up last week?"
  • "Which campaigns produced deals that actually closed, not just leads?"
  • "Compare paid search and organic on lead-to-close rate this quarter."
  • "Is anything broken in our tracking right now?"

The tools are shaped around questions, not endpoints. One question is usually one tool call, so the assistant answers rather than making six calls and running out of room to think. Each response says where its numbers came from and what period they cover, which is what stops an assistant quietly comparing a full month against a partial one.

Connect a client

Sign in Opens a browser window. Nothing to paste, and you pick the permissions there.

  1. Open Settings, then Connectors, then Add custom connector.
  2. Paste the server URL: https://app.sourceloop.ai/api/mcp
  3. Approve the SourceLoop sign-in when the browser window opens, and tick the permissions you want the assistant to have.
  4. Start a new chat and ask something like "which channel had the lowest cost per lead last month?"

Sign in Opens a browser window. Nothing to paste, and you pick the permissions there.

  1. Add the server from your terminal, in any project.
  2. Run /mcp inside Claude Code and complete the sign-in.
  3. Ask in the session: "using SourceLoop, which campaigns produced deals that closed last quarter?"
claude mcp add --transport http sourceloop https://app.sourceloop.ai/api/mcp

Sign in Opens a browser window. Nothing to paste, and you pick the permissions there.

  1. Open Settings, then Connectors, then Create.
  2. Paste the server URL: https://app.sourceloop.ai/api/mcp
  3. Complete the SourceLoop sign-in and approve the permissions.
  4. In a chat, enable the SourceLoop connector before asking your question.

API key Create a key first under Settings, Developers, API keys.

  1. Add the server to ~/.codex/config.toml.
  2. Restart Codex. The SourceLoop tools are available in the session.
[mcp_servers.sourceloop]
url = "https://app.sourceloop.ai/api/mcp"
http_headers = { Authorization = "Bearer slk_live_your_key_here" }

API key Create a key first under Settings, Developers, API keys.

  1. Open Settings, then MCP, then Add new global MCP server.
  2. Add SourceLoop to the mcp.json it opens.
  3. Reload the window. The tools appear in the MCP panel.
{
  "mcpServers": {
    "sourceloop": {
      "url": "https://app.sourceloop.ai/api/mcp",
      "headers": {
        "Authorization": "Bearer slk_live_your_key_here"
      }
    }
  }
}

API key Create a key first under Settings, Developers, API keys.

  1. Create .vscode/mcp.json in your workspace, or add to your user settings.
  2. Open the Copilot chat view in Agent mode. SourceLoop's tools appear in the tools picker.
{
  "servers": {
    "sourceloop": {
      "type": "http",
      "url": "https://app.sourceloop.ai/api/mcp",
      "headers": { "Authorization": "Bearer slk_live_your_key_here" }
    }
  }
}

API key Create a key first under Settings, Developers, API keys.

  1. Open Settings, then Cascade, then Manage MCP servers, then View raw config.
  2. Add SourceLoop and refresh the server list.
{
  "mcpServers": {
    "sourceloop": {
      "type": "http",
      "url": "https://app.sourceloop.ai/api/mcp",
      "headers": { "Authorization": "Bearer slk_live_your_key_here" }
    }
  }
}

API key Create a key first under Settings, Developers, API keys.

  1. Most clients take a URL and a bearer token, in which case use the JSON on the left with whatever key that client uses for its server map (mcpServers, servers, or context_servers).
  2. A client that only speaks stdio can bridge to us with mcp-remote, which is what the snippet here does.
{
  "mcpServers": {
    "sourceloop": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://app.sourceloop.ai/api/mcp"],
      "env": { "SOURCELOOP_API_KEY": "slk_live_your_key_here" }
    }
  }
}

Two ways to authenticate

Sign in (OAuth). Chat clients open a browser window where you sign in to SourceLoop and tick the permissions the assistant gets. Nothing is pasted, and you can revoke the connection from the app without touching any other integration. This is the right choice for a person using an assistant.

API key. Headless clients and editors send a key as a bearer token instead, exactly as the REST API does. Use this for anything running unattended.

For keys and scopes, see Authentication.

Either way, the connection can only do what its permissions allow. A read-only connection cannot change a deal, however the question is phrased, because the tools that write are not offered to it at all.

What happens to your data

A tool response is transmitted to whoever runs the assistant, and it may be retained there. That is true of every MCP server, so ours is built around it:

  • Personal data follows the connection's permissions. Email addresses, phone numbers and names come back masked unless the connection carries permission to read them, with the email domain preserved so a masked row still identifies the company. Connect an assistant with a key that lacks that permission and it can analyse your pipeline without ever seeing a customer's address.
  • Absent is never reported as zero. "No ad account connected" is not "you spent nothing", and an assistant will happily build advice on the second reading if you let it.
  • Every response states its own definitions, so the assistant cannot silently present ROAS as profit.

More detail in Data provenance and PII.

Limits

Tool calls count against the same per-workspace rate limit as the REST API, so a runaway assistant cannot exhaust anything a person would notice. See Errors and rate limits.

Next: what to ask it, or the full tools reference.

Track every conversion to its true source

Capture and send full attribution data from every signup, lead, booking, and sale to your CRM and ad platforms, so you know exactly what's driving revenue.

Without SourceLoop

Untagged

Kayden Floyd

kayden@abc.com

  • SourceUnknown
  • MediumUnknown
  • CampaignUnknown
  • Landing pageUnknown
Journey
No touchpoints captured

With SourceLoop

Auto-tagged

Kayden Floyd

kayden@abc.com · Acme Co.

  • Channel Paid Social
  • CampaignFree_demo
  • Landing page/pricing
Journey
Synced to HubSpot Google Ads Meta