ZenMode

io.zen-modePublished by zen-mode.ioOfficial publisherv1.0.0Updated Oct 24, 2026

Read LinkedIn outreach campaigns, contacts and replies, and manage campaign leads and targeting.

VerifiedStreamable HTTPWeb executableCommunication & CollaborationBusiness & Commerce

Overview

AI-generated overview

Remote MCP server for ZenMode LinkedIn outreach: read campaigns, contacts and conversations, and manage campaign leads and targeting from an AI assistant.

What you can do
  • Read account, campaign and contact data: account summary, campaigns, targeting, contacts, conversations, safety and setup status
  • Add or remove up to 100 people per call in a campaign by LinkedIn profile URL
  • Change outreach state: pause a contact, add them to the do-not-contact list, or mark them not interested
  • Edit campaign targeting and, on paid plans, validate messages, create campaigns, write connection notes and follow-ups, and launch, resume or pause campaigns
  • Check desktop app state and get install or update guidance
When to use it
Useful when you run LinkedIn outreach in ZenMode and want an assistant to report on campaign performance, look up contacts and conversations, or adjust leads and targeting without opening the dashboard. Changes are queued for ZenMode's desktop app to work through, so it suits planning and review rather than instant sending.
Requirements
Remote Streamable HTTP endpoint at the ZenMode MCP address; no local package. OAuth sign-in with a choice of read-only or read-and-change scope, or a ZenMode API key sent as a Bearer token (for example via the ZENMODE_API_KEY environment variable). A ZenMode account on the Practitioner plan or above; the MCP server is not available on Novice.
Before you install
The server can change data: add or remove leads, alter targeting, set do-not-contact or not-interested states, and create, launch, resume or pause campaigns. Launching uses a two-call preflight with a confirm token, but other changes are marked as changes only so the client can ask for confirmation. Grant read-only scope unless changes are wanted. An API key grants access to the whole account and stays valid until revoked. Rate limits apply per key.

Installation

In SourceWeft

  1. Open ZenMode in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.zen-mode%2Fzenmode/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "zenmode": {
      "type": "http",
      "url": "https://www.zen-mode.io/api/mcp"
    }
  }
}

README

ZenMode MCP server

ZenMode is LinkedIn outreach software. Its remote MCP server lets an AI assistant work with your ZenMode account in plain language: read campaigns, contacts and conversations, add or remove people in a campaign, pause or exclude a contact, and change who a campaign finds.

It works with Claude, ChatGPT and other MCP clients.

  • Server address: https://www.zen-mode.io/api/mcp
  • Transport: Streamable HTTP
  • Sign-in: approve the connection in your client (OAuth), or use a ZenMode API key as a Bearer token
  • Plan: Practitioner and above. The MCP server and the REST API are not on Novice.
  • Contact: [email protected]
  • Official MCP Registry: io.zen-mode/zenmode

This repository holds documentation only. The server runs at the address above and its source is not published here.

What it can do

Twenty-two tools. Everything is scoped to the ZenMode account you sign in with.

Read

toolwhat it returns
get_account_summaryplan, whether the ZenMode desktop app has checked in recently, campaigns by status, and the last 30 days of results
list_campaignsyour campaigns with status, daily limit and results for a date window
get_campaignone campaign: type, status, daily limit, business hours, targeting, contacts per stage, results
search_contactscontacts across your campaigns by name, company, job title or LinkedIn URL
get_contactone contact: profile details, campaign, status, outreach state, do-not-contact status
get_conversationthe LinkedIn conversation history with one contact, oldest first
get_campaign_targetingwho a campaign is set to find
get_safety_statuswhat ZenMode's own limits say about the account right now
get_setup_statuswhere the account is in setup, and the next step
get_desktop_appthe desktop app download and install command
start_triala checkout link for the free 14-day trial (accounts with no plan only)

Change (each is marked as a change, so a client can ask you to confirm it)

toolwhat it does
add_leads_to_campaignadd up to 100 people to a campaign by LinkedIn profile URL; invalid URLs, your do-not-contact list, the campaign's exclusion list and duplicates are refused and reported per person
remove_leads_from_campaignremove up to 100 contacts from a campaign
set_contact_outreach_statepause a contact, put them on your do-not-contact list, or mark them not interested
update_campaign_targetingchange job titles, locations, industries and companies a campaign finds

Campaigns (paid plans)

