Skip to main content
Glama
PostalDataPI

PostalDataPI MCP Server

by PostalDataPI
README.md
# PostalDataPI MCP Server

[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
[![PyPI](https://img.shields.io/pypi/v/postaldatapi-mcp.svg)](https://pypi.org/project/postaldatapi-mcp/)

MCP (Model Context Protocol) server for [PostalDataPI](https://postaldatapi.com) — lets AI agents look up, validate, and search postal codes across **240+ countries and territories** with rich metadata: timezone, administrative regions, elevation, and coordinates.

## Tools

| Tool | Description |
|------|-------------|
| `lookup_postal_code` | Get city, state/region, and abbreviation for a postal code (US ZIP, UK postcode, German PLZ, etc.) |
| `validate_postal_code` | Check if a postal code exists in a country |
| `search_by_city` | Find all postal codes for a city |
| `get_postal_code_metadata` | Full metadata: coordinates, admin hierarchy, timezone, elevation, and more |

## Setup

### 1. Get an API Key

Sign up at [postaldatapi.com/register](https://postaldatapi.com/register) — 1,000 free queries, no credit card required.

### 2. Install

```bash
pip install postaldatapi-mcp
```

### 3. Configure with Claude Code

```bash
claude mcp add --transport stdio postaldatapi -- \
  env POSTALDATAPI_KEY=your_api_key_here postaldatapi-mcp
```

### 4. Configure with Claude Desktop

Add to your Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):

```json
{
  "mcpServers": {
    "postaldatapi": {
      "command": "postaldatapi-mcp",
      "env": {
        "POSTALDATAPI_KEY": "your_api_key_here"
      }
    }
  }
}
```

## Usage

Once configured, ask Claude naturally:

- "What city is ZIP code 90210?"
- "Look up UK postcode SW1A"
- "Is 10115 a valid German postal code?"
- "What are the postal codes for Beverly Hills, CA?"
- "Get the coordinates for postal code 100-0001 in Japan"

Claude will automatically use the PostalDataPI tools to answer.

## Supported Countries

240+ countries and territories including US, UK, Canada, Germany, France, Japan, Australia, Brazil, India, and many more. See the full list at [postaldatapi.com/countries](https://postaldatapi.com/countries).

## Rich Metadata

Beyond basic lookups, the `get_postal_code_metadata` tool returns up to 18 fields per postal code including:

- **Coordinates** (latitude, longitude)
- **Timezone** (e.g., `America/Mexico_City`, `Europe/Berlin`)
- **Administrative hierarchy** (state/province, county, municipality)
- **Elevation** (meters above sea level)
- **Place name** and country information

Example response for Mexico City 06000:

```json
{
  "postalCode": "06000",
  "country": "MX",
  "placeName": "Centro",
  "latitude": 19.4364,
  "longitude": -99.1553,
  "timezone": "America/Mexico_City",
  "adminLevel1": "Ciudad de México",
  "adminLevel2": "Cuauhtémoc",
  "elevation": 2239
}
```

## Links

- [PostalDataPI](https://postaldatapi.com)
- [API Reference](https://postaldatapi.com/reference)
- [Documentation](https://docs.postaldatapi.com)
- [Python SDK](https://pypi.org/project/postaldatapi/)
- [Node.js SDK](https://www.npmjs.com/package/postaldatapi)

TDQS

A4.3/5.0

Scored across 4 tools

Disambiguation4/5

The tools have distinct primary purposes: get_postal_code_metadata for detailed geographic data, lookup_postal_code for basic address information, search_by_city for reverse lookup, and validate_postal_code for validation. However, get_postal_code_metadata and lookup_postal_code could be confused as both retrieve postal code information, though their descriptions clarify different use cases.

Naming Consistency5/5

All tool names follow a consistent snake_case pattern with clear verb_noun structure: get_postal_code_metadata, lookup_postal_code, search_by_city, validate_postal_code. The naming is predictable and readable throughout the set.

Tool Count5/5

With 4 tools, this is well-scoped for a postal code data server. Each tool serves a distinct function in the domain, and the count is appropriate for covering core operations without being overwhelming or insufficient.

Completeness4/5

The toolset covers key postal code operations: lookup, validation, reverse search, and metadata retrieval. A minor gap exists in lacking explicit update or delete operations, but these are not typically needed for a read-only data service, and agents can work effectively with the provided tools.

Maintenance

ActivityInactive
ResponsivenessNo issues