# StatsMapped Public Data (pypi · statsmapped-mcp)

Public statistics for Ireland and the UK: housing, crime, health, economy, welfare, with caveats.

- Trust score: 85/100 (high trust)
- Change this week: +18
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `mcp.statsmapped.com`: 72/100, [markdown](https://verifymcp.io/servers/com-statsmapped-public-data/mcp.md), [page](https://verifymcp.io/servers/com-statsmapped-public-data/mcp)
- pypi · `statsmapped-mcp`: 85/100 (this document), [markdown](https://verifymcp.io/servers/com-statsmapped-public-data/statsmapped-mcp.md), [page](https://verifymcp.io/servers/com-statsmapped-public-data/statsmapped-mcp)

## Channel facts

- Registry: `pypi`
- Package: `statsmapped-mcp`
- Version: `0.3.2`
- 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-11-05.

- **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 31 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 97/100
  - Source repository is publicly reachable at the declared URL.
  - Cryptographically verified build provenance (signed, bound to ActiveGuy/statsmapped-mcp).
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 5 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 56/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1887 tokens (~471/item across 4 items; 4 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 73/100
  - Stability observed for 22 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 71/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 0% 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 4 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 4 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 StatsMapped Public Data MCP server?

StatsMapped Public Data runs locally as a PyPI package, launched with uvx statsmapped-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 com-statsmapped-public-data -- uvx statsmapped-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "com-statsmapped-public-data": {
      "command": "uvx",
      "args": [
        "statsmapped-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-statsmapped-public-data": {
      "command": "uvx",
      "args": [
        "statsmapped-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add com-statsmapped-public-data -- uvx statsmapped-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-statsmapped-public-data": {
      "type": "local",
      "command": [
        "uvx",
        "statsmapped-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-statsmapped-public-data --command uvx --arg statsmapped-mcp
```

### Hermes

```yaml
mcp_servers:
  com-statsmapped-public-data:
    command: "uvx"
    args: ["statsmapped-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "com-statsmapped-public-data": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "statsmapped-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-statsmapped-public-data -t stdio -c uvx -a statsmapped-mcp
```

### Other

```json
{
  "mcpServers": {
    "com-statsmapped-public-data": {
      "command": "uvx",
      "args": [
        "statsmapped-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-11-05 (score 85, +15)

- [security improvement] Malware scan: unverified → pass

### 2026-11-04 (score 70, −15)

- [security regression] Malware scan: pass → unverified

### 2026-11-03 (score 85, +16)

- [security improvement] Malware scan: unverified → pass

### 2026-11-02 (score 69, −15)

- [security regression] Malware scan: pass → unverified

### 2026-11-01 (score 84, +16)

- [security improvement] Malware scan: unverified → pass

### 2026-10-31 (score 68, −15)

- [security regression] Malware scan: pass → unverified

### 2026-10-30 (score 83, +16)

- [security improvement] Malware scan: unverified → pass

### 2026-10-28 (score 67, −14)

- [security regression] Malware scan: pass → unverified

## MCP tools (4)

### `query_data` (~522 tokens)

Three modes, depending on which of `area_id`/`dataset` are given --
consolidates what were three separate tools (list_datasets,
list_area_datasets, get_dataset_for_area) behind one, since they are all
really "how do I get data" at different levels of specificity:

1\. Neither `area_id` nor `dataset`: lists every dataset (stat) StatsMapped
   tracks for one country ('ireland' or 'united-kingdom'), with its key,
   human label, and which geography levels it can be shown at. Ireland and
   the UK track genuinely different datasets -- call this first for the
   right country before assuming a stat_key exists there, to find the
   right `stat_key` for `compare`'s ranking mode.
2\. `area_id` given, `dataset` omitted: lists every dataset available for
   that one area (e.g. "county:kerry" for Ireland, "uk:lad:e09000033" for
   the UK), with its latest figure, year-on-year change, and caveat labels
   only (not full caveat text -- use mode 3 for the full detail on any one
   dataset that matters). `area_id` comes from `list_areas`; `country`
   must match whichever country that call used, or this simply 404s
   ("unknown geography").
3\. Both `area_id` and `dataset` given: full detail for one dataset in one
   area -- the latest figure, a written summary, full caveat text, and (if
   \`history_months` is set) recent history. `dataset` is a `series_key`
   from mode 2's own response. `history_months` means actual months of
   history (0 = everything) -- e.g. 24 returns 2 years of an annual
   series, not 24 years. `country` must match `area_id`'s own country.

   \`dataset` and `history_months` are only meaningful together with
   \`area_id` (and, for `history_months`, `dataset` too, since it only
   applies to mode 3); giving either without its real precondition
   raises rather than silently dropping the argument and dispatching to
   the wrong mode.

Input parameters:

- `area_id`
- `country` (string)
- `dataset`
- `history_months` (integer)

Output parameters:

- `result`

### `list_areas` (~161 tokens)

List every geography at one boundary level, for one country ('ireland'
or 'united-kingdom'). `level` defaults to "county" (Ireland's 26 counties);
the UK's own primary level is "lad" (local authority districts), not
"county". Other levels exist per country (e.g. Ireland's "local_authority",
"garda_division") -- see a dataset's own `compatible_levels` from
\`query_data` for which levels a given stat is actually published at.
Returns each area's `id` (used by `query_data`'s area-scoped modes,
always paired with the SAME `country`) and `name`.

Input parameters:

- `country` (string)
- `level` (string)

Output parameters:

- `result` (array)

### `compare` (~1080 tokens)

Four modes, depending on which arguments are given -- consolidates what
were four separate tools (rank_areas, list_comparisons, get_comparison,
check_comparability) behind one, since they are all really "how does this
stat compare" at different scopes. Exactly one mode's arguments should be
given; mixing arguments from different modes (e.g. both `stat_key` and
\`pair_key`, or only one of `stat_key_a`/`stat_key_b`) raises an error
rather than silently guessing which mode was meant.

1\. `stat_key` alone (no `pair_key`, no `stat_key_a`/`stat_key_b`): ranks
   every area at one geography level by its latest figure for that stat,
   for one country -- e.g. "which counties have the highest median sale
   price" (country="ireland"). `stat_key` comes from `query_data`'s
   dataset-listing mode, for the SAME country. `level` omitted uses this
   ranking's own default level; pass one of that dataset's own
   \`compatible_levels` for a different one -- a level this ranking
   doesn't have registered returns an empty list rather than an error.
   Where the underlying stat has no honest per-area denominator (crime,
   homelessness, live_register and similar -- StatsMapped's own
   RANKING_NO_DENOMINATOR_STATS), each row's `rate_per_1000` is the real
   figure to rank/compare by, not `latest_value`, which is a raw count
   dominated by area population size. Always carry forward every entry
   in `caveats` when using a row in an answer.
2\. `pair_key` alone: full detail for one registered comparison pair --
   each axis's label, unit and publisher, the correlation stats (r, rho,
   and a leave-one-out sensitivity range naming the single most
   influential area), and caveats. `pair_key` comes from mode 4's own
   response, for the SAME country.
3\. Both `stat_key_a` and `stat_key_b` given: does StatsMapped have a
   registered, hand-vetted comparison between these two stats? Registry-
   backed only -- never computes a fresh correlation for an arbitrary
   pair. Both stat_keys come f…

Input parameters:

- `country` (string)
- `level`
- `pair_key`
- `stat_key`
- `stat_key_a`
- `stat_key_b`

Output parameters:

- `result`

### `explain_metric` (~124 tokens)

Definition, methodology and standing caveats for ONE stat ('ireland' or
'united-kingdom') -- never a current figure. Call this when the question is
about what a metric MEANS or how it's measured ("how is the claimant count
defined", "is this a mean or a median"), not about a specific area's value --
\`query_data`/`compare` already answer that. `stat_key` comes
from `query_data(country=...)` for the SAME country.

Input parameters:

- `country` (string)
- `stat_key` (string, required)

## Diagnostics

Captured diagnostic sections: Provenance, Install scripts, Dependencies. The full working is on the page: https://verifymcp.io/servers/com-statsmapped-public-data/statsmapped-mcp#diagnostics

## Score history

- 2026-11-05: 85
- 2026-11-04: 70
- 2026-11-03: 85
- 2026-11-02: 69
- 2026-11-01: 84
- 2026-10-31: 68
- 2026-10-30: 83
- 2026-10-29: 67
- 2026-10-28: 67
- 2026-10-27: 81
- 2026-10-26: 81
- 2026-10-25: 65
- 2026-10-24: 80
- 2026-10-23: 79
- 2026-10-22: 79
- 2026-10-21: 75
- 2026-10-20: 75
- 2026-10-19: 75
- 2026-10-18: 75
- 2026-10-17: 75
- 2026-10-16: 75
- 2026-10-15: 75
- 2026-10-14: 75
- 2026-10-13: 49
- 2026-10-12: 49

## Common questions

### What is the StatsMapped Public Data MCP server?

StatsMapped Public Data is an MCP server listed in the public MCP registry as com.statsmapped/public-data. Public statistics for Ireland and the UK: housing, crime, health, economy, welfare, with caveats. This page covers its PyPI package (statsmapped-mcp).

### Is the StatsMapped Public Data MCP server safe to use?

StatsMapped Public Data scores 85 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 5 November 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 StatsMapped Public Data MCP server expose?

StatsMapped Public Data exposes 4 tools: query_data, list_areas, compare, explain_metric. Their descriptions and schemas cost roughly 1,887 tokens of context every time the server is loaded.

### Is the StatsMapped Public Data MCP server still maintained?

StatsMapped Public Data is still listed as active in the MCP registry. We last reached this channel on 5 November 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 StatsMapped Public Data MCP server under?

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

### What did VerifyMCP test on the StatsMapped Public Data MCP server?

VerifyMCP ran 16 checks on StatsMapped Public Data, covering Malware scan, Known CVEs, Install scripts, Dependency health and 12 more. Endpoint Security and Transport & Reachability do not apply to a PyPI package, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.

## Links

- PyPI project: https://pypi.org/project/statsmapped-mcp/
- Socket report: https://socket.dev/pypi/package/statsmapped-mcp
- Repository: https://github.com/ActiveGuy/statsmapped-mcp
- Website: https://statsmapped.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-statsmapped-public-data/statsmapped-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-statsmapped-public-data/statsmapped-mcp/changelog.json
- Trust report (JSON): https://verifymcp.io/servers/com-statsmapped-public-data/statsmapped-mcp.json
- HTML version of this page: https://verifymcp.io/servers/com-statsmapped-public-data/statsmapped-mcp
