Ecardwidget MCP server
io.github.eCardWidget/ecardwidget-mcp·v0.5.2·1 starsSend eCards, run bulk campaigns, and automate recurring cards from your AI assistant.
1 stars
Reviews
Write oneNobody has reviewed Ecardwidget yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
Ecardwidget tools (17, 11 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
ecw_create_automationwrite actionCreate an automation that automatically sends an eCard to directory members on a recurring personal date: 'birthday', 'anniversary' (work anniversary), or 'onboarding'. Pick the eCards it sends from (numeric ids from ecw_search_ecards \u2014 a random one is chosen per send). Members are matched from the directory by their stored dates. Holiday/fixed-date/rule-based automations aren't created here
ecw_create_campaignwrite actionCreate a bulk eCard campaign as a DRAFT \u2014 it is NOT sent. Optionally attach eCards (numeric ids from ecw_search_ecards) and directory-member recipients (ids from ecw_list_team_members). Review and send it later with ecw_send_campaign or in the dashboard.
ecw_create_ecardwrite actionCreate a new eCard and attach it to a widget. `name` and `widget_id` are required. Supply the artwork EITHER as `image_url` (public https URL) OR `image_base64` (base64 string or data: URI) \u2014 or neither for a text-only card. `details` is the eCard's HTML body. `options` sets any other eCard field (price, url_redirect_after_send, videoLink, disabled, customFieldsConfig, \u2026). Get a widget_i
ecw_create_widgetwrite actionCreate a new, empty widget and configure any of its options. `name` is required. `wconfig` holds the theme/display config (colors, layout, locale, \u2026) and defaults to {"locale":"en"}. `options` sets any other widget field (e.g. page_heading_html, page_subtitle_html, dir_force_sso, custom_fields_preset_id, merge_tag_defaults, gift_card_enabled). Returns the new widget's numeric id and vanity id
ecw_deactivate_team_memberDeactivate a directory team member by email (reversible \u2014 they stop receiving automated cards but aren't deleted). Use ecw_upsert_team_member to reactivate, or ecw_delete_team_member to remove entirely.
ecw_delete_ecardwrite actionPermanently delete an eCard design. Two-step: call once WITHOUT confirm_token for a preview and a confirmation token, then again WITH the token to delete. An eCard that's in use may only be deletable from the dashboard.
ecw_delete_team_memberwrite actionPermanently delete a directory team member by email. This is a two-step, irreversible action: call once WITHOUT confirm_token to get a preview and a confirmation token, then call again WITH that confirm_token to actually delete. To deactivate instead of delete, use ecw_deactivate_team_member.
ecw_delete_widgetwrite actionPermanently delete a widget and its eCards. Two-step: call once WITHOUT confirm_token for a preview and a confirmation token, then again WITH the token to delete. A widget that's used by automations or campaigns (or has send history) can only be deleted from the dashboard.
ecw_describe_fieldsList the fields you can set when creating or updating a widget, eCard, campaign, or automation \u2014 field names, types, allowed values (enums), and which are required. Call this before ecw_create_widget / ecw_create_ecard / ecw_create_campaign / ecw_create_automation to learn what to pass (including the `options` passthrough). Sourced from the eCardWidget OpenAPI spec.
ecw_duplicate_widgetwrite actionCreate a new widget by duplicating an existing one \u2014 the copy keeps the source's theme, settings, and eCards, so it's immediately usable. Pass the numeric id of a source widget (from ecw_list_widgets). The new widget is named 'Copy - <source name>'; rename it in the dashboard or with a follow-up update.
ecw_find_team_memberLook up one directory team member by email or external id.
ecw_get_widget_ecardsList the eCards inside a widget, returning each eCard's `ecardid` and name. Pass a widget's vanity id (from ecw_list_widgets). Use the returned ecardid with ecw_send_ecard.
ecw_import_team_membersAdd or update up to … team members in one call (upsert by email). Each row is upserted individually with automatic backoff if the rate limit is hit; returns a summary of successes/failures. Once imported, target them with ecw_create_automation (recurring) or ecw_create_campaign (one-time).
ecw_send_campaignwrite actionSend a campaign to all of its recipients immediately. Two-step: call once WITHOUT confirm_token for a preview and a confirmation token, then call again WITH that token to send. Gift-card campaigns must be sent from the dashboard.
ecw_send_ecardwrite actionSend, schedule, or share a single eCard. Emails it now by default; set type='ecard_copy_link' to get a shareable link instead of emailing; set scheduled_send_date (future ISO datetime) to schedule. Get an ecard_id from ecw_get_widget_ecards or ecw_search_ecards.
ecw_upsert_team_memberwrite actionCreate or update a single directory team member, matched by email. Provide any subset of fields; email is required. For many people at once, use ecw_import_team_members. Once members exist, target them with ecw_create_automation (recurring) or ecw_create_campaign (one-time).
ecw_whoamiReport the eCardWidget account this connection is authenticated to and the exact capabilities of the API key: which feature areas are readable/writable, the request rate limit, and usage this hour. Call this first to understand what actions are available.
Public scan report
scanner v0.1.9 · 2026-09-26 · same rubric, same numbers if you re-run it
- Code scan3 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitystatic API keys via environment variables6/15
- Maintenancelast push 78 days ago12/15
- Maintainer identityregistry namespace matches repository owner7/10
How Ecardwidget compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 77/100
- higher than 50% of 48,255 servers
- Tools
- 17
- the typical server has 7
- Tools that change things
- 65%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 1
- more than 65% of 28,688 servers
What its tools let an agent do: 6 read · 11 change
Install Ecardwidget in Claude Code, Cursor or VS Code
Runs npx -y ecardwidget-mcp on your machine. Read the scan report first; the gateway never runs local packages.
claude mcp add ecardwidget-mcp -- npx -y ecardwidget-mcp
What the publisher says
From the Ecardwidget repository's README, as published. We do not edit it. Read it on GitHub
eCardWidget MCP Server
The official Model Context Protocol server for eCardWidget. Let an AI assistant (Claude Desktop, Claude Code, Cursor, …) work in your eCardWidget account — search and send eCards, manage your directory, list campaigns/widgets/automations — using an API key you generate and scope yourself.
The assistant can only ever do what your API key permits. On startup the server asks the API what
the key is allowed to do and registers only the tools that key is scoped for. All scope enforcement,
throttling, and auditing happen server-side.
Quick start
First, generate a scoped API key in your eCardWidget dashboard: Settings → Developers → API Keys. Grant only the areas you want the assistant to touch. Then pick whichever install fits your client:
Option A — Claude Desktop (one click)
Download ecardwidget-mcp.mcpb from the latest release and open it. Claude Desktop shows an install dialog that asks you for your API key (stored in your OS keychain) — no config files, no commands.
Option B — Sign in once, then a short command (Claude Code / Cursor / any client)
npx ecardwidget-mcp login # prompts for your key, verifies + saves it locally (0600)
claude mcp add ecardwidget -- npx -y ecardwidget-mcp # no key in the commandThe server reads the saved key automatically. (npx ecardwidget-mcp logout removes it.)
Option C — Put the key in your client config (manual)
{
"mcpServers": {
"ecardwidget": {
"command": "npx",
"args": ["-y", "ecardwidget-mcp"],
"env": { "ECW_API_KEY": "YOUR_API_KEY" }
}
}
}Restart your client. It connects and shows the tools your key is scoped for. Precedence: an explicit ECWAPIKEY env var always wins over the saved login credential.
Configuration
Tools
All tools are namespaced ecw_*; only those your key is scoped for are registered.
widget / eCard / campaign / automation — synced from the OpenAPI spec)
- Introspection & discovery: ecwwhoami, ecwdescribe_fields (what fields you can set on a
ecwsendecard, ecwdeleteecard
- eCards: ecwsearchecards, ecwgetwidgetecards, ecwcreate_ecard (image via URL or base64),
ecwimportteammembers, ecwdeactivateteammember, ecwdeleteteam_member
- Directory: ecwlistteammembers, ecwfindteammember, ecwupsertteam_member,
- Widgets: ecwlistwidgets, ecwcreatewidget, ecwduplicatewidget, ecwdeletewidget
- Automations: ecwlistautomations, ecwcreateautomation (birthday / anniversary / onboarding)
- Campaigns: ecwlistcampaigns, ecwcreatecampaign (draft), ecwsendcampaign
Destructive tools (delete, send campaign) use a two-step confirmation — call once for a preview + a one-time token, then again with the token to execute. Deleting automations/campaigns and sending gift-card campaigns require confirmation in the dashboard.
Guided flows (prompts)
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
Ecardwidget: common questions
- Is Ecardwidget MCP server safe?
- Mostly: it is graded B (77/100). Read the Ecardwidget safety report
- How do I install Ecardwidget?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does Ecardwidget need an API key?
- Yes. The registry entry asks for
ECW_API_KEY. - Is Ecardwidget maintained?
- The last commit was 117 days ago (2026-07-09). The latest release is v0.5.2.
- How does Ecardwidget compare with other MCP servers?
- safety score 77/100 (higher than 50% of 48,255 servers); tools 17 (the typical server has 7); tools that change things 65% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.