Read LinkedIn outreach campaigns, contacts and replies, and manage campaign leads and targeting.
One address for any MCP client. You sign in at www.zen-mode.io once, after adding it.
Not assessed yet.
Odel charges nothing per call. The publisher may charge for its own service.
| Access to | Read | Change |
|---|---|---|
| Zenmode |
From the sign-in at www.zen-mode.io, as the endpoint publishes it. You approve it there.
Odel could not list its tools without signing in.
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.
https://www.zen-mode.io/api/mcpio.zen-mode/zenmodeThis repository holds documentation only. The server runs at the address above and its source is not published here.
Twenty-two tools. Everything is scoped to the ZenMode account you sign in with.
Read
| tool | what it returns |
|---|---|
get_account_summary | plan, whether the ZenMode desktop app has checked in recently, campaigns by status, and the last 30 days of results |
list_campaigns | your campaigns with status, daily limit and results for a date window |
get_campaign | one campaign: type, status, daily limit, business hours, targeting, contacts per stage, results |
search_contacts | contacts across your campaigns by name, company, job title or LinkedIn URL |
get_contact | one contact: profile details, campaign, status, outreach state, do-not-contact status |
get_conversation | the LinkedIn conversation history with one contact, oldest first |
get_campaign_targeting | who a campaign is set to find |
get_safety_status | what ZenMode's own limits say about the account right now |
get_setup_status | where the account is in setup, and the next step |
get_desktop_app | the desktop app download and install command |
start_trial | a 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)
| tool | what it does |
|---|---|
add_leads_to_campaign | add 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_campaign | remove up to 100 contacts from a campaign |
set_contact_outreach_state | pause a contact, put them on your do-not-contact list, or mark them not interested |
update_campaign_targeting | change job titles, locations, industries and companies a campaign finds |
Campaigns (paid plans)
| tool | what it does |
|---|---|
validate_message | check a connection note or follow-up against ZenMode's message rules before it is saved; changes nothing |
create_campaign | create a connect campaign with a name, targeting and daily limit; always created paused |
set_campaign_messages | write a campaign's connection note and up to three follow-ups; the server checks each one again |
launch_campaign | start 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_campaign | the same preflight for a paused campaign; it starts nothing |
pause_campaign | pause a running campaign |
set_up_desktop_app | what state the desktop app is in for your account and how to open, update or install it; changes nothing |
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.
https://www.zen-mode.io/api/mcp. Leave the advanced OAuth settings empty.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.
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.
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:
{
"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.
Add this to your user mcp.json. VS Code asks for the key and keeps it out of the file:
{
"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
}
]
}
Install the extension from this repository. It adds the server; Gemini CLI then asks you to sign in to ZenMode:
gemini extensions install https://github.com/zenmode87/zenmode-mcp
Or add the server yourself with an API key:
gemini mcp add --scope user --transport http -H "Authorization: Bearer YOUR_ZENMODE_API_KEY" zenmode https://www.zen-mode.io/api/mcp
gemini mcp list
Create an API key in the ZenMode dashboard at https://www.zen-mode.io/dashboard/api. Revoking the key ends the connection.
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.
list_campaigns.search_contacts, then get_conversation.add_leads_to_campaign.Per ZenMode API key (a connection made through sign-in shares the budget of the key it uses):
llms.txt: https://www.zen-mode.io/llms.txtThe 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.