Novaposhta vs Postals MCP

A side-by-side look at the Novaposhta and Postals MCP MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Novaposhta logoNovaposhtaDelivery · Local subprocess (stdio)MCP Server for Nova Poshta API integration with AI assistants61GoodAuth: not declaredPostals MCP logoPostals MCPDelivery · Local subprocess (stdio)Send physical handwritten postcards from any AI agent. Real pen & ink, USPS, $4.99/card.55GoodAuth: not declared

Verdict: choose Novaposhta for delivery work as a local process; choose Postals MCP for delivery as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Novaposhta logoChoose Novaposhta when

  • You need dedicated capabilities in the Delivery domain.
  • You prefer a local stdio subprocess transport.
  • You have the keys it needs: NOVA_POSHTA_API_KEY.
  • You want tools like track_document, track_multiple_documents, track_multiple.
Explore Novaposhta

Postals MCP logoChoose Postals MCP when

  • You need dedicated capabilities in the Delivery domain.
  • You prefer a local stdio subprocess transport.
  • You have the keys it needs: POSTALS_API_KEY, POSTALS_SENDER_NAME, POSTALS_SENDER_ADDRESS, POSTALS_SENDER_CITY, POSTALS_SENDER_STATE, POSTALS_SENDER_ZIP, POSTALS_DEFAULT_CARD_IMAGE, POSTALS_TEST_MODE.
  • You want tools like send_postcard, generate_message.
Explore Postals MCP

Feature & specification comparison

Rows where the two servers differ are marked.

SpecNovaposhta logoNovaposhtaPostals MCP logoPostals MCP
CategoryDeliveryDelivery
Quality signal61/100 · Good55/100 · Good
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNot declaredNot declared
PricingNot declaredNot declared
Required env varsNOVA_POSHTA_API_KEYPOSTALS_API_KEYPOSTALS_SENDER_NAMEPOSTALS_SENDER_ADDRESSPOSTALS_SENDER_CITYPOSTALS_SENDER_STATEPOSTALS_SENDER_ZIPPOSTALS_DEFAULT_CARD_IMAGEPOSTALS_TEST_MODE
Verified ownerCommunity listingCommunity listing
GitHub stars72
Directory activity 1 views 0 installs 0 upvotes 1 views 0 installs 0 upvotes
Tools512

Tools & capabilities

Novaposhta tools 51

  • track_documentTrack a single Nova Poshta document by number and optional phone to receive live status, location, and ETA. Doc 1.2 describes the standard success/data/errors/warnings/info envelope returned by Nova Poshta, which this helper surfaces back to the caller.
  • track_multiple_documentsTrack multiple Nova Poshta documents at once and receive aggregated statistics. Doc 1.2 states every API call returns the same envelope, so use the success/errors/warnings fields here to mirror the native batch tracking response.
  • track_multipleTrack multiple Nova Poshta documents with organized results and statistics via TrackingDocument/getStatusDocuments (doc 1.2). Returns successful/failed tracking attempts with delivery statistics (delivered, in-transit, at-warehouse counts). More convenient than track_multiple_documents for batch operations.
  • get_document_movementGet movement history for up to 10 documents including statuses and timestamps. Doc 1.2 identifies InternetDocument numbers as the primary shipment identifiers, which this endpoint accepts in batches.
  • get_document_listList documents created in the given date range. Per doc 1.2, these queries target the InternetDocument model used for оформлення відправлень, so date filters help keep the success/data/errors response manageable.
  • address_get_settlementsGet settlement areas (областей) via Address/getSettlementAreas (doc 1.3). Returns list of administrative regions/areas in Ukraine. Docs recommend caching this public directory for 12 hours.
  • address_get_settlement_country_regionGet settlement country regions (регіонів) for a specific area via Address/getSettlementCountryRegion (doc 1.3). Returns list of regions within an administrative area. Requires areaRef parameter. Docs recommend caching for 12 hours.
  • address_search_citiesFind Nova Poshta cities by name or postal index using Address/getCities (doc 1.3). Docs note the city directory is public (no API key) but must be cached and refreshed daily because it exposes Area and Delivery1-Delivery7 flags. IMPORTANT: Always use limit parameter (recommended: 10) to avoid large responses.
  • address_search_settlementsSearch for settlements (city, town, village) with pagination over the same Address/getCities dataset described in doc 1.3 (Area + Delivery1-Delivery7 fields, daily refresh recommended). IMPORTANT: Always use limit parameter (recommended: 10) to avoid large responses.
  • address_search_streetsSearch for streets inside a settlement via Address/getStreet (doc 1.4). Used for door pickup/delivery flows, limited to 500 records per page, public but should be cached and refreshed daily. IMPORTANT: Always use limit parameter (recommended: 10) to avoid large responses.
  • address_get_warehousesList Nova Poshta warehouses (branches, postomats, pickup points) via Address/getWarehouses (doc 1.5). Docs emphasize caching the branch directory daily to leverage schedule arrays, max weight limits, and warehouse types without re-fetching thousands of rows. IMPORTANT: Always use limit parameter (recommended: 10-20) to avoid large responses.
  • address_saveCreate new address for a counterparty via Address/save (doc 1.24). Requires API key plus CounterpartyRef, StreetRef, BuildingNumber; response returns the Ref and Description needed for door-to-door delivery.
  • +39 more on the listing page

