Swimlane
Back to Help Center

Connect an AI assistant with the MCP server

Swimlane runs an MCP server at https://api.getswimlane.com/mcp. MCP (Model Context Protocol) is the standard way to hand a product to an AI assistant: instead of writing API calls, you describe what you want and the assistant makes them.

It exposes the whole public API as tools — sourcing imports, contacts, lists, tags, pipelines, reminders, campaigns, the background queue and your daily usage.

Before you start

You need an API token. Go to Settings → API → Add Token, choose the Public API type, and copy it: it is shown once. The same page prints the configuration below with your host already filled in.

Set it up in your client

Claude Code — one command:

claude mcp add --transport http swimlane \
  https://api.getswimlane.com/mcp \
  --header "Authorization: Bearer wpa_your_token"

Claude Desktop — in claude_desktop_config.json:

{
  "mcpServers": {
    "swimlane": {
      "type": "http",
      "url": "https://api.getswimlane.com/mcp",
      "headers": {"Authorization": "Bearer wpa_your_token"}
    }
  }
}

Cursor — ~/.cursor/mcp.json (or .cursor/mcp.json in a project) takes the same mcpServers shape, without the type line.

VS Code — .vscode/mcp.json uses servers instead of mcpServers, with type, url and headers.

OpenAI — a tools[] entry on the Responses API:

{
  "type": "mcp",
  "server_label": "swimlane",
  "server_url": "https://api.getswimlane.com/mcp",
  "headers": {"Authorization": "Bearer wpa_your_token"},
  "require_approval": "never"
}

Restart the client afterwards. It should list the Swimlane tools; if it does not, the token is usually the cause — check it starts with wpa_ and was created as a Public API token.

What to ask for

Source a list without opening LinkedIn

"Take everyone who commented on this post, put them in a list called Webinar commenters, and keep it filling: https://www.linkedin.com/posts/…"

The assistant creates the list and queues the import. The contacts arrive over the next few minutes, and the list tops itself up every couple of hours. Ask "is it done yet?" and it checks the background queue.

Find out why a campaign went quiet

"What are my campaigns doing, and is anything stuck?"

It reads your campaigns and their statistics, then your daily usage and the queue. The useful answer is usually the second one: "your Acme sequence has sent nothing since Tuesday because the daily invitation limit has been at 20/20 each morning."

Draft a sequence

"Draft a three-step sequence for the Engaged with Acme list: invite, wait three days, message the ones who connected, tag the rest."

It opens a draft campaign and lays out the branching flow. It stops there — starting a campaign is a separate tool, so you review the steps in the app first.

Clean up contacts that can never be messaged

"In the Imported from CSV list, which contacts have no LinkedIn profile? Tag them needs-profile."

A contact without a LinkedIn profile is a CRM record and nothing else: campaign steps cannot act on it. This is the failure that otherwise turns up weeks later as steps landing in failed.

Set a reminder in one sentence

"Remind me to follow up with Sofia Marchetti in two weeks about the pricing question."

It finds Sofia and creates the reminder on her record, where you will see it next to the conversation.

Good to know

  • Two tools send things. Starting or resuming a campaign puts real invitations and messages in front of real people, from your LinkedIn account. They are marked so your client asks before running them — leave that confirmation on.
  • The token acts as you. Same workspace, same LinkedIn session, same daily limits. It never sees a teammate's campaigns.
  • Every action is logged. Each tool call is an API call: it counts against the 100-per-minute limit and appears in Settings → API with its method, path and status.
  • It cannot read your conversations. An assistant can tell you that someone replied, not what they wrote. Writing a message to one person still happens in the app.
  • Revoking access is deleting the token in Settings → API. The connection stops working immediately.

For the endpoints behind the tools, see Swimlane public API reference.

Was this article helpful?