Koskamo

Postals MCP

An MCP server that enables AI agents to send physical handwritten postcards via USPS. It handles image upload, card creation, robotic handwriting using real pen and ink, and mailing logistics. The service costs $4.99 per card with no subscriptions, supporting US and international delivery in 3-5 business days.

Package and access

Local package with source-attributed installation metadata. Koskamo does not execute packages during review.

Postals MCP logo, by coopergwrennCommunity listingLocal stdioSource reviewed; not executedPublished by coopergwrenn
Vendor documentation

Checks and signals

Each line is separate evidence, not a trust score.

  • Popularity 2 GitHub stars

What you can do with it

  • Send physical handwritten postcards from AI agents
  • Automate direct mail campaigns for lead generation
  • Generate and mail personalized cards with robotic handwriting

Source and maintenance

Community listingRegistry 1.0.0MIT
Last repository push
Maintenance checked

Packages and installation

Source-provided package data. Koskamo has not executed or live-probed this package.

postals-mcp 1.0.0

npm
postals-mcp package definition
{
  "version": "1.0.0",
  "transport": "stdio",
  "identifier": "postals-mcp",
  "registryType": "npm",
  "environmentVariables": [
    {
      "name": "POSTALS_API_KEY",
      "format": "string",
      "isRequired": true,
      "description": "Your Handwrytten API key (v1.0) or Postals API key (v1.1+)."
    },
    {
      "name": "POSTALS_SENDER_NAME",
      "format": "string",
      "description": "Default sender full name for return address."
    },
    {
      "name": "POSTALS_SENDER_ADDRESS",
      "format": "string",
      "description": "Default sender street address."
    },
    {
      "name": "POSTALS_SENDER_CITY",
      "format": "string",
      "description": "Default sender city."
    },
    {
      "name": "POSTALS_SENDER_STATE",
      "format": "string",
      "description": "Default sender 2-letter US state code."
    },
    {
      "name": "POSTALS_SENDER_ZIP",
      "format": "string",
      "description": "Default sender 5-digit ZIP (or 5+4 format)."
    },
    {
      "name": "POSTALS_DEFAULT_CARD_IMAGE",
      "format": "string",
      "description": "Default card front image URL (HTTPS, PNG or JPEG, landscape 7x5 preferred)."
    },
    {
      "name": "POSTALS_HANDWRITING_STYLE",
      "format": "string",
      "description": "Default handwriting font. Default: Joyful Jennifer."
    },
    {
      "name": "POSTALS_DAILY_LIMIT",
      "format": "string",
      "description": "Max cards per day (safety net). Default: 50."
    },
    {
      "name": "POSTALS_TEST_MODE",
      "format": "string",
      "description": "Set to 'true' for test mode (validates inputs, no cards actually sent)."
    },
    {
      "name": "CLOUDFLARE_ACCOUNT_ID",
      "format": "string",
      "description": "Optional. Enables AI message generation via Cloudflare Workers AI."
    },
    {
      "name": "CLOUDFLARE_API_TOKEN",
      "format": "string",
      "description": "Optional. Required together with CLOUDFLARE_ACCOUNT_ID for AI message generation."
    }
  ]
}

Tools

Reported by the attributed source; not independently observed by Koskamo.

No tool definitions available.

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · repository · passed · metadata changed · updated
  • · backfill · recorded · Pre-expansion baseline; unobserved rich metadata remains unknown

Connect from your client

Each snippet configures the same source-provided package; replace placeholders before use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Cursor

Merge this local stdio configuration, replace every placeholder environment value, and restart Cursor. Koskamo has not executed this package.
Cursor configuration
{
  "mcpServers": {
    "postals-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "postals-mcp@1.0.0"
      ],
      "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>"
      }
    }
  }
}

Cline

Merge this local stdio configuration, replace every placeholder environment value, and restart Cline. Koskamo has not executed this package.
Cline configuration
{
  "mcpServers": {
    "postals-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "postals-mcp@1.0.0"
      ],
      "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>"
      }
    }
  }
}

VS Code

Merge this local stdio configuration, replace every placeholder environment value, and restart VS Code. Koskamo has not executed this package.
VS Code configuration
{
  "servers": {
    "postals-mcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "postals-mcp@1.0.0"
      ],
      "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 Desktop

Merge this local stdio configuration, replace every placeholder environment value, and restart Claude Desktop. Koskamo has not executed this package.
Claude Desktop configuration
{
  "mcpServers": {
    "postals-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "postals-mcp@1.0.0"
      ],
      "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>"
      }
    }
  }
}

Let your agent find its tools

Find servers like Postals MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.