Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Evolution API MCP

by singlefloversion 1.0.0i★ –iComputer or cloud
Registry nameio.github.singleflo/evolution-api-mcp

Install

Overview

Description from the maker (original English)

Operate one Evolution API (WhatsApp) instance: chats, history, sending, groups, settings.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Computer or cloud
  • Transport: stdio, Streamable HTTP
  • Category: Chat & email
  • You need to fill in: EVOLUTION_API_URL, EVOLUTION_INSTANCE_TOKEN

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on the maker’s server: what you ask it goes through their server.
  • You fill in yourself: EVOLUTION_API_URL, EVOLUTION_INSTANCE_TOKEN, EVOLUTION_MCP_TOOLSETS, EVOLUTION_MCP_ALLOW, EVOLUTION_MCP_DENY, EVOLUTION_MCP_ALLOW_IRREVERSIBLE, EVOLUTION_MCP_DEFAULT_DELAY_MS, EVOLUTION_MCP_MAX_WRITES_PER_MINUTE, EVOLUTION_MCP_FILE_ROOTS, EVOLUTION_MCP_DOWNLOAD_DIR, EVOLUTION_MCP_TIMEZONE

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • Runs in the cloudNothing to install; it connects over the internet
  • PyPIPython’s uv installed (for the uvx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Works in Claude on the web, desktop and mobile:

  1. Open Settings → Connectors
  2. Press Add custom connector
  3. Paste the address below and press Add
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Add2https://…3
https://evolution-mcp.singleflo.com/mcp

Or run it on your computer

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "evolution-api": {
      "command": "uvx",
      "args": [
        "evolution-api-mcp"
      ],
      "env": {
        "EVOLUTION_API_URL": "your-value",
        "EVOLUTION_INSTANCE_TOKEN": "your-value",
        "EVOLUTION_MCP_TOOLSETS": "your-value",
        "EVOLUTION_MCP_ALLOW": "your-value",
        "EVOLUTION_MCP_DENY": "your-value",
        "EVOLUTION_MCP_ALLOW_IRREVERSIBLE": "your-value",
        "EVOLUTION_MCP_DEFAULT_DELAY_MS": "your-value",
        "EVOLUTION_MCP_MAX_WRITES_PER_MINUTE": "your-value",
        "EVOLUTION_MCP_FILE_ROOTS": "your-value",
        "EVOLUTION_MCP_DOWNLOAD_DIR": "your-value",
        "EVOLUTION_MCP_TIMEZONE": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add --transport http evolution-api https://evolution-mcp.singleflo.com/mcp

Or run it on your computer

claude mcp add evolution-api --env EVOLUTION_API_URL=your-value --env EVOLUTION_INSTANCE_TOKEN=your-value --env EVOLUTION_MCP_TOOLSETS=your-value --env EVOLUTION_MCP_ALLOW=your-value --env EVOLUTION_MCP_DENY=your-value --env EVOLUTION_MCP_ALLOW_IRREVERSIBLE=your-value --env EVOLUTION_MCP_DEFAULT_DELAY_MS=your-value --env EVOLUTION_MCP_MAX_WRITES_PER_MINUTE=your-value --env EVOLUTION_MCP_FILE_ROOTS=your-value --env EVOLUTION_MCP_DOWNLOAD_DIR=your-value --env EVOLUTION_MCP_TIMEZONE=your-value -- uvx evolution-api-mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "evolution-api": {
      "url": "https://evolution-mcp.singleflo.com/mcp"
    }
  }
}

Or run it on your computer

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "evolution-api": {
      "command": "uvx",
      "args": [
        "evolution-api-mcp"
      ],
      "env": {
        "EVOLUTION_API_URL": "your-value",
        "EVOLUTION_INSTANCE_TOKEN": "your-value",
        "EVOLUTION_MCP_TOOLSETS": "your-value",
        "EVOLUTION_MCP_ALLOW": "your-value",
        "EVOLUTION_MCP_DENY": "your-value",
        "EVOLUTION_MCP_ALLOW_IRREVERSIBLE": "your-value",
        "EVOLUTION_MCP_DEFAULT_DELAY_MS": "your-value",
        "EVOLUTION_MCP_MAX_WRITES_PER_MINUTE": "your-value",
        "EVOLUTION_MCP_FILE_ROOTS": "your-value",
        "EVOLUTION_MCP_DOWNLOAD_DIR": "your-value",
        "EVOLUTION_MCP_TIMEZONE": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "evolution-api": {
      "type": "http",
      "url": "https://evolution-mcp.singleflo.com/mcp"
    }
  }
}

Or run it on your computer

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "evolution-api": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "evolution-api-mcp"
      ],
      "env": {
        "EVOLUTION_API_URL": "your-value",
        "EVOLUTION_INSTANCE_TOKEN": "your-value",
        "EVOLUTION_MCP_TOOLSETS": "your-value",
        "EVOLUTION_MCP_ALLOW": "your-value",
        "EVOLUTION_MCP_DENY": "your-value",
        "EVOLUTION_MCP_ALLOW_IRREVERSIBLE": "your-value",
        "EVOLUTION_MCP_DEFAULT_DELAY_MS": "your-value",
        "EVOLUTION_MCP_MAX_WRITES_PER_MINUTE": "your-value",
        "EVOLUTION_MCP_FILE_ROOTS": "your-value",
        "EVOLUTION_MCP_DOWNLOAD_DIR": "your-value",
        "EVOLUTION_MCP_TIMEZONE": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

ChatGPT connects only to servers on the internet:

  1. Open ChatGPT on the web → Settings → Connectors (Apps)
  2. Press Create or Add (some plans need Developer mode under Advanced first)
  3. Paste the address below, give it a name and save
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Create2https://…3
https://evolution-mcp.singleflo.com/mcp

Menu names can differ slightly by plan and over time.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • EVOLUTION_API_URL required env
    URL of your Evolution API server (e.g. https://evolution.example.com). Evolution API 2.x is required.
  • EVOLUTION_INSTANCE_TOKEN secret required env
    The token of this one instance (Evolution Manager: open the instance and copy its token). The server's global AUTHENTICATION_API_KEY is refused. The instance name and integration are discovered from…
  • EVOLUTION_MCP_TOOLSETS env
    Toolsets to enable: a comma list of instance, messaging, chats, contacts, groups, labels, profile, status, catalog, templates, settings, events, integrations, or the presets `core` and `all`. Default…
  • EVOLUTION_MCP_ALLOW env
    Tools that change data the agent may call. `*` (default) allows every tool not denied; `none` makes the server read-only; or a comma list of tool names. Reads are never gated by this list.
  • EVOLUTION_MCP_DENY env
    Tool names the agent may never call. A value set here REPLACES the default list, which is post_status, remove_group_participants, set_webhook, set_event_channel, set_proxy, set_chatwoot_config.
  • EVOLUTION_MCP_ALLOW_IRREVERSIBLE env
    Tools that cannot be undone (logout_instance, delete_message_for_everyone, leave_group, delete_template, delete_chatbot, delete_openai_credential) run only when this is `yes` (also `true` or `1`). De…
  • EVOLUTION_MCP_DEFAULT_DELAY_MS env
    Milliseconds of 'typing...' Evolution shows before each message is sent when a call gives no delay. Integer from 0 to 20000. Default: 1200.
  • EVOLUTION_MCP_MAX_WRITES_PER_MINUTE env
    Maximum number of tools that change data per minute on this server; 0 turns the limit off. Integer, 0 or more. Default: 30.
  • EVOLUTION_MCP_FILE_ROOTS env
    Folders send_local_files may read: absolute paths of existing directories separated by the operating system's path separator (':' on macOS and Linux, ';' on Windows). Default: Desktop, Documents, Dow…
  • EVOLUTION_MCP_DOWNLOAD_DIR env
    Absolute folder where download_message_media saves received files and export_chat its exports/ folders. Default: ~/Downloads/evolution-api-mcp.
  • EVOLUTION_MCP_TIMEZONE env
    IANA time zone for the times tools show and for times given without a zone, e.g. Europe/Rome. Default: the computer's zone (TZ, then /etc/localtime), else UTC.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

We have not read this server’s tool list yet; we check endpoints in rotation.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account singleflo, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • … Not checked yet

    Endpoint responds

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    Sign-in with OAuth

    Not checked yet; we check endpoints in rotation

  • … Not checked yet

    No hidden instructions in tool descriptions

    Not checked yet; we read the tool list when we check the endpoint

Compared with others in Chat & emaili

  • More stars than 0% of the other 1761 servers in this category
  • Published to the registry more recently than 47% of the other 1761 servers in this category
  • Basic checks equal to or better than 100% of the other 1761 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Evolution API MCP safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: EVOLUTION_API_URL, EVOLUTION_INSTANCE_TOKEN

Does it run on my computer or in the cloud?

Either way works: install it on your computer or connect to the cloud version.

Is it still maintained?

The GitHub repo last changed –, and the latest version (1.0.0) reached the registry 29 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: Vexa, emailmd, MCP WhatsApp Cloud

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Vexa

by Vexa-ai

Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.

Runs in the cloud★ 2,949Apache-2.0Updated 2 months ago
Install

emailmd

by anypost

Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.

Computer or cloud★ 1,385MITUpdated 30 days ago
Install

MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API

Runs on your computer★ 277MITUpdated 5 months ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

Evolution API Assistant

An MCP server that operates one Evolution API v2 instance, which is one WhatsApp number: it reads chats and message history, sends messages and media, manages groups, contacts, labels, templates and profile, and configures the instance, its webhooks and its chatbots. 100 tools, one per operation, grouped in 13 toolsets you switch on as needed. It talks only to the Evolution server you point it at, with that instance's own token.

Evolution API Assistant is an independent project by Persevida SL, not affiliated with or endorsed by Meta, WhatsApp or the Evolution API project.

Two ways to use it

  • Local (stdio) — uvx evolution-api-mcp runs on your machine and talks to any Evolution API 2.x server you can reach. It supports all three Evolution integrations (WHATSAPP-BAILEYS, WHATSAPP-BUSINESS, EVOLUTION) and can send files from your disk.
  • Hosted — https://evolution-mcp.singleflo.com/mcp is served over the internet for Claude.ai, ChatGPT and Codex: nothing to install, you sign in once with your Evolution URL and instance token. The public hosted server accepts instances whose integration is WHATSAPP-BUSINESS (the official WhatsApp Business Platform) or WHATSAPP-BAILEYS (a WhatsApp Web session), and never offers the tools that take secrets or cannot be undone. See "Hosted server" below.

Quickstart

Install with your AI agent. If you already have an AI coding assistant — Claude Code, Claude Desktop, Cursor, opencode, any of the hosts below — paste this link into your agent and ask it to set up Evolution API Assistant: https://raw.githubusercontent.com/singleflo/evolution-api-mcp/main/docs/INSTALL-WITH-YOUR-AGENT.md That page is written for the agent rather than for you: it asks you for the Evolution URL and the instance token, installs uv, writes the configuration file its own host reads, and verifies the connection. The manual route is below.

1. Install

Run the server directly:

uvx evolution-api-mcp

Or install it into your environment:

uv pip install evolution-api-mcp

Installing from source for development remains possible:

uv pip install git+https://github.com/singleflo/evolution-api-mcp

The server needs Python 3.10 or later. uvx fetches a suitable interpreter by itself.

2. Configure environment variables

Two variables are all a working setup needs:

  • EVOLUTION_API_URL: the base URL of your Evolution server, for example https://evolution.example.com. A trailing slash is ignored.
  • EVOLUTION_INSTANCE_TOKEN: the token of one instance. In Evolution Manager open the instance and copy its token, or use the token returned when the instance was created. The server's global AUTHENTICATION_API_KEY is refused, in both the local and the hosted server, because it controls every instance on that Evolution server.

The instance name and its integration are discovered from the token; you never type them. A missing variable is reported when a tool is called, not at startup, so the server still starts and lists its tools while you fix the configuration. Evolution resolves instance tokens only while it runs with DATABASE_SAVE_DATA_INSTANCE=true (its default); with false it answers 401 and the server says so.

Everything else is optional. A blank value counts as unset for every variable. A value the server cannot accept stops it at startup with exit code 2 and a message on stderr naming the variable and what it accepts.

VariableDefaultMeaning
EVOLUTION_MCP_TOOLSETScoreComma list of toolsets or presets (core, all) to enable. The --toolsets option wins over it.
EVOLUTION_MCP_ALLOW** allows every tool the deny list does not refuse; none makes the server read-only; otherwise a comma list of tools that change data.
EVOLUTION_MCP_DENYthe default deny listComma list of tools that are refused. Unset, it holds the 6 tools listed under "What the agent may do"; a value you set replaces that list entirely.
EVOLUTION_MCP_ALLOW_IRREVERSIBLEoffyes, true or 1 (any case) lets the tools that cannot be undone run. no, false and 0 keep them off.
EVOLUTION_MCP_DEFAULT_DELAY_MS1200Milliseconds of "typing…" the recipient sees before a message is sent, 0 to 20000. A tool's delay_ms overrides it.
EVOLUTION_MCP_MAX_WRITES_PER_MINUTE30Changes allowed per minute on this server; 0 turns the limit off.
EVOLUTION_MCP_FILE_ROOTSyour Desktop, Documents, Downloads, Pictures, Movies and Music folders that exist, plus the download folderFolders send_local_files may read, separated like PATH (: on macOS and Linux, ; on Windows). Each must be an absolute path to an existing directory.
EVOLUTION_MCP_DOWNLOAD_DIR~/Downloads/evolution-api-mcpWhere download_message_media saves files and export_chat its exports/ folders. Must be an absolute path.
EVOLUTION_MCP_TIMEZONEthe computer's zone (TZ, then /etc/localtime), else UTCIANA time zone (for example Europe/Rome) in which tools show times and in which a time given without a zone is read. get_instance_status reports it.
EVOLUTION_MCP_DATA_DIRthe platform's data directoryWhere the hosted server keeps its data. The local server does not write there.

Command-line options of evolution-api-mcp:

OptionEffect
--toolsets LISTSame as EVOLUTION_MCP_TOOLSETS; wins over it.
--read-onlyRefuse every tool that changes data (same as EVOLUTION_MCP_ALLOW=none).
--list-toolsPrint every tool as JSON (name, title, toolset, kind, integrations, local_only) and exit. Needs no credentials.
--list-toolsetsPrint the toolsets, their tool counts, the presets and the default as JSON and exit. Needs no credentials.
--versionPrint the version and exit.

Nothing but the JSON-RPC stream reaches stdout while the server runs; diagnostics go to stderr.

Toolsets

Every tool belongs to one toolset. A connection enables some toolsets and sees only their tools. The default is core, which is messaging, chats and contacts; all enables all 13. get_instance_status belongs to instance but is always available, whatever the toolsets.

ToolsetToolsCovers
instance5Connection status, QR pairing, restart, logout and online presence of the instance.
messaging16Send text, media, voice notes, locations, contact cards, polls, list and button messages; react, edit and delete sent messages.
chats13List chats, show the newest messages across chats, read and search message history, export chats with their attachments, delivery status, read/unread and archive state, received media.
contacts6Find chats by name or number, check numbers on WhatsApp, profiles and profile pictures, block and unblock.
groups17Group details, participants, invite links, creation, settings and membership.
labels3WhatsApp Business app labels on chats.
profile7The instance's own profile name, about text, picture and privacy settings.
status1Post status updates.
catalog2WhatsApp Business app product catalog and collections.
templates5WhatsApp Business Platform message templates: list, create, edit, delete and send.
settings4Instance behaviour settings and proxy.
events4Webhook and event-stream (WebSocket, RabbitMQ, NATS, SQS, Kafka, Pusher) configuration.
integrations17Evolution chatbots (Evolution Bot, Typebot, OpenAI, Dify, Flowise, n8n, EvoAI), their sessions, and Chatwoot.

Local server: EVOLUTION_MCP_TOOLSETS=messaging,chats,groups or --toolsets messaging,chats,groups; presets and toolset names mix (core,groups). An unknown name stops the server at startup. Hosted server: the toolsets are ticked on the consent page and can be changed by signing in again.

Enabled toolsets are not the only thing that decides what a connection sees. tools/list shows exactly the tools a call would not be refused for: toolset enabled, supported by the instance's integration, allowed by the policy, not denied, and, for the irreversible ones, granted. How many that is depends on the connection:

ConnectionTools visible
Local, WhatsApp Web (Baileys) instance, default toolsets and settings35
Local, Baileys instance, all toolsets84
Local, Baileys instance, all toolsets, EVOLUTION_MCP_ALLOW_IRREVERSIBLE=yes89
Local, Baileys instance, all toolsets, read-only33
Hosted, WhatsApp Business Platform instance, standard policy, all toolsets41
Hosted, WhatsApp Business Platform instance, read policy, all toolsets22

The complete list, one table per toolset with each tool's kind and integrations, is docs/TOOLS.md, generated from the code.

What each integration supports

An Evolution instance uses one integration, and Evolution itself does not offer some operations on some of them. get_instance_status reports which one an instance runs, and a tool called on an integration that lacks it is refused with a message naming the integration it needs. The table counts the tools each toolset offers per integration.

ToolsetToolsBaileysBusinessEvolution
instance5511
messaging1616105
chats1313107
contacts6611
groups171700
labels3300
profile7700
status1100
catalog2200
templates5050
settings4444
events4444
integrations17171717
All100955239

Baileys is WHATSAPP-BAILEYS, a WhatsApp Web session linked to a phone. Business is WHATSAPP-BUSINESS, the WhatsApp Business Platform (Cloud API): it addresses people by phone number only, has no groups, pairing or read receipts, and delivers free-form messages only within 24 hours of the person's last message, after which only approved templates (send_template_message) reach them. Evolution is EVOLUTION, an Evolution channel. The per-tool detail is in docs/TOOLS.md and in the evolution://guide resource.

Tools and resources

Tools follow a few rules that make them predictable for a model and reviewable for a person:

  • One tool per operation. Reads and writes are separate tools, and there is no generic "call any endpoint" tool.
  • Every tool declares its kind: read, write (private or ephemeral changes such as archiving a chat, labels, presence), destructive (sends something to other people, or replaces or removes something) or irreversible (cannot be undone from this server: logout_instance, delete_message_for_everyone, leave_group, delete_template, delete_chatbot, delete_openai_credential). The MCP hints (readOnlyHint, destructiveHint) are derived from the kind, so a host's approval dialog reflects the real risk. Every tool has openWorldHint set, because each one acts on an external server and, through it, on conversations with other people.
  • Tools return compact JSON, never raw Evolution rows. Tokens, passwords and secrets are never returned; a configuration read shows only whether a secret is set. Timestamps are ISO-8601 in the server's display time zone (EVOLUTION_MCP_TIMEZONE; UTC on the hosted server). A result longer than 30,000 characters is cut with a notice that names the remedy.
  • A failed call ends in one of three ways: done; refused or failed with "Nothing was changed." or "Nothing was sent."; or UNCERTAIN, when Evolution did not confirm a change that may already ha

Only the beginning is shown; read the rest in the repo

Ask PopNx