diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json index f1e01ff08..2bc45267b 100644 --- a/.cursor-plugin/marketplace.json +++ b/.cursor-plugin/marketplace.json @@ -597,6 +597,11 @@ "name": "jobber", "source": "third_party/jobber", "description": "Work with clients, requests, quotes, jobs, visits, and invoices." + }, + { + "name": "directmailamerica", + "source": "third_party/directmailamerica", + "description": "Print and mail USPS letters and postcards, run Email to Letter rules, and track orders." } ] } diff --git a/README.md b/README.md index cdcc7acd8..852d37a0d 100644 --- a/README.md +++ b/README.md @@ -109,6 +109,7 @@ Official Cursor plugins for popular developer tools, frameworks, and SaaS produc | `gusto` | [Gusto](third_party/gusto/) | Cursor | Integrations | Work with payroll, employees, contractors, time off, and reports. | | `gopuff` | [Gopuff](third_party/gopuff/) | Cursor | Integrations | Shop Gopuff from Grok Bot through Gopuff's official MCP server. Sign in with your Gopuff account; Gopuff handles the sign-in, and your searches, carts, and orders go to Gopuff under that account, so any order you place is charged and delivered like a normal Gopuff order. | | `jobber` | [Jobber](third_party/jobber/) | Cursor | Integrations | Work with clients, requests, quotes, jobs, visits, and invoices. | +| `directmailamerica` | [DirectMailAmerica](third_party/directmailamerica/) | Rainmaker LLC d/b/a DirectMailAmerica.com | Integrations | Print and mail USPS letters and postcards, run Email to Letter rules, and track orders. | Author values match each plugin’s `plugin.json` `author.name` (Cursor lists `plugins@cursor.com` in the manifest). ## Repository structure diff --git a/third_party/directmailamerica/.cursor-plugin/plugin.json b/third_party/directmailamerica/.cursor-plugin/plugin.json new file mode 100644 index 000000000..33244b128 --- /dev/null +++ b/third_party/directmailamerica/.cursor-plugin/plugin.json @@ -0,0 +1,49 @@ +{ + "name": "directmailamerica", + "displayName": "DirectMailAmerica", + "version": "1.0.0", + "minClientVersions": { + "cursor": "3.13.0" + }, + "description": "Print and mail USPS letters and postcards, run Email to Letter rules, and track orders.", + "author": { + "name": "Rainmaker LLC d/b/a DirectMailAmerica.com", + "email": "support@directmailamerica.com" + }, + "homepage": "https://directmailamerica.com/agents", + "repository": "https://github.com/cursor/plugins", + "license": "MIT", + "logo": "assets/logo.png", + "keywords": [ + "directmailamerica", + "mail", + "letters", + "postcards", + "usps", + "certified mail", + "email to letter", + "mcp" + ], + "category": "integrations", + "tags": [ + "directmailamerica", + "mail", + "usps", + "mcp" + ], + "variables": { + "type": "object", + "properties": { + "DIRECTMAILAMERICA_API_KEY": { + "type": "string", + "title": "DirectMailAmerica API key", + "description": "Workspace key from https://directmailamerica.com (Developers settings). lbl_live_ keys mail for real; lbl_test_ keys never buy postage." + } + }, + "required": [ + "DIRECTMAILAMERICA_API_KEY" + ] + }, + "mcpServers": "./mcp.json", + "skills": "./skills/" +} diff --git a/third_party/directmailamerica/CHANGELOG.md b/third_party/directmailamerica/CHANGELOG.md new file mode 100644 index 000000000..49875f2ee --- /dev/null +++ b/third_party/directmailamerica/CHANGELOG.md @@ -0,0 +1,10 @@ +# Changelog + +All notable changes to this plugin will be documented here. + +## 1.0.0 — initial release + +- Added the `directmailamerica` MCP server pointing at DirectMailAmerica's hosted endpoint (`https://directmailamerica.com/api/mcp`). +- Auth uses a user-supplied workspace API key (`DIRECTMAILAMERICA_API_KEY`), sent as a Bearer header. +- Skills: `dma-send-mail`, `dma-email-to-letter`, `dma-order-status`. Mailing always requires explicit approval of the preview and price. +- Logo: DirectMailAmerica's official mark. diff --git a/third_party/directmailamerica/LICENSE b/third_party/directmailamerica/LICENSE new file mode 100644 index 000000000..31e4bc54b --- /dev/null +++ b/third_party/directmailamerica/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 Rainmaker LLC d/b/a DirectMailAmerica.com + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/third_party/directmailamerica/README.md b/third_party/directmailamerica/README.md new file mode 100644 index 000000000..a76e01d4e --- /dev/null +++ b/third_party/directmailamerica/README.md @@ -0,0 +1,67 @@ +# DirectMailAmerica + +Cursor plugin that connects agents to [DirectMailAmerica](https://directmailamerica.com) through DirectMailAmerica's official remote [Model Context Protocol](https://modelcontextprotocol.io/) server. + +Print and mail USPS letters and postcards, run Email to Letter rules, and track orders. + +## Install + +1. Open **Cursor Settings → Plugins**. +2. Search for **DirectMailAmerica**. +3. Click **Install**, then paste your workspace API key into `DIRECTMAILAMERICA_API_KEY`. + +Or run `/add-plugin directmailamerica` in chat. + +## MCP + +```json +{ + "mcpServers": { + "directmailamerica": { + "type": "http", + "url": "https://directmailamerica.com/api/mcp", + "headers": { + "Authorization": "Bearer ${DIRECTMAILAMERICA_API_KEY}" + } + } + } +} +``` + +Auth is a workspace API key the user supplies. Sign in at directmailamerica.com and create a key under **Developers**. `lbl_live_` keys print and mail for real; `lbl_test_` keys never buy postage. + +## What agents can do + +| Area | Tools | +| --- | --- | +| Quotes and catalog | `get_pricing`, `get_product_catalog`, `quote_product` | +| Mailing (paid, approval required) | `send_letter`, `send_product_quote` | +| Email to Letter | inbox, rules, budgets, letterheads, previews, `approve_email_letter` / `reject_email_letter` | +| Status and balance | `list_jobs`, `get_letter_status`, `get_credits` | + +The hosted runtime is the source of truth for tool names and schemas. + +## Skills + +- `dma-send-mail`: collect addresses, draft, quote, show the preview and total, then mail only after approval. +- `dma-email-to-letter`: manage the inbox and rules, and review and approve pending letters. +- `dma-order-status`: read-only job, tracking and balance checks. + +## Notes + +- Mailing is real, costs money and cannot be undone. The skills never mail until the user has explicitly approved the exact preview, addresses and price, and they ask again if anything changes. +- Email to Letter rules default to approval mode. Automatic sending needs the user's explicit consent. +- List prices: First-Class letter $1.49 + $0.25 per extra page; Certified Mail $12.99; postcard $1.99. + +## Docs + +- Agents page: https://directmailamerica.com/agents +- MCP docs: https://directmailamerica.com/docs/mcp +- Server URL: https://directmailamerica.com/api/mcp +- Support: support@directmailamerica.com + +Logo is DirectMailAmerica's official mark. + +## License + +MIT diff --git a/third_party/directmailamerica/assets/logo.png b/third_party/directmailamerica/assets/logo.png new file mode 100644 index 000000000..5b05bcd13 Binary files /dev/null and b/third_party/directmailamerica/assets/logo.png differ diff --git a/third_party/directmailamerica/mcp.json b/third_party/directmailamerica/mcp.json new file mode 100644 index 000000000..a8483d092 --- /dev/null +++ b/third_party/directmailamerica/mcp.json @@ -0,0 +1,11 @@ +{ + "mcpServers": { + "directmailamerica": { + "type": "http", + "url": "https://directmailamerica.com/api/mcp", + "headers": { + "Authorization": "Bearer ${DIRECTMAILAMERICA_API_KEY}" + } + } + } +} diff --git a/third_party/directmailamerica/skills/dma-email-to-letter/SKILL.md b/third_party/directmailamerica/skills/dma-email-to-letter/SKILL.md new file mode 100644 index 000000000..2db41fdc7 --- /dev/null +++ b/third_party/directmailamerica/skills/dma-email-to-letter/SKILL.md @@ -0,0 +1,26 @@ +--- +name: dma-email-to-letter +description: Manage DirectMailAmerica Email to Letter - the workspace inbox, mailing rules, budgets, incoming email drafts and their approval. Use when the user asks about the letter inbox, rules, or pending email letters. +--- + +# Email to Letter inbox and rules + +## Approval rule (always) +Mailing is real, costs money and cannot be undone. Never call `send_letter`, `send_product_quote` or `approve_email_letter` until the user has explicitly approved, in this conversation, the exact preview (PDF/artwork), the sender and recipient addresses, and the exact price. A general instruction like "send me a letter" is not approval of a specific preview and price. If anything changes after approval (text, address, price, options), get approval again. Never retry a failed send without checking `list_jobs` first, and always pass an `idempotencyKey`. + +## Look around (no charge) +- `get_email_to_letter`: inbox address, rules, budgets, usage, balance, letterheads and defaults. +- `list_email_letters` (page with `before`): recent emails and their letter state. +- `get_email_letter` / `download_email_letter` (format pdf or eml): full text, price and the PDF preview. +- `check_email_box`: checks the inbox now (about 60 s cooldown; new mail can take several minutes to appear). + +## Rules +- `save_email_letter_rule` creates or replaces a rule (sender, recipient, optional subject match, address, formatting). Default to approval mode. Switching a rule to automatic sending needs the user's explicit consent to autosend and to the Terms of Use, passed in `consent`; never assume it. +- `preview_email_letter` renders a sample before saving. `delete_email_letter_rule` removes a rule only when the user asks. +- `update_email_letter_settings` changes budgets and limits only when the user asks; enabling may resume paused sending, so say so. + +## Pending letters +1. Show the user the PDF preview, recipient and quoted cents from `get_email_letter`. +2. Edit with `edit_email_letter` or `reapply_email_letter` if asked, then show the new preview and price again. +3. Only after explicit approval: `approve_email_letter` with id, exact version, exact cents and `confirmMail: true`. Otherwise `reject_email_letter` if the user declines. +- `delete_email_letters` is permanent; use only on request with `confirmDelete: true`. diff --git a/third_party/directmailamerica/skills/dma-order-status/SKILL.md b/third_party/directmailamerica/skills/dma-order-status/SKILL.md new file mode 100644 index 000000000..8f0d88eb7 --- /dev/null +++ b/third_party/directmailamerica/skills/dma-order-status/SKILL.md @@ -0,0 +1,15 @@ +--- +name: dma-order-status +description: Check DirectMailAmerica order status, tracking, recent jobs and credit balance. Use when the user asks where a letter or postcard is, or what they have sent or spent. Read-only. +--- + +# Order status + +All of these are free and read-only. + +- `list_jobs` (limit up to 100): recent jobs with ids, status and price. +- `get_letter_status` with a job id (e.g. `job_...`): stored status and USPS tracking. It does not poll the carrier live, so mention when the last update was. +- `get_credits`: prepaid balance in cents. `get_payment_status` with a paymentId checks a Square top-up. +- For Email to Letter items, `list_email_letters` / `get_email_letter` show draft, approved and mailed state. + +Report times in the user's time zone. If a job looks stuck or failed, say so and suggest support@directmailamerica.com; do not resend without explicit approval of a new preview and price (see dma-send-mail). diff --git a/third_party/directmailamerica/skills/dma-send-mail/SKILL.md b/third_party/directmailamerica/skills/dma-send-mail/SKILL.md new file mode 100644 index 000000000..41af4d3e6 --- /dev/null +++ b/third_party/directmailamerica/skills/dma-send-mail/SKILL.md @@ -0,0 +1,21 @@ +--- +name: dma-send-mail +description: Send a physical USPS letter, Certified Mail piece or postcard through DirectMailAmerica. Use when the user wants something printed and mailed. Always quotes and previews first and mails only after explicit approval. +--- + +# Send a letter or postcard + +## Approval rule (always) +Mailing is real, costs money and cannot be undone. Never call `send_letter`, `send_product_quote` or `approve_email_letter` until the user has explicitly approved, in this conversation, the exact preview (PDF/artwork), the sender and recipient addresses, and the exact price. A general instruction like "send me a letter" is not approval of a specific preview and price. If anything changes after approval (text, address, price, options), get approval again. Never retry a failed send without checking `list_jobs` first, and always pass an `idempotencyKey`. + +## Steps +1. `get_connection_status` to confirm the workspace key works; `get_credits` to see the balance. +2. Collect the sender and recipient (name, street, city, state, ZIP). Ask for anything missing; never invent addresses. +3. Draft the content: + - Letter: plain body text, or a print-ready 8.5x11 PDF. + - Postcard: one landscape 396x306 pt (5.5x4.25 in) artwork page; the address side is added by the printer. Set `color` explicitly. + - Anything else (custom sizes, Pro postcards): `get_product_catalog`, then `quote_product` (36-hour exact quote). +4. Quote: `get_pricing` with mailClass, pageCount, recipientCount and options (certified, electronicReturnReceipt, color). List prices: First-Class $1.49 + $0.25/extra page; Certified $12.99 + $0.25/page; postcard $1.99; e-return receipt +$2.40. +5. Show the user the preview (render the PDF to an image when possible), both addresses, the mail class and options, and the exact total. Ask: "Mail this for $X.XX?" +6. Only after a clear yes: `send_letter` (or `send_product_quote` with `confirmed: true` for a saved quote) with an `idempotencyKey`. Never pay with x402 or create a credit checkout unless the user separately asks for it. +7. Report the job id and price, and offer to track it with the dma-order-status skill.