Skip to main content

Introduction to the Sonity MCP server

Estimated reading time: 4 minutes.

The Model Context Protocol (MCP) is an open standard that lets AI assistants talk to external tools. Think of it as "a USB-C plug for AI": instead of every AI app building its own integration with every SaaS tool, MCP defines one common way for an AI client to discover and call tools exposed by a server.

Sonity ships an MCP server so you can point an AI client — Claude Desktop, Cursor, Zed, Cline, or any MCP-compatible app — at your Sonity account and let the AI drive your outreach: list profiles, build campaigns, run search-and-collect, attach leads, and pull metrics, all through natural-language requests.

Why Sonity built an MCP server

Before MCP, getting an AI to act on your Sonity data meant either hand-pasting information into a chat window or writing bespoke integrations per client. With the Sonity MCP server:

  • No copy-paste. The AI reads your campaigns, leads, and profiles directly.
  • One integration, many clients. Any MCP-compatible app can connect with the same URL + token.
  • Scoped, revocable access. You authorize the server with a short-lived, scoped token from inside Sonity — nothing is ever permanently handed out.

What you need

  1. A Sonity account with at least one profile.
  2. A supported MCP client (see table below).
  3. A Sonity authorization token, generated from the in-app MCP dialog. See Authentication.

How it fits together

  1. Your AI client sends a JSON-RPC request to the MCP server with your Bearer token.
  2. The MCP server verifies the token, translates the request into a Sonity GraphQL query (or a driver call for direct_search_and_collect), and signs it as HS256 before forwarding it.
  3. The GraphQL API / driver performs the action against your Sonity data and returns the result.
  4. The MCP server hands the result back to the AI client as plain text.

Supported clients

Any client that implements the MCP spec works. The ones we test against:

ClientTransportNotes
Claude DesktopHTTPNative MCP support.
CursorHTTPConfigured via ~/.cursor/mcp.json.
ZedHTTPConfigured via Zed settings.
ClineHTTPConfigured via cline_mcp_settings.json.
Custom scriptsHTTP or stdioUse the official @modelcontextprotocol/sdk or raw JSON-RPC. See Connecting.

What the server can and cannot do

Can

  • List your Sonity profiles and resolve a sonity_profile_id.
  • List, create, and update campaign definitions.
  • Add or update campaign steps (your outreach sequence).
  • Run search-and-collect jobs (with or without an existing campaign).
  • Attach collected leads to a campaign.
  • Fetch campaign metrics (TCP summary + meeting metrics).
  • Send one-off messages to a specific lead.

Cannot

  • Send LinkedIn messages outside of a campaign step or the messaging_send tool.*
  • Bypass LinkedIn's daily limits. All LinkedIn-side actions still go through Sonity's normal rate-limited execution pipeline.
  • Modify your Sonity account billing, users, or passwords. Those are admin-only and not exposed via MCP.
tip

We are working towards supporting the ability to send message over MCP, even outside of a campaigns

tip

The full tool reference, including required arguments and which scopes each needs, is in MCP tools.

Where to next