Skip the install. Get this working in under 2 minutes.
Start a free trial on cloud.anythingmcp.com, add the CleverReach in one click, then point your AI client (Claude, ChatGPT, Copilot or Cursor) at the generated MCP endpoint. No Docker, no git clone, zero engineering experience required.
Summary
CleverReach email marketing from Germany: groups and receivers with attributes, tags and events, bulk upserts, activation and double opt-in mails, blacklist and bounces, draft mailings with previews and templates, and reports of sent mailings with opens, clicks and bounces. REST API v3 with OAuth; the final send to a list stays in CleverReach.
Try asking
Example prompts for CleverReach
Click any prompt to copy it. Paste into Claude, ChatGPT, Cursor, Gemini, Copilot or OpenClaw to run it against this connector.
Claude is AI and can make mistakes. Please double-check responses.
π‘ No install? Use cloud.anythingmcp.com directly. Sign in, click Connectors β CleverReach, paste your credentials, mint an MCP API key and you're done. No Docker, no
git clone, no local server.
CleverReach + Microsoft Copilot
CleverReach email marketing from Germany: groups and receivers with attributes, tags and events, bulk upserts, activation and double opt-in mails, blacklist and bounces, draft mailings with previews and templates, and reports of sent mailings with opens, clicks and bounces. REST API v3 with OAuth; the final send to a list stays in CleverReach.
Prerequisites
See the full setup instructions baked into the connector (visible in the in-app store when you select the connector). The required environment variables for this connector are:
CLEVERREACH_CLIENT_ID, CLEVERREACH_CLIENT_SECRET
Step 1 β Get credentials
Setting up takes about 10 minutes. You need admin rights in your CleverReach account to create an OAuth app.
- In CleverReach open Account, Extras, REST API and create an OAuth app.
- Select the scopes Recipients (
oa_receivers), Reports (oa_reports), Forms (oa_forms) and Emails (oa_mailings). - Register the redirect URL
<your AnythingMCP URL>/api/mcp-oauth/callback. On AnythingMCP Cloud that ishttps://cloud.anythingmcp.com/api/mcp-oauth/callback. - Copy the app's Client ID into
CLEVERREACH_CLIENT_IDand its Client Secret intoCLEVERREACH_CLIENT_SECRET. LeaveCLEVERREACH_REFRESH_TOKENempty and install the connector. - On the connector page click Authorize with Provider and sign in to CleverReach. The refresh token is filled in and stored for you, and access tokens are renewed automatically.
- Run
cleverreach_whoami: it shows the account the token belongs to and confirms the connection.
What it reads: groups (receiver lists) with their counts of total, active, inactive and bounced receivers, and their filters (segments); the receivers of a group with email, active flag, timestamps, source and attributes; one receiver by id or email with global attributes, tags, points and bounce state, the groups it is in and its events from shops or apps; receivers across groups found with a temporary filter (nothing is saved); tags and attributes (data fields); the blacklist and bounces by category (hardbounce, softbounce, blocked, delayed, spam); signup forms; mailings by state (finished, draft, waiting, running, automation) with content and links; your own templates and mailing channels; reports of sent mailings with opens, clicks, bounces, unsubscribes, detailed statistics by mode (clients, countries, first hours, links, conversion and more) and the receivers who opened, clicked, bounced or unsubscribed.
What it writes: groups with cleverreach_create_group and cleverreach_update_group; receivers with cleverreach_create_receiver, cleverreach_upsert_receivers (many at once, matched by email, in chunks of a few hundred), cleverreach_update_receiver, cleverreach_activate_receiver and cleverreach_deactivate_receiver (stays in the group but gets no mailings); tags with cleverreach_add_receiver_tags and cleverreach_remove_receiver_tags; data fields with cleverreach_create_attribute (global, or per group with group_id); the blacklist with cleverreach_add_to_blacklist and cleverreach_remove_from_blacklist; draft mailings with cleverreach_create_mailing and cleverreach_update_mailing, and test sends with cleverreach_send_mailing_preview, which only accepts email addresses of users of your CleverReach account.
Double opt-in: the AI creates the receiver with registered set to now and activated "0", then calls cleverreach_send_form_mail with type activate and a form id from cleverreach_list_forms, passing doidata as proof of consent. CleverReach activates the receiver when the link is clicked. Without registered and activated a new receiver is active at once, which needs consent you can prove.
Consent: receivers are personal data under the GDPR. The AI only adds or activates addresses with documented consent, shows you what will change and waits for your yes before any write.
Switched off at install: cleverreach_delete_receiver, which removes a receiver from a group for good, for example for a data erasure request; its history in that group is lost. A workspace admin turns it on deliberately. Until then, deactivating keeps the receiver out of mailings.
Data formats: ids are numbers sent as strings. Receiver tools accept the receiver id or the email address. Times (registered, activated, deactivated, stamp, report dates) are Unix timestamps in seconds; 0 means not set. A receiver is active in a group when activated is set and deactivated is 0. global_attributes apply in every group, attributes in one group. Tags use letters, numbers, _ and -, with an optional origin prefix before a period, such as shop.vip.
Paging: pages start at 0. Receivers take pagesize (up to 5000) and page; bounces come up to 500 per page; mailings take limit and page (paging only when state is not all). A page shorter than the page size is the last one.
Common errors: the answer carries an error code and message. 401 means the token expired or was revoked: click Authorize with Provider again and check that Client ID and secret belong to the same app. 403 means the OAuth app lacks the scope for that area: add Recipients, Reports, Forms or Emails to the app and authorize again. 404 means an unknown id, or an address that is not in that group or not on the blacklist. 400 means invalid data, such as a wrong attribute name or timestamp.
The connector does not send a mailing to its list: CleverReach grants that only with an extra scope on request, so you start the final send in CleverReach after checking the preview. It does not delete groups or mailings and does not create forms or templates.
Step 2 β Install the adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
Step 3 β Add the connector in Microsoft Copilot
Your server URL: in AnythingMCP, open MCP Servers β the server this connector is on, and copy its URL (
https://cloud.anythingmcp.com/mcp/β¦). Use it wherever this guide showsYOUR_SERVER_ID.
Microsoft Copilot uses MCP servers through agents built in Copilot Studio: you add AnythingMCP to an agent as a tool, then publish the agent to Microsoft 365 Copilot and Teams. Copilot Studio connects from Microsoft's cloud over Streamable HTTP, which AnythingMCP supports.
- In Copilot Studio, open your agent (or create one), go to Tools and choose Add a tool β New tool β Model Context Protocol.
- Enter a Server name (for example
AnythingMCP), a Server description that says what the connector does, and the Server URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID. Copilot Studio uses the description to decide when to call the server. - Under authentication, choose API key, set Type to Header and the header name to
X-API-Key, then select Create. - In Add tool, choose Create a new connection, paste an MCP API key from AnythingMCP (MCP Servers β your server β API keys) and select Add to agent.
- Try it in the agent's Test pane: ask for something that needs the
CleverReachtools. - Select Publish, then Channels β Microsoft 365 and Microsoft Teams, keep Make agent available in Microsoft Copilot selected and choose Add channel. See agent in Teams installs it for you; in Microsoft 365 Copilot, type @ and pick the agent.
Prefer per-user sign-in? Choose OAuth 2.0 β Dynamic discovery instead of an API key: each user then signs in to AnythingMCP the first time the agent calls it.
Self-hosting? Use your instance's public HTTPS address instead of https://cloud.anythingmcp.com. Copilot Studio connects from Microsoft's cloud, so localhost does not work.
Available tools
| Tool | What it does |
|---|---|
cleverreach_whoami | Information about the CleverReach account the token belongs to: client id, company, login and contact data |
cleverreach_list_groups | List the groups (receiver lists) of the account with id, name, description (receiver_info), locked and backup flags and last changes |
cleverreach_get_group | Get one group (receiver list) by id: name, receiver_info, locked, backup and timestamps |
cleverreach_get_group_stats | Counts of a group: total, active, inactive and bounced receivers, average points, quality and order figures |
cleverreach_create_group | Create a group (receiver list) with a name and optional description |
cleverreach_update_group | Rename a group or change its description, locked or backup flag |
cleverreach_list_group_filters | List the filters (segments) of a group with id, name, operator and rules |
cleverreach_list_group_receivers | List the receivers (subscribers) of a group with email, active flag, registered, activated and deactivated timestamps, source and attributes |
cleverreach_get_receiver | Get one receiver by id or email: global attributes, tags, points, bounce state |
cleverreach_find_receivers | Find receivers across groups with a temporary filter: rules on email, source, timestamps, points or attributes, combined with AND or OR |
cleverreach_list_receiver_groups | List the groups a receiver (id or email) is in, optionally only those where it is active or inactive |
cleverreach_list_receiver_events | List the events of a receiver (id or email): custom events added by shops or apps, with type, value and timestamp |
cleverreach_create_receiver | Add one receiver (subscriber) to a group with email, timestamps, source, attributes and tags |
cleverreach_update_receiver | Update a receiver in a group (by id or email): attributes, tags, source or timestamps |
cleverreach_upsert_receivers | Create or update many receivers of a group in one call, matched by email (send large lists in chunks of a few hundred) |
cleverreach_activate_receiver | Activate a receiver in a group (by id or email) so mailings reach it |
cleverreach_deactivate_receiver | Deactivate a receiver in a group (by id or email), e.g. after an unsubscribe request |
cleverreach_delete_receiver | Delete a receiver from a group for good, e.g. for a data erasure request; its history in that group is lost |
cleverreach_add_receiver_tags | Add tags to a receiver (id or email) |
cleverreach_remove_receiver_tags | Remove tags from a receiver (id or email): one tag, several comma-separated, or all tags of an origin with origin.* |
cleverreach_list_tags | List the tags used in the account with their origin and how many receivers carry them |
cleverreach_list_attributes | List receiver attributes (data fields): global ones, or with group_id the group-specific ones |
cleverreach_create_attribute | Create a receiver attribute (data field), global or for one group: name, type (text, number, gender, date), description, preview and⦠|
cleverreach_list_blacklist | List the account blacklist: addresses and patterns that never receive mailings, with comment and date |
cleverreach_get_blacklist_entry | Check whether an email address is on the blacklist and read its comment and date |
cleverreach_add_to_blacklist | Put an email address on the account blacklist so no mailing reaches it any more, with an optional comment (e.g. complaint by phone) |
cleverreach_remove_from_blacklist | Remove an email address from the blacklist so it can receive mailings again |
cleverreach_list_bounces | List bounces of the account: email, category (hardbounce, softbounce, blocked, delayed, spam), occurrences, bounce message, last update and⦠|
cleverreach_list_bounced_receivers | List receivers that have a bounce date, page by page, to clean up lists |
cleverreach_list_forms | List the signup forms of the account with id, name and group |
cleverreach_send_form_mail | Send the double opt-in (activate) or opt-out confirmation (deactivate) email of a form to a receiver already in the form's group |
cleverreach_list_mailings | List mailings by state (finished, draft, waiting, running, automation) with id, name, subject, sender and dates. start and end filter by⦠|
cleverreach_get_mailing | Get one mailing by id: name, subject, sender, HTML and text content, receivers (groups or filter), settings and state |
cleverreach_create_mailing | Create a mailing as a draft: name, subject, sender, HTML and text content, target groups or filter and tracking settings |
cleverreach_update_mailing | Update a draft mailing: name, subject, sender, content, receivers, settings or tags |
cleverreach_send_mailing_preview | Send a preview of a mailing to test addresses |
cleverreach_get_mailing_links | List the links in a mailing with their ids and URLs; link ids filter cleverreach_list_report_receivers by clicks |
cleverreach_list_templates | List the user's own mailing templates with id and name, to start a new mailing from a design |
cleverreach_list_mailing_channels | List mailing categories (channels) with id and name, used to group mailings and reports |
cleverreach_list_reports | List reports of sent mailings with sent count, opens, clicks, bounces, unsubscribes and send date |
cleverreach_get_report | Get the report of one sent mailing (same id as the mailing): recipients, opens, clicks, bounces, unsubscribes and rates |
cleverreach_get_report_stats | Detailed statistics of a report by mode: full, clients, mediaclients, countries, quality (bounces), firsthours, traffic, daily (with start⦠|
cleverreach_list_report_receivers | List the receivers of a report by state: sent, opened, clicked (optionally one link), notopened, notclicked, bounced or unsubscribed |
Example prompts
- "How many active, inactive and bounced receivers does the group Newsletter DE have?"
- "Add [email protected] to the group Webinar leads with first name Max and send him the double opt-in mail of our signup form."
- "Which receivers clicked the pricing link in last week's newsletter? List their email addresses."
- "Create a draft mailing for the group Customers with the subject "Our autumn update" and send a preview to my own address."
- "Compare the open and click rates of the last three newsletters sent."
FAQ
Which Copilot is this for? Microsoft 365 Copilot at work, through agents built in Copilot Studio. The Microsoft Copilot app for personal accounts has no option to add your own MCP server.
What do I need? A work account with access to Copilot Studio (a license or a trial) to build the agent. People who use it in Microsoft 365 Copilot or Teams need access to the agent: share it with them, or ask an admin to publish it to the organization. If your organization applies data policies to Power Platform connectors, they cover MCP servers too.
The agent doesn't call the tools. Check that the header name is exactly X-API-Key and that the key belongs to the same MCP server as the URL, and make the server description specific: Copilot Studio uses it to decide when to call the server. Publish the agent again after each change; in an open chat, type "start over" to get the new version.
Next steps
- Connector landing page
- Connect to Claude
- Connect to ChatGPT
- Connect to Cursor
- Connect to Gemini
- Connect to Meta Muse
Was this guide helpful?