Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .cursor-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -587,6 +587,11 @@
"grokbot": "0.49.0",
"sand": "0.49.0"
}
},
{
"name": "directmailamerica",
"source": "third_party/directmailamerica",
"description": "Print and mail USPS letters and postcards, run Email to Letter rules, and track orders."
}
]
}
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ Official Cursor plugins for popular developer tools, frameworks, and SaaS produc
| `tiktok-for-business` | [TikTok for Business](third_party/tiktok-for-business/) | Cursor | Integrations | Manage TikTok ad campaigns, ad groups, ads, audiences, creatives, and reports. |
| `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. |
| `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 `[email protected]` in the manifest).

## Repository structure
Expand Down
49 changes: 49 additions & 0 deletions third_party/directmailamerica/.cursor-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -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": "[email protected]"
},
"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/"
}
10 changes: 10 additions & 0 deletions third_party/directmailamerica/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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.
21 changes: 21 additions & 0 deletions third_party/directmailamerica/LICENSE
Original file line number Diff line number Diff line change
@@ -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.
67 changes: 67 additions & 0 deletions third_party/directmailamerica/README.md
Original file line number Diff line number Diff line change
@@ -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: [email protected]

Logo is DirectMailAmerica's official mark.

## License

MIT
Binary file added third_party/directmailamerica/assets/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 11 additions & 0 deletions third_party/directmailamerica/mcp.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"mcpServers": {
"directmailamerica": {
"type": "http",
"url": "https://directmailamerica.com/api/mcp",
"headers": {
"Authorization": "Bearer ${DIRECTMAILAMERICA_API_KEY}"
}
}
}
}
26 changes: 26 additions & 0 deletions third_party/directmailamerica/skills/dma-email-to-letter/SKILL.md
Original file line number Diff line number Diff line change
@@ -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`.
15 changes: 15 additions & 0 deletions third_party/directmailamerica/skills/dma-order-status/SKILL.md
Original file line number Diff line number Diff line change
@@ -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 [email protected]; do not resend without explicit approval of a new preview and price (see dma-send-mail).
21 changes: 21 additions & 0 deletions third_party/directmailamerica/skills/dma-send-mail/SKILL.md
Original file line number Diff line number Diff line change
@@ -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.