# Nigeria Postcode (pypi · ng-postcode-mcp)

Validate, look up and resolve addresses to Nigeria's NIPOST digital postcodes (NDAPS).

- Trust score: 87/100 (high trust)
- Change this week: +53
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-10-17

## Components

- npm · `ng-postcode-mcp`: 87/100, [markdown](https://verifymcp.io/servers/adeniyikayodee-ng-postcode/ng-postcode-mcp-2.md), [page](https://verifymcp.io/servers/adeniyikayodee-ng-postcode/ng-postcode-mcp-2)
- pypi · `ng-postcode-mcp`: 87/100 (this document), [markdown](https://verifymcp.io/servers/adeniyikayodee-ng-postcode/ng-postcode-mcp.md), [page](https://verifymcp.io/servers/adeniyikayodee-ng-postcode/ng-postcode-mcp)

## Channel facts

- Registry: `pypi`
- Package: `ng-postcode-mcp`
- Version: `0.6.3`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, 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-10-17.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - Runs hatchling.build at install time, a recognised build step with no custom scripting around it.
  - 1 of 33 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 97/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to Adeniyikayodee/ng-postcode).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 0 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 75/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 708 tokens (~141/item across 5 items; 5 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 47/100
  - Stability observed for 14 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 5 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 6 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the Nigeria Postcode MCP server?

Nigeria Postcode runs locally as a PyPI package, launched with uvx ng-postcode-mcp. 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 adeniyikayodee-ng-postcode -- uvx ng-postcode-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "adeniyikayodee-ng-postcode": {
      "command": "uvx",
      "args": [
        "ng-postcode-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "adeniyikayodee-ng-postcode": {
      "command": "uvx",
      "args": [
        "ng-postcode-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add adeniyikayodee-ng-postcode -- uvx ng-postcode-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "adeniyikayodee-ng-postcode": {
      "type": "local",
      "command": [
        "uvx",
        "ng-postcode-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add adeniyikayodee-ng-postcode --command uvx --arg ng-postcode-mcp
```

### Hermes

```yaml
mcp_servers:
  adeniyikayodee-ng-postcode:
    command: "uvx"
    args: ["ng-postcode-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "adeniyikayodee-ng-postcode": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "ng-postcode-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add adeniyikayodee-ng-postcode -t stdio -c uvx -a ng-postcode-mcp
```

### Other

```json
{
  "mcpServers": {
    "adeniyikayodee-ng-postcode": {
      "command": "uvx",
      "args": [
        "ng-postcode-mcp"
      ]
    }
  }
}
```

## 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-10-16 (score 87, +1)

- [functional] Schema quality: good → excellent
- [functional] Package version: 0.6.2 → 0.6.3

### 2026-10-14 (score 86, +52)

- [security improvement] Injection markers: unverified → pass
- [security improvement] Malware scan: unverified → pass
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Stability: unverified → 0.37
- [functional improvement] Tool coverage: unverified → 100
- [functional] Schema quality: excellent → good

### 2026-10-12 (score 34, 0)

- [security improvement] Malware scan: unverified → pass
- [functional] Package version: 0.5.0 → 0.6.2
- [functional] Package version: 0.4.5 → 0.6.0

### 2026-10-07 (score 34, −32)

- [security regression] Stability: 0.03 → unverified
- [security regression] Tool safety: pass → unverified
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified
- [functional] Package version: 0.4.5 → 0.5.0

### 2026-10-04 (score 66, 0)

- [functional improvement] Stability: unverified → 0.03
- [functional] Package version: 0.4.3 → 0.4.5
- [functional] Package version: 0.4.3 → 0.4.4

### 2026-10-03 (score 66)

First indexed and scored.

## MCP tools (5)

### `validate_postcode` (~71 tokens)

Validate a Nigerian postcode

Check a Nigerian postcode's structure offline; return its canonical forms and segments.

Free and instant. Does not confirm the code is assigned to a building; use
lookup_postcode for that.

Input parameters:

- `postcode` (string, required): Code in any style, e.g. 'ek 01 a03 fk 01'.

Output parameters:

- `compact`: Compact form for storage, e.g. EK01A03FK01.
- `error`: Why the code is malformed.
- `postcode`: Canonical form, e.g. EK-01-A03-FK-01.
- `segments`
- `spaced`: Form shown to people, e.g. EK 01 A03 FK 01.
- `suggestion`: A well-formed code if look-alike characters (O/0, I/1, S/5, B/8) were the only problem. Confirm it with the user before using it.
- `valid` (boolean): Whether the code is well formed. It may still be unassigned.

### `lookup_postcode` (~95 tokens)

Look up a Nigerian postcode

Confirm a postcode is assigned to a building. Free.

Address and building details are a paid lookup, listed as its own tool only when
the server's NG_POSTCODE_MAX_LEVEL is 2 or more.

Input parameters:

- `level` (integer): Always 1. Address and building details are a separate paid tool.
- `postcode` (string, required): Code in any style, e.g. EK-01-A03-FK-01.

Output parameters:

- `administrative_address`: Level 2 and up.
- `building_use_status`: Level 3 and up, e.g. residential.
- `note`: Why the answer may be incomplete, such as a test key.
- `other_building_info`: Level 4 and up, unstructured.
- `point_geometry`: Level 5, unstructured.
- `postcode` (string)
- `recent_house_address`: Level 2 and up. Personal data.
- `status`: valid, not_found, or invalid for a malformed code.
- `valid` (boolean): Whether the code is assigned to a building.
- `verified`

### `autocomplete_postcode` (~76 tokens)

Autocomplete a Nigerian postcode

Suggest the next segment of a partly typed Nigerian postcode. Free.

Use it while a user is still typing or only knows the start of their code. For a
complete code, use validate_postcode, then lookup_postcode.

Input parameters:

- `partial` (string, required): The start of a code, e.g. 'EK 01 A'.

Output parameters:

- `segment`: The segment being completed.
- `suggestions` (array)

### `find_postcode_at_location` (~99 tokens)

Find the postcode at a location

Return the postcode of the nearest building to a coordinate in Nigeria.

Names and the house address are withheld unless NG_POSTCODE_MAX_LEVEL is 2 or more.

Input parameters:

- `latitude` (number, required): Latitude in decimal degrees, e.g. 7.6211.
- `longitude` (number, required): Longitude in decimal degrees, e.g. 5.2214.
- `max_distance_m`: Search radius in metres. Defaults to 25.

Output parameters:

- `area`: Enclosing area code, e.g. EK-01-A03-FK.
- `depth`: How deep the match goes, e.g. unit.
- `district`
- `found` (boolean): False when no building is within the radius.
- `message`
- `note`: Why the answer may be incomplete, such as a test key.
- `radius_m`: The radius the API actually applied.
- `state`
- `unit`

### `resolve_address` (~218 tokens)

Resolve a Nigerian address to a postcode

Turn a described Nigerian address into a postcode, only as precisely as the
evidence allows.

A full building code comes only from a postcode written in the address, a location
pin, or a landmark that is the address itself. Otherwise the result is an area or
district prefix with a `question` for the user. Read the address yourself and fill
\`landmarks` and `geocode_queries`; the address text is sent to the configured
geocoder.

Input parameters:

- `address` (string, required): The address exactly as the user gave it.
- `geocode_queries`: Up to three map search strings you derive from the address: named places and streets with the town and state, most specific first, without directional words like 'back of'.
- `landmarks`: Landmarks named in the address, each with how the address relates to it. Use 'at' only when the address is the landmark itself.
- `latitude`: Latitude of a location pin the user shared.
- `longitude`: Longitude of that pin. Give it with latitude.

Output parameters:

- `code`: A full postcode at building level, else a prefix.
- `confidence`
- `evidence` (array)
- `level`
- `method`
- `question`: What to ask the user to get a better answer.
- `status` (string)

## Diagnostics

Captured diagnostic sections: Provenance, Install scripts, Dependencies. The full working is on the page: https://verifymcp.io/servers/adeniyikayodee-ng-postcode/ng-postcode-mcp#diagnostics

## Score history

- 2026-10-17: 87
- 2026-10-16: 87
- 2026-10-15: 86
- 2026-10-14: 86
- 2026-10-13: 34
- 2026-10-12: 34
- 2026-10-07: 34
- 2026-10-04: 66
- 2026-10-03: 66

## Common questions

### What is the Nigeria Postcode MCP server?

Nigeria Postcode is an MCP server listed in the public MCP registry as io.github.Adeniyikayodee/ng-postcode. Validate, look up and resolve addresses to Nigeria's NIPOST digital postcodes (NDAPS). This page covers its PyPI package (ng-postcode-mcp).

### Is the Nigeria Postcode MCP server safe to use?

Nigeria Postcode scores 87 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 17 October 2026. Its build provenance is signed and verified. 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 Nigeria Postcode MCP server expose?

Nigeria Postcode exposes 5 tools: validate_postcode, lookup_postcode, autocomplete_postcode, find_postcode_at_location, resolve_address. Their descriptions and schemas cost roughly 559 tokens of context every time the server is loaded.

### Is the Nigeria Postcode MCP server still maintained?

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

### What licence is the Nigeria Postcode MCP server under?

Nigeria Postcode declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- PyPI project: https://pypi.org/project/ng-postcode-mcp/
- Socket report: https://socket.dev/pypi/package/ng-postcode-mcp
- Repository: https://github.com/Adeniyikayodee/ng-postcode
- Changelog RSS feed: https://verifymcp.io/servers/adeniyikayodee-ng-postcode/ng-postcode-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/adeniyikayodee-ng-postcode/ng-postcode-mcp.json
- HTML version of this page: https://verifymcp.io/servers/adeniyikayodee-ng-postcode/ng-postcode-mcp