Postals MCP tools 2

  • send_postcardSend a physical handwritten postcard to a US mailing address. Postals prints it with real robotic handwriting (pen and ink) and mails it via USPS. Delivery in 3-5 business days. Cost: $4.99 per card. Provide the recipient's address, a message (max 400 chars), and optionally an image URL for the card front. If no image is provided, uses the configured default card.
  • generate_messageGenerate a personalized handwritten message for a postcard based on context about the recipient. Returns a ready-to-use message you can pass directly to send_postcard. Uses AI if Cloudflare credentials are configured (CLOUDFLARE_ACCOUNT_ID + CLOUDFLARE_API_TOKEN); otherwise returns a structured prompt you can use to compose the message yourself.

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Novaposhta

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "novaposhta": {
      "command": "npx",
      "args": [
        "-y",
        "@shopana/novaposhta-mcp-server"
      ],
      "env": {
        "NOVA_POSHTA_API_KEY": "YOUR_NOVA_POSHTA_API_KEY_HERE"
      }
    }
  }
}

Postals MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "postals-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "postals-mcp"
      ],
      "env": {
        "POSTALS_API_KEY": "YOUR_POSTALS_API_KEY_HERE",
        "POSTALS_SENDER_NAME": "YOUR_POSTALS_SENDER_NAME_HERE",
        "POSTALS_SENDER_ADDRESS": "YOUR_POSTALS_SENDER_ADDRESS_HERE",
        "POSTALS_SENDER_CITY": "YOUR_POSTALS_SENDER_CITY_HERE",
        "POSTALS_SENDER_STATE": "YOUR_POSTALS_SENDER_STATE_HERE",
        "POSTALS_SENDER_ZIP": "YOUR_POSTALS_SENDER_ZIP_HERE",
        "POSTALS_DEFAULT_CARD_IMAGE": "YOUR_POSTALS_DEFAULT_CARD_IMAGE_HERE",
        "POSTALS_TEST_MODE": "YOUR_POSTALS_TEST_MODE_HERE"
      }
    }
  }
}

Frequently asked questions

Novaposhta is categorized under Delivery and uses a local stdio subprocess. Postals MCP belongs to Delivery and uses a local stdio subprocess. Pick Novaposhta for delivery work and Postals MCP for delivery.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Novaposhta has no declared pricing — check the project's own site. Postals MCP has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add novaposhta and postals-mcp as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Novaposhta has a quality signal of 61/100 (Good) with 1 views, 0 installs and 7 GitHub stars. Postals MCP has 55/100 (Good) with 1 views, 0 installs and 2 GitHub stars.