# CodePostalPro (remote · api.codepostalpro.com)

Postal lookups for 120 countries with cited sources; deep US tier: demographics, climate, area codes

- Trust score: 71/100 (medium)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-29

## Components

- remote · `api.codepostalpro.com`: 71/100 (this document), [markdown](https://verifymcp.io/servers/com-codepostalpro-postal-codes/api.md), [page](https://verifymcp.io/servers/com-codepostalpro-postal-codes/api)

## Channel facts

- Endpoint: `https://api.codepostalpro.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.1.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-29.

- **Endpoint Security**: 74/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 67/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 1214 tokens (~173/item across 7 items; 7 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 88/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 63% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 7 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 8 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### How do I install the CodePostalPro MCP server?

CodePostalPro is a hosted endpoint at https://api.codepostalpro.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-codepostalpro-postal-codes 'https://api.codepostalpro.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-codepostalpro-postal-codes": {
      "url": "https://api.codepostalpro.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-codepostalpro-postal-codes": {
      "type": "http",
      "url": "https://api.codepostalpro.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-codepostalpro-postal-codes]
url = "https://api.codepostalpro.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-codepostalpro-postal-codes": {
      "type": "remote",
      "url": "https://api.codepostalpro.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-codepostalpro-postal-codes --url 'https://api.codepostalpro.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-codepostalpro-postal-codes:
    url: "https://api.codepostalpro.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-codepostalpro-postal-codes": {
      "Transport": "http",
      "Url": "https://api.codepostalpro.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-codepostalpro-postal-codes -t streamable-http -u 'https://api.codepostalpro.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-codepostalpro-postal-codes": {
      "type": "http",
      "url": "https://api.codepostalpro.com/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-29 (score 71, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-28 (score 70, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-27 (score 70, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-25 (score 69, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-24 (score 69, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-23 (score 68, +1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “list_countries” rewrote its description, which is the text the model reads
- [security] Tool “lookup_postal_code” rewrote its description, which is the text the model reads
- [security] Tool “search_places” rewrote its description, which is the text the model reads

### 2026-09-22 (score 67, +7)

- [security improvement] Authorization: unverified → partial
- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “list_countries” rewrote its description, which is the text the model reads
- [security] Tool “search_places” rewrote its description, which is the text the model reads
- [security] Tool “lookup_postal_code” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 149 → 172
- [functional improvement] Stability: unverified → 0.03
- [functional] Server version: 1.0.0 → 1.1.0
- [cosmetic] Tool “area_code_lookup” changed its title: US area code lookup
- [cosmetic] Tool “get_group” changed its title: City & district details
- [cosmetic] Tool “get_region” changed its title: Region details
- [cosmetic] Tool “list_countries” changed its title: Covered countries
- [cosmetic] Tool “lookup_postal_code” changed its title: Postal code lookup
- [cosmetic] Tool “nearby_places” changed its title: Nearby postal codes
- [cosmetic] Tool “search_places” changed its title: Place search

### 2026-09-21 (score 60)

First indexed and scored.

## MCP tools (7)

### `lookup_postal_code` (~315 tokens)

Postal code lookup

Look up a postal code or US ZIP code. Returns every locality that carries the code with its city, county/administrative division, region (state, département, wilaya…), coordinates, IANA time zone, US telephone area codes, USDA 2023 plant hardiness / planting zone (e.g. 7b with its temperature band), and US Census demographics (population, density and land area, median household and per-capita income, median age, households, housing units, median home value, median gross rent — measured for the ZCTA, the Census approximation of the ZIP area). Each record lists its `sources` and a `verification` status (cross-checked | source-single | conflict | unverified); on `conflict`, `alternate_codes` gives the competing values and their sources — never pick one silently; tell the user both. Curated coverage (full records): United States (ZIP), Germany, Austria, Spain, France, Algeria, Tunisia, Morocco. All other countries (~115 more: GB, CA, IN, JP, MX, BR…) return bulk-tier records — place name, admin areas and coordinates from GeoNames, marked `tier: "bulk"` and single-source, without demographics.

Input parameters:

- `code` (string, required): The postal / ZIP code exactly as written, e.g. "90210", "75001", "16000"
- `country` (string, required): ISO 3166-1 alpha-2 code: US, FR, DZ, TN or MA

### `search_places` (~183 tokens)

Place search

Find localities by name, city name, or the beginning of a postal code. Use this when the user gives a place name and wants its postal code(s), or has a partial code. Results are ranked exact-name-first, then by population. Returns the same full records as lookup_postal_code. Restrict with `country` whenever it is known — names repeat across countries and states (there are many Springfields). With a non-curated `country` (GB, CA, JP…), searches the bulk GeoNames tier by place name or postal-code prefix.

Input parameters:

- `country` (string): Optional ISO code to restrict the search (US, FR, DZ, TN, MA)
- `limit` (integer): Max results, 1–100 (default 20)
- `query` (string, required): Place name or postal-code prefix, at least 2 characters

### `nearby_places` (~138 tokens)

Nearby postal codes

List localities around a latitude/longitude, nearest first, each with `distance_km`. Use it for "what ZIP codes are near…", "postal codes within 10 km of…", or to resolve coordinates to the closest postal code (the first result). Distances are to the locality centroid from the source data, not to a boundary.

Input parameters:

- `country` (string): Optional ISO code filter
- `lat` (number, required)
- `limit` (integer): 1–100, default 20
- `lon` (number, required)
- `radius_km` (number): 0.5–200, default 25

### `get_region` (~106 tokens)

Region details

A state, région, wilaya or governorate with the list of its cities / départements / delegations (names, slugs and their postal codes), plus for US states every telephone area code in use. Use the slugs it returns to call get_group or get_place. Region slugs are lower-case hyphenated names: "texas", "ile-de-france", "alger".

Input parameters:

- `country` (string, required)
- `region` (string, required): Region slug

### `get_group` (~115 tokens)

City & district details

A city (US), département (France), province (Morocco), post office (Algeria) or delegation (Tunisia) with all its localities / ZIP codes. For a US city this is the complete list of its ZIP codes with coordinates, time zone and area codes. Needs the region slug and the group slug (both from get_region or from any record's `region.slug` / `group.slug`).

Input parameters:

- `country` (string, required)
- `group` (string, required)
- `region` (string, required)

### `area_code_lookup` (~163 tokens)

US area code lookup

Where a US telephone area code is used: the state(s) it serves, the cities with the most ZIPs listing it, total ZIP and city counts, and `overlay_codes` — codes assigned to the same territory (e.g. 310 and 424 in west Los Angeles). Use it for "where is area code 310", "what area code is Denver" (via the city’s ZIPs instead), or to sanity-check a phone number’s geography. Caveat to relay: NANPA assigns codes to rate centres, matched here to cities — city-level accuracy, not a legal boundary, and a mobile number keeps its code when its owner moves.

Input parameters:

- `area_code` (string, required): Three-digit NANPA area code, e.g. "310"

### `list_countries` (~85 tokens)

Covered countries

Coverage overview: the eight curated countries with postal-code format, hierarchy labels (e.g. state › city › ZIP), key facts (capital, population, area, currency, calling code) and time zones — plus `bulk_tier` with per-country postal-code counts for the ~115 additional countries served from GeoNames. Call it once if unsure whether a country is covered.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-codepostalpro-postal-codes/api#diagnostics

## Score history

- 2026-09-29: 71
- 2026-09-28: 70
- 2026-09-27: 70
- 2026-09-26: 69
- 2026-09-25: 69
- 2026-09-24: 69
- 2026-09-23: 68
- 2026-09-22: 67
- 2026-09-21: 60

## Common questions

### What is the CodePostalPro MCP server?

CodePostalPro is an MCP server listed in the public MCP registry as com.codepostalpro/postal-codes. Postal lookups for 120 countries with cited sources; deep US tier: demographics, climate, area codes. This page covers its hosted endpoint (https://api.codepostalpro.com/mcp).

### Is the CodePostalPro MCP server safe to use?

CodePostalPro scores 71 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the CodePostalPro MCP server expose?

CodePostalPro exposes 7 tools: lookup_postal_code, search_places, nearby_places, get_region, get_group, and 2 more. Their descriptions and schemas cost roughly 1,105 tokens of context every time the server is loaded.

### Does the CodePostalPro MCP server require authentication?

No. We connected to CodePostalPro without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the CodePostalPro MCP server still maintained?

CodePostalPro is still listed as active in the MCP registry. We last reached this channel on 29 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://api.codepostalpro.com/mcp
- Website: https://codepostalpro.com/api/
- Changelog RSS feed: https://verifymcp.io/servers/com-codepostalpro-postal-codes/api.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-codepostalpro-postal-codes/api.json
- HTML version of this page: https://verifymcp.io/servers/com-codepostalpro-postal-codes/api
