跳过安装。2 分钟内即可运行。
在 cloud.anythingmcp.com 开始免费试用,一键添加 Constant Contact,然后将你的 AI 客户端(Claude、ChatGPT、Copilot 或 Cursor)指向生成的 MCP 端点。无需 Docker,无需 git clone,无需任何工程经验。
AnythingMCP 已收录在 Claude 的连接器目录中:一键添加到 Claude (在新标签页中打开),然后登录并选择 Claude 可以使用哪些 MCP 服务器。
摘要
在任意 AI 智能体中使用 Constant Contact 账户:带邮件许可状态的联系人、列表、标签、自定义字段和细分,批量修改列表和标签,用你自己的 HTML 创建邮件营销活动并预览和发送测试,查看活动、链接和单个联系人的报告。通过 OAuth 登录使用 V3 API;排程发送和删除操作在安装时关闭。
试试这样问
Constant Contact 的示例提示
点击任意提示即可复制,然后粘贴到 Claude、ChatGPT、Cursor、Gemini、Copilot 或 OpenClaw 中,在该连接器上运行。
Claude 是 AI,可能会出错。请核对回答。
💡 无需安装? 直接使用 cloud.anythingmcp.com。 登录、点击 Connectors → Constant Contact、粘贴凭证、生成 MCP API key,即可完成。无 Docker、无
git clone、无本地服务器。
Constant Contact + Claude
在任意 AI 智能体中使用 Constant Contact 账户:带邮件许可状态的联系人、列表、标签、自定义字段和细分,批量修改列表和标签,用你自己的 HTML 创建邮件营销活动并预览和发送测试,查看活动、链接和单个联系人的报告。通过 OAuth 登录使用 V3 API;排程发送和删除操作在安装时关闭。
前提条件
完整的设置说明已内置在连接器中 (在 store 中选择连接器时可见)。所需环境变量:
CONSTANT_CONTACT_CLIENT_ID、CONSTANT_CONTACT_CLIENT_SECRET(由 Authorize with Provider 自动填写:CONSTANT_CONTACT_REFRESH_TOKEN)
步骤 1 — 获取凭证
设置大约需要 10 分钟。你需要在 Constant Contact 开发者门户注册自己的应用,并用要连接的账户登录。
- 打开 V3 开发者门户 https://app.constantcontact.com/pages/dma/portal,用该账户的 Constant Contact 登录信息登录。新应用是私有的:在 Constant Contact 批准之前,只有创建应用的用户才能授权它。
- 点击 New Application 并命名(名称会显示在授权同意页面上)。选择 Authorization Code Flow and Implicit Flow,以及一种刷新令牌类型:Rotating Refresh Tokens(推荐)或 Long Lived Refresh Tokens。然后创建应用。
- 通过 Edit 打开应用,添加 redirect URI
<your AnythingMCP URL>/api/mcp-oauth/callback,在 AnythingMCP Cloud 上填写https://cloud.anythingmcp.com/api/mcp-oauth/callback,逐字符一致。 - 点击 Generate Client Secret。密钥只显示一次。保存应用。
- 把应用的 API Key(即 OAuth 客户端 ID)粘贴到
CONSTANT_CONTACT_CLIENT_ID,把密钥粘贴到CONSTANT_CONTACT_CLIENT_SECRET。CONSTANT_CONTACT_REFRESH_TOKEN留空,然后安装。 - 在连接器页面点击 Authorize with Provider 并登录 Constant Contact。连接器请求的 scope 为
account_read contact_data campaign_data offline_access(offline_access用于获取刷新令牌)。 - 运行
constant_contact_get_account_summary:它会显示组织信息并确认登录成功。
访问令牌有效期 24 小时,会通过刷新令牌自动续期。使用轮换刷新令牌时,每次续期都会返回新的刷新令牌,旧的随即失效,所以不要在其他地方使用已保存的令牌;使用长期刷新令牌时,同一个令牌一直有效。两种令牌在 180 天未使用后都会过期,届时请重新授权。AI 能做什么还取决于登录的 Constant Contact 用户的权限(constant_contact_get_user_privileges)。
可读取的内容:账户概要、账户的发件地址及其确认状态、已登录用户的权限。按邮箱、状态、列表、标签、细分或创建、更新、退订日期筛选的联系人,包括邮件许可、订阅和退订详情,以及按需返回的列表、标签、自定义字段、电话、地址和备注;各许可状态下的联系人数量。带成员数的列表、带联系人数的标签、自定义字段,以及带条件的细分。后台任务及其进度。邮件营销活动及其活动项,一封邮件的主题、发件人、受众和 HTML,HTML 预览、排程和发送历史。报告:近期活动的结果(发送、打开、点击、转发、退订、退信、垃圾邮件投诉),按活动和按活动项的统计,每个链接的点击,每个数字背后的联系人,以及单个联系人的邮件历史和打开率、点击率。
可写入的操作:添加或更新联系人(constant_contact_create_or_update_contact 按邮箱匹配,只修改传入的字段,是安全的默认选择;constant_contact_update_contact 会替换整个联系人,所以 AI 会先读取),创建和重命名列表、标签和自定义字段,批量把联系人加入或移出列表和标签,用你的 HTML 创建邮件营销活动草稿,设置受众,重命名,发送测试邮件,以及取消已排程的发送。批量修改在后台运行并返回 activity_id,AI 会用 constant_contact_get_activity 跟踪,直到状态为 completed。
制作邮件:constant_contact_create_email_campaign 用你自己的 HTML 创建草稿(自定义代码邮件,format_type 5)。HTML 必须包含 [[trackingImage]] 才能统计打开,发件人和回复地址必须是 constant_contact_list_account_emails 中已确认的地址。之后用 constant_contact_update_email_campaign_activity 设置 contact_list_ids 或 segment_ids;它会替换整个活动项,所以 AI 会先读取并重新发送所有字段。用 constant_contact_get_email_preview 和 constant_contact_send_test_email 检查效果(每次测试最多 5 个地址,每个账户每天最多 50 个测试收件人)。
安装时关闭:constant_contact_schedule_email_campaign_activity(会发送给列表中的每个联系人,开始发送后无法撤回)、constant_contact_delete_contact 和 constant_contact_delete_contact_list。团队需要时由工作区管理员开启。开启排程后,AI 也会先向你展示主题、发件人、受众和时间,得到你的确认后才排程。
许可:只添加同意接收该企业邮件的联系人,绝不要为未订阅的人把 permission_to_send 设为 explicit。已退订的联系人无法在没有本人操作的情况下通过 API 重新订阅。一个联系人最多可在 50 个列表中。
数据格式:联系人、列表、标签、自定义字段、营销活动和活动项的 ID 是 UUID;细分 ID 是整数。一个营销活动有多个活动项:报告、预览、测试和排程使用 primary_email 活动项的 campaign_activity_id,而不是 campaign_id。时间为 UTC 的 ISO 8601 格式(2026-10-30T14:05:00.000Z)。营销活动的 current_status 为 Draft、Scheduled、Executing、Done、Error 或 Removed;permission_to_send 为 explicit、implicit、not_set、pending_confirmation、temp_hold 或 unsubscribed。除非报告另有说明,报告中的计数为唯一联系人数,比率为百分比。
分页:只要还有更多页,列表就会带有 _links.next.href。联系人、列表、标签、自定义字段、后台任务和营销活动把该链接中的 cursor= 值作为 cursor 传入;报告和细分把 next= 值作为 next 传入。翻页时 AI 保持其他筛选条件不变。
限制:每个应用每天 10,000 次请求(UTC 00:00 重置),每秒 4 次;超过任一限制时 API 返回 429(quota_exceeded 或 throttled)。
常见错误:401 表示令牌已过期或被撤销:再次点击 Authorize with Provider,并确认 API Key 和密钥属于同一个应用。登录时出现重定向错误,说明 redirect URI 不完全一致。403 表示缺少 scope 或用户权限(constant_contact_get_user_privileges 会显示缺少哪个)。404 表示未知 ID。409 表示邮箱、列表、标签或营销活动名称重复。400 会在 error_key 和 error_message 中说明无效输入。带细分调用 constant_contact_list_contacts 返回 202,表示结果仍在生成中:请再查询一次。
该连接器不涵盖活动报名(Events)、短信营销、社交媒体帖子或合作伙伴端点,也不使用拖放编辑器制作邮件。
步骤 2 — 安装 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
步骤 3 — 在 Claude 中添加连接器
你的服务器 URL: 在 AnythingMCP 中打开 MCP Servers → 此连接器所在的服务器,复制它的 URL(
https://cloud.anythingmcp.com/mcp/…)。本指南中出现YOUR_SERVER_ID的地方都用它替换。
推荐路径:在 claude.ai web 上工作,无需触碰任何配置文件。
- 在 Claude 中打开 Customize → Connectors。
- 点击 +,然后点击 Add custom connector。
- 输入名称(例如
Constant Contact)和远程 MCP 服务器 URLhttps://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID,然后点击 Add。 - 点击 Connect,登录 AnythingMCP(OAuth)并允许访问。
下面所有工具都会出现在你的聊天中,开始输入提示。
可用工具
| Tool | What it does |
|---|---|
constant_contact_get_account_summary | Account details of the connected Constant Contact account: organization name, contact email and phone, website, time zone, country, state… |
constant_contact_list_account_emails | Email addresses of the account with their confirm status (CONFIRMED or UNCONFIRMED) and roles |
constant_contact_get_user_privileges | Privileges of the Constant Contact user who authorized the connector (for example contacts:write, campaign:send, ui:campaign:metrics) |
constant_contact_list_contacts | Search contacts, newest changes not guaranteed first |
constant_contact_get_contact | One contact by id with its email permission, opt-in and opt-out details and, with include, its lists, tags, custom fields, phone numbers… |
constant_contact_get_contact_counts | Total number of contacts in the account and how many are in each email consent state (explicit, implicit, pending confirmation… |
constant_contact_create_contact | Create a new contact |
constant_contact_create_or_update_contact | Add a contact by email address or update the existing one, and add it to one or more lists |
constant_contact_update_contact | Replace a contact's data |
constant_contact_delete_contact | Delete a contact |
constant_contact_list_contact_lists | Contact lists of the account with list_id, name, description, favorite flag and, with include_membership_count, the number of members |
constant_contact_get_contact_list | One contact list by id, optionally with its number of members |
constant_contact_create_contact_list | Create a contact list |
constant_contact_update_contact_list | Rename a list or change its description or favorite flag |
constant_contact_delete_contact_list | Delete a contact list and its memberships (the contacts stay in the account) |
constant_contact_add_contacts_to_lists | Add contacts to one or more lists as a background activity |
constant_contact_remove_contacts_from_lists | Remove contacts from one or more lists as a background activity (the contacts stay in the account) |
constant_contact_list_tags | Tags of the account with tag_id, name, tag_source and, with include_count, the number of tagged contacts |
constant_contact_get_tag | One tag by id, optionally with the number of contacts that carry it |
constant_contact_create_tag | Create a tag |
constant_contact_update_tag | Rename a tag |
constant_contact_add_tags_to_contacts | Put one or more tags on contacts as a background activity |
constant_contact_remove_tags_from_contacts | Take one or more tags off contacts as a background activity (the tags themselves stay) |
constant_contact_list_custom_fields | Custom contact fields of the account with custom_field_id, label, name, type and, for select fields, the choices |
constant_contact_get_custom_field | One custom field by id with its label, name, type, metadata and select choices |
constant_contact_create_custom_field | Create a custom contact field |
constant_contact_list_segments | Segments (saved contact filters) of the account with segment_id, name and dates |
constant_contact_get_segment | One segment with its criteria (segment_criteria as JSON text) |
constant_contact_list_activities | Background activities (bulk list and tag changes, imports, exports, deletes) with their state and percent done, newest first |
constant_contact_get_activity | Status of one background activity: state (initialized, processing, completed, cancelled, failed, timed_out), percent_done, counts and any… |
constant_contact_list_email_campaigns | Email campaigns of the account with campaign_id, name, current_status (Draft, Scheduled, Executing, Done, Error, Removed), type and created… |
constant_contact_get_email_campaign | One email campaign with its status and campaign_activities: each with campaign_activity_id and role (primary_email is the email itself… |
constant_contact_get_email_campaign_activity | One email campaign activity: subject, from and reply-to, preheader, format_type, current_status, the contact_list_ids or segment_ids it… |
constant_contact_create_email_campaign | Create a draft email campaign from your own HTML (custom code email, format_type 5) |
constant_contact_update_email_campaign_activity | Change a draft (or sent, for some fields) primary_email activity: subject, sender, HTML, preheader, footer address and the audience… |
constant_contact_rename_email_campaign | Rename an email campaign (the internal name, not the subject) |
constant_contact_get_email_preview | HTML preview of an email campaign activity, with contact and custom field variables filled from the account owner's data, plus the preview… |
constant_contact_send_test_email | Send a test of an email campaign activity to up to 5 addresses (50 test recipients a day per account) |
constant_contact_get_email_schedule | Scheduled send time of an email campaign activity; an empty array when it is not scheduled |
constant_contact_schedule_email_campaign_activity | Send an email campaign activity to its lists or segment, now (scheduled_date "0") or at a time |
constant_contact_unschedule_email_campaign_activity | Cancel the schedule of an email campaign activity in SCHEDULED status; it goes back to its previous status (usually DRAFT) |
constant_contact_get_email_send_history | Each time an email campaign activity was sent: date, number of contacts, the lists or segments used, and whether the send completed or… |
constant_contact_list_email_campaign_summaries | Results of sent email campaigns, last sent first: per campaign the unique sends, opens, clicks, forwards, unsubscribes (optouts), bounces… |
constant_contact_get_email_campaign_stats | Stats for one or more email campaigns: counts (sends, opens, clicks, forwards, optouts, bounces, abuse, not opened) and percents (open… |
constant_contact_get_email_campaign_activity_stats | Stats for up to 10 email campaign activities: counts per tracked action and the campaign each belongs to |
constant_contact_get_email_links_report | Links in an email campaign activity with the number of unique contacts who clicked each and the link action. url_id from here filters the… |
constant_contact_get_email_tracking_report | Contacts behind an email campaign activity's numbers, most recent first: who it was sent to, who opened (every open or unique opens), who… |
constant_contact_get_contact_activity_details | What one contact did with your emails and landing pages, newest first: sends, opens, clicks, bounces, unsubscribes, forwards and landing… |
constant_contact_get_contact_activity_summary | The emails sent to one contact in a date range (up to the 200 most recent campaigns) with what the contact did with each: opens, clicks… |
constant_contact_get_contact_open_click_rates | Average open and click rate of one contact over a date range of up to 5 years, with the number of emails counted |
示例提示
- “我们最近三次邮件营销活动效果如何?比较打开、点击、退订和退信。”
- “把 [email protected] 以名字 Anna 加入 Newsletter 列表。她是在我们网站上订阅的。”
- “上周的营销活动里谁点击了价格页面的链接?列出他们的邮箱。”
- “用这段 HTML 为 VIP 客户列表创建一个营销活动草稿,先给我发一封测试邮件。”
- “给 Webinar 十月列表里的所有联系人加上 webinar-2026 标签,批量修改完成后告诉我。”
FAQ
Claude Code 和 Claude Desktop 一样工作吗? 是的,两者都指向 https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID。
下一步
这份指南对你有帮助吗?