io.github.coopergwrenn/postals-mcp MCP Server
io.github.coopergwrenn/postals-mcp
What is the io.github.coopergwrenn/postals-mcp MCP server?
Send physical handwritten postcards from any AI agent. Real pen & ink, USPS, $4.99/card.
How to install io.github.coopergwrenn/postals-mcp
Copy-paste configuration for popular MCP clients.
POSTALS_API_KEYrequiredsecretYour Handwrytten API key (v1.0) or Postals API key (v1.1+).
POSTALS_SENDER_NAMEDefault sender full name for return address.
POSTALS_SENDER_ADDRESSDefault sender street address.
POSTALS_SENDER_CITYDefault sender city.
POSTALS_SENDER_STATEDefault sender 2-letter US state code.
POSTALS_SENDER_ZIPDefault sender 5-digit ZIP (or 5+4 format).
POSTALS_DEFAULT_CARD_IMAGEDefault card front image URL (HTTPS, PNG or JPEG, landscape 7x5 preferred).
POSTALS_HANDWRITING_STYLEDefault handwriting font. Default: Joyful Jennifer.
POSTALS_DAILY_LIMITMax cards per day (safety net). Default: 50.
POSTALS_TEST_MODESet to 'true' for test mode (validates inputs, no cards actually sent).
CLOUDFLARE_ACCOUNT_IDOptional. Enables AI message generation via Cloudflare Workers AI.
CLOUDFLARE_API_TOKENsecretOptional. Required together with CLOUDFLARE_ACCOUNT_ID for AI message generation.
{
"mcpServers": {
"postals-mcp": {
"command": "npx",
"args": [
"-y",
"postals-mcp"
],
"env": {
"POSTALS_API_KEY": "<YOUR_POSTALS_API_KEY>",
"POSTALS_SENDER_NAME": "<YOUR_POSTALS_SENDER_NAME>",
"POSTALS_SENDER_ADDRESS": "<YOUR_POSTALS_SENDER_ADDRESS>",
"POSTALS_SENDER_CITY": "<YOUR_POSTALS_SENDER_CITY>",
"POSTALS_SENDER_STATE": "<YOUR_POSTALS_SENDER_STATE>",
"POSTALS_SENDER_ZIP": "<YOUR_POSTALS_SENDER_ZIP>",
"POSTALS_DEFAULT_CARD_IMAGE": "<YOUR_POSTALS_DEFAULT_CARD_IMAGE>",
"POSTALS_HANDWRITING_STYLE": "<YOUR_POSTALS_HANDWRITING_STYLE>",
"POSTALS_DAILY_LIMIT": "<YOUR_POSTALS_DAILY_LIMIT>",
"POSTALS_TEST_MODE": "<YOUR_POSTALS_TEST_MODE>",
"CLOUDFLARE_ACCOUNT_ID": "<YOUR_CLOUDFLARE_ACCOUNT_ID>",
"CLOUDFLARE_API_TOKEN": "<YOUR_CLOUDFLARE_API_TOKEN>"
}
}
}
}{
"mcpServers": {
"postals-mcp": {
"command": "npx",
"args": [
"-y",
"postals-mcp"
],
"env": {
"POSTALS_API_KEY": "<YOUR_POSTALS_API_KEY>",
"POSTALS_SENDER_NAME": "<YOUR_POSTALS_SENDER_NAME>",
"POSTALS_SENDER_ADDRESS": "<YOUR_POSTALS_SENDER_ADDRESS>",
"POSTALS_SENDER_CITY": "<YOUR_POSTALS_SENDER_CITY>",
"POSTALS_SENDER_STATE": "<YOUR_POSTALS_SENDER_STATE>",
"POSTALS_SENDER_ZIP": "<YOUR_POSTALS_SENDER_ZIP>",
"POSTALS_DEFAULT_CARD_IMAGE": "<YOUR_POSTALS_DEFAULT_CARD_IMAGE>",
"POSTALS_HANDWRITING_STYLE": "<YOUR_POSTALS_HANDWRITING_STYLE>",
"POSTALS_DAILY_LIMIT": "<YOUR_POSTALS_DAILY_LIMIT>",
"POSTALS_TEST_MODE": "<YOUR_POSTALS_TEST_MODE>",
"CLOUDFLARE_ACCOUNT_ID": "<YOUR_CLOUDFLARE_ACCOUNT_ID>",
"CLOUDFLARE_API_TOKEN": "<YOUR_CLOUDFLARE_API_TOKEN>"
}
}
}
}{
"mcpServers": {
"postals-mcp": {
"command": "npx",
"args": [
"-y",
"postals-mcp"
],
"env": {
"POSTALS_API_KEY": "<YOUR_POSTALS_API_KEY>",
"POSTALS_SENDER_NAME": "<YOUR_POSTALS_SENDER_NAME>",
"POSTALS_SENDER_ADDRESS": "<YOUR_POSTALS_SENDER_ADDRESS>",
"POSTALS_SENDER_CITY": "<YOUR_POSTALS_SENDER_CITY>",
"POSTALS_SENDER_STATE": "<YOUR_POSTALS_SENDER_STATE>",
"POSTALS_SENDER_ZIP": "<YOUR_POSTALS_SENDER_ZIP>",
"POSTALS_DEFAULT_CARD_IMAGE": "<YOUR_POSTALS_DEFAULT_CARD_IMAGE>",
"POSTALS_HANDWRITING_STYLE": "<YOUR_POSTALS_HANDWRITING_STYLE>",
"POSTALS_DAILY_LIMIT": "<YOUR_POSTALS_DAILY_LIMIT>",
"POSTALS_TEST_MODE": "<YOUR_POSTALS_TEST_MODE>",
"CLOUDFLARE_ACCOUNT_ID": "<YOUR_CLOUDFLARE_ACCOUNT_ID>",
"CLOUDFLARE_API_TOKEN": "<YOUR_CLOUDFLARE_API_TOKEN>"
}
}
}
}{
"servers": {
"postals-mcp": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"postals-mcp"
],
"env": {
"POSTALS_API_KEY": "<YOUR_POSTALS_API_KEY>",
"POSTALS_SENDER_NAME": "<YOUR_POSTALS_SENDER_NAME>",
"POSTALS_SENDER_ADDRESS": "<YOUR_POSTALS_SENDER_ADDRESS>",
"POSTALS_SENDER_CITY": "<YOUR_POSTALS_SENDER_CITY>",
"POSTALS_SENDER_STATE": "<YOUR_POSTALS_SENDER_STATE>",
"POSTALS_SENDER_ZIP": "<YOUR_POSTALS_SENDER_ZIP>",
"POSTALS_DEFAULT_CARD_IMAGE": "<YOUR_POSTALS_DEFAULT_CARD_IMAGE>",
"POSTALS_HANDWRITING_STYLE": "<YOUR_POSTALS_HANDWRITING_STYLE>",
"POSTALS_DAILY_LIMIT": "<YOUR_POSTALS_DAILY_LIMIT>",
"POSTALS_TEST_MODE": "<YOUR_POSTALS_TEST_MODE>",
"CLOUDFLARE_ACCOUNT_ID": "<YOUR_CLOUDFLARE_ACCOUNT_ID>",
"CLOUDFLARE_API_TOKEN": "<YOUR_CLOUDFLARE_API_TOKEN>"
}
}
}
}claude mcp add postals-mcp --env POSTALS_API_KEY=<YOUR_POSTALS_API_KEY> --env POSTALS_SENDER_NAME=<YOUR_POSTALS_SENDER_NAME> --env POSTALS_SENDER_ADDRESS=<YOUR_POSTALS_SENDER_ADDRESS> --env POSTALS_SENDER_CITY=<YOUR_POSTALS_SENDER_CITY> --env POSTALS_SENDER_STATE=<YOUR_POSTALS_SENDER_STATE> --env POSTALS_SENDER_ZIP=<YOUR_POSTALS_SENDER_ZIP> --env POSTALS_DEFAULT_CARD_IMAGE=<YOUR_POSTALS_DEFAULT_CARD_IMAGE> --env POSTALS_HANDWRITING_STYLE=<YOUR_POSTALS_HANDWRITING_STYLE> --env POSTALS_DAILY_LIMIT=<YOUR_POSTALS_DAILY_LIMIT> --env POSTALS_TEST_MODE=<YOUR_POSTALS_TEST_MODE> --env CLOUDFLARE_ACCOUNT_ID=<YOUR_CLOUDFLARE_ACCOUNT_ID> --env CLOUDFLARE_API_TOKEN=<YOUR_CLOUDFLARE_API_TOKEN> -- npx -y postals-mcpRelated MCP servers
Scrapling MCP Server
Give your AI agent stealth web scraping with Cloudflare bypass and CSS selection, powered by Scrapling.
Chrome DevTools MCP
Give your AI coding agent full control of a live Chrome browser for automation, debugging, and performance analysis.
com.puter/mcp-server
Let AI agents manage your Puter files, websites, and serverless workers over MCP.
Browser automation for AI agents via MCP, powering ByteDance's Agent TARS hybrid GUI/DOM browser control.
Run arbitrary shell commands from an MCP-connected AI agent.
Filesystem access MCP server from ByteDance's UI-TARS/Agent TARS ecosystem.