Send physical handwritten postcards from any AI agent. Real pen & ink, USPS, $4.99/card.
Connect Runs on your machine
claude mcp add postals-mcp -e POSTALS_API_KEY=<POSTALS_API_KEY> -e POSTALS_SENDER_NAME=<POSTALS_SENDER_NAME> -e POSTALS_SENDER_ADDRESS=<POSTALS_SENDER_ADDRESS> -e POSTALS_SENDER_CITY=<POSTALS_SENDER_CITY> -e POSTALS_SENDER_STATE=<POSTALS_SENDER_STATE> -e POSTALS_SENDER_ZIP=<POSTALS_SENDER_ZIP> -e POSTALS_DEFAULT_CARD_IMAGE=<POSTALS_DEFAULT_CARD_IMAGE> -e POSTALS_HANDWRITING_STYLE=<POSTALS_HANDWRITING_STYLE> -e POSTALS_DAILY_LIMIT=<POSTALS_DAILY_LIMIT> -e POSTALS_TEST_MODE=<POSTALS_TEST_MODE> -e CLOUDFLARE_ACCOUNT_ID=<CLOUDFLARE_ACCOUNT_ID> -e CLOUDFLARE_API_TOKEN=<CLOUDFLARE_API_TOKEN> -- npx -y [email protected]
{
"mcpServers": {
"postals-mcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"POSTALS_API_KEY": "<POSTALS_API_KEY>",
"POSTALS_SENDER_NAME": "<POSTALS_SENDER_NAME>",
"POSTALS_SENDER_ADDRESS": "<POSTALS_SENDER_ADDRESS>",
"POSTALS_SENDER_CITY": "<POSTALS_SENDER_CITY>",
"POSTALS_SENDER_STATE": "<POSTALS_SENDER_STATE>",
"POSTALS_SENDER_ZIP": "<POSTALS_SENDER_ZIP>",
"POSTALS_DEFAULT_CARD_IMAGE": "<POSTALS_DEFAULT_CARD_IMAGE>",
"POSTALS_HANDWRITING_STYLE": "<POSTALS_HANDWRITING_STYLE>",
"POSTALS_DAILY_LIMIT": "<POSTALS_DAILY_LIMIT>",
"POSTALS_TEST_MODE": "<POSTALS_TEST_MODE>",
"CLOUDFLARE_ACCOUNT_ID": "<CLOUDFLARE_ACCOUNT_ID>",
"CLOUDFLARE_API_TOKEN": "<CLOUDFLARE_API_TOKEN>"
}
}
}
}
{
"mcpServers": {
"postals-mcp": {
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"POSTALS_API_KEY": "<POSTALS_API_KEY>",
"POSTALS_SENDER_NAME": "<POSTALS_SENDER_NAME>",
"POSTALS_SENDER_ADDRESS": "<POSTALS_SENDER_ADDRESS>",
"POSTALS_SENDER_CITY": "<POSTALS_SENDER_CITY>",
"POSTALS_SENDER_STATE": "<POSTALS_SENDER_STATE>",
"POSTALS_SENDER_ZIP": "<POSTALS_SENDER_ZIP>",
"POSTALS_DEFAULT_CARD_IMAGE": "<POSTALS_DEFAULT_CARD_IMAGE>",
"POSTALS_HANDWRITING_STYLE": "<POSTALS_HANDWRITING_STYLE>",
"POSTALS_DAILY_LIMIT": "<POSTALS_DAILY_LIMIT>",
"POSTALS_TEST_MODE": "<POSTALS_TEST_MODE>",
"CLOUDFLARE_ACCOUNT_ID": "<CLOUDFLARE_ACCOUNT_ID>",
"CLOUDFLARE_API_TOKEN": "<CLOUDFLARE_API_TOKEN>"
}
}
}
}
{
"servers": {
"postals-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"[email protected]"
],
"env": {
"POSTALS_API_KEY": "<POSTALS_API_KEY>",
"POSTALS_SENDER_NAME": "<POSTALS_SENDER_NAME>",
"POSTALS_SENDER_ADDRESS": "<POSTALS_SENDER_ADDRESS>",
"POSTALS_SENDER_CITY": "<POSTALS_SENDER_CITY>",
"POSTALS_SENDER_STATE": "<POSTALS_SENDER_STATE>",
"POSTALS_SENDER_ZIP": "<POSTALS_SENDER_ZIP>",
"POSTALS_DEFAULT_CARD_IMAGE": "<POSTALS_DEFAULT_CARD_IMAGE>",
"POSTALS_HANDWRITING_STYLE": "<POSTALS_HANDWRITING_STYLE>",
"POSTALS_DAILY_LIMIT": "<POSTALS_DAILY_LIMIT>",
"POSTALS_TEST_MODE": "<POSTALS_TEST_MODE>",
"CLOUDFLARE_ACCOUNT_ID": "<CLOUDFLARE_ACCOUNT_ID>",
"CLOUDFLARE_API_TOKEN": "<CLOUDFLARE_API_TOKEN>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
POSTALS_API_KEYRequired, secret | Your Handwrytten API key (v1.0) or Postals API key (v1.1+). |
POSTALS_SENDER_NAMEOptional | Default sender full name for return address. |
POSTALS_SENDER_ADDRESSOptional | Default sender street address. |
POSTALS_SENDER_CITYOptional | Default sender city. |
POSTALS_SENDER_STATEOptional | Default sender 2-letter US state code. |
POSTALS_SENDER_ZIPOptional | Default sender 5-digit ZIP (or 5+4 format). |
POSTALS_DEFAULT_CARD_IMAGEOptional | Default card front image URL (HTTPS, PNG or JPEG, landscape 7x5 preferred). |
POSTALS_HANDWRITING_STYLEOptional | Default handwriting font. Default: Joyful Jennifer. |
POSTALS_DAILY_LIMITOptional | Max cards per day (safety net). Default: 50. |
POSTALS_TEST_MODEOptional | Set to 'true' for test mode (validates inputs, no cards actually sent). |
CLOUDFLARE_ACCOUNT_IDOptional | Optional. Enables AI message generation via Cloudflare Workers AI. |
CLOUDFLARE_API_TOKENOptional, secret | Optional. Required together with CLOUDFLARE_ACCOUNT_ID for AI message generation. |
Details
| Package | [email protected] (NPM, stdio) |
| First published | 15 Apr 2026 |
| Last updated | 15 Apr 2026 |
| Registry name | io.github.coopergwrenn/postals-mcp |
More ai and media servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