toolwhat it does
validate_messagecheck a connection note or follow-up against ZenMode's message rules before it is saved; changes nothing
create_campaigncreate a connect campaign with a name, targeting and daily limit; always created paused
set_campaign_messageswrite a campaign's connection note and up to three follow-ups; the server checks each one again
launch_campaignstart a paused campaign in two calls: a preflight that changes nothing and returns a summary and a confirm token, then the same tool with that token after you say yes
resume_campaignthe same preflight for a paused campaign; it starts nothing
pause_campaignpause a running campaign
set_up_desktop_appwhat state the desktop app is in for your account and how to open, update or install it; changes nothing

What it cannot do

There is no tool that sends a LinkedIn message or a connection request. A campaign starts only through launch_campaign's two calls, after you confirm. Adding people to a campaign puts them in that campaign's worklist. ZenMode's desktop app then works through the list later, inside the account's daily and weekly limits and business hours, and only while the desktop app is running.

If the account is restricted, paused for the week, cooling down or switched off, a change that would widen who can be contacted is refused with the reason and when it lifts.

Set up

Claude (claude.ai)

  1. Open Customize → Connectors, click +, then Add custom connector. On a Team or Enterprise plan an owner adds it under Organization settings → Connectors → Add → Custom → Web.
  2. Name it ZenMode and paste https://www.zen-mode.io/api/mcp. Leave the advanced OAuth settings empty.
  3. Click Connect. Sign in to ZenMode if asked, choose Read only (the default) or Read and change, pick the API key to connect with, and click Allow.
  4. In a new chat, open the + menu, go to Connectors, and switch ZenMode on.

Claude Code

bash
claude mcp add --transport http zenmode https://www.zen-mode.io/api/mcp --header "Authorization: Bearer YOUR_ZENMODE_API_KEY"

Run claude mcp list to check it connected.

ChatGPT

Add ZenMode as a custom MCP server in ChatGPT, approve it on a ZenMode page, and keep the scopes on read only unless you want ChatGPT to make changes. Step by step, from a real run on a Plus account: https://www.zen-mode.io/integrations/chatgpt. Which ChatGPT plans can add a custom MCP server is up to OpenAI.

Cursor

Add ZenMode to Cursor (one-click install; it reads your key from the ZENMODE_API_KEY environment variable). Or add this to ~/.cursor/mcp.json:

json
{  "mcpServers": {    "zenmode": {      "url": "https://www.zen-mode.io/api/mcp",      "headers": {        "Authorization": "Bearer ${env:ZENMODE_API_KEY}"      }    }  }}

Set ZENMODE_API_KEY in your environment so the key is not stored in the file.

VS Code (GitHub Copilot)

Add this to your user mcp.json. VS Code asks for the key and keeps it out of the file:

json
{  "servers": {    "zenmode": {      "type": "http",      "url": "https://www.zen-mode.io/api/mcp",      "headers": {        "Authorization": "Bearer ${input:zenmode-api-key}"      }    }  },  "inputs": [    {      "type": "promptString",      "id": "zenmode-api-key",      "description": "ZenMode API key",      "password": true    }  ]}

Gemini CLI

Install the extension from this repository. It adds the server; Gemini CLI then asks you to sign in to ZenMode:

bash
gemini extensions install https://github.com/zenmode87/zenmode-mcp

Or add the server yourself with an API key:

bash
gemini mcp add --scope user --transport http -H "Authorization: Bearer YOUR_ZENMODE_API_KEY" zenmode https://www.zen-mode.io/api/mcpgemini mcp list

Create an API key in the ZenMode dashboard at https://www.zen-mode.io/dashboard/api. Revoking the key ends the connection.

Grok Build

This repository is also a Grok Build plugin: .grok-plugin/plugin.json and .mcp.json point Grok Build at the same server address. Sign in to ZenMode when it first connects.

Example prompts

  • "How are my LinkedIn campaigns doing over the last 30 days?" uses list_campaigns.
  • "Find everyone at Acme I've been talking to and show me the latest conversation." uses search_contacts, then get_conversation.
  • "Add these five LinkedIn profiles to my Q4 founders campaign and tell me if any were refused." uses add_leads_to_campaign.

Limits

Per ZenMode API key (a connection made through sign-in shares the budget of the key it uses):

  • 60 tool calls a minute
  • 10 changes a minute and 300 a day
  • 500 leads added per day, up to 100 per call

Links

Licence

The documentation in this repository is licensed under Creative Commons Attribution 4.0 International. That licence covers the text of these files only. It does not cover the ZenMode name or logo, and it does not grant any right to the ZenMode software or service.

Source: README.md at commit 032597a

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

1
  1. v1.0.0LatestOct 14, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Zen-Mode integrations