# The Cracks Index (remote · api.fynqo.app)

Read-only MCP server for The Cracks Index: ranks countries and regions on social-safety strength

- Trust score: 75/100 (medium)
- Change this week: +7
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `api.fynqo.app`: 75/100 (this document), [markdown](https://verifymcp.io/servers/johanvd75-byte-cracks-index/mcp-cracks.md), [page](https://verifymcp.io/servers/johanvd75-byte-cracks-index/mcp-cracks)

## Channel facts

- Endpoint: `https://api.fynqo.app/mcp/cracks/`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.1.2`

## 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-08-03.

- **Endpoint Security**: 80/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.
  - The HSTS (Strict-Transport-Security) header is present.
  - 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**: 69/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 2239 tokens (~149/item across 15 items; 15 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**: 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.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http johanvd75-byte-cracks-index https://api.fynqo.app/mcp/cracks/
```

### Codex

```toml
[mcp_servers.johanvd75-byte-cracks-index]
url = "https://api.fynqo.app/mcp/cracks/"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "johanvd75-byte-cracks-index": {
      "type": "remote",
      "url": "https://api.fynqo.app/mcp/cracks/",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add johanvd75-byte-cracks-index --url https://api.fynqo.app/mcp/cracks/ --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  johanvd75-byte-cracks-index:
    url: "https://api.fynqo.app/mcp/cracks/"
```

### Other

```json
{
  "mcpServers": {
    "johanvd75-byte-cracks-index": {
      "type": "http",
      "url": "https://api.fynqo.app/mcp/cracks/"
    }
  }
}
```

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-08-03 (score 75, +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-08-02 (score 74, 0)

- [functional] Server version: 1.28.1 → 1.29.0

### 2026-08-01 (score 74, +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-07-31 (score 73, +3)

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

### 2026-07-30 (score 70, +1)

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

### 2026-07-28 (score 69, +1)

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

### 2026-07-27 (score 68, +1)

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

### 2026-07-26 (score 67)

First indexed and scored.

## MCP tools (15)

### `get_cracks_index` (~21 tokens)

Country ranking

Return the full country ranking for the latest published snapshot.

### `compare_countries` (~84 tokens)

Compare countries

Compare the composite score and rank of several countries.

    ``iso3_list`` is a list of ISO-3166 alpha-3 country codes.

Input parameters:

- `iso3_list` (array, required): List of ISO-3166 alpha-3 country codes to compare side by side, e.g. ['NLD', 'DEU', 'FRA']. Case-insensitive.

### `country_detail` (~52 tokens)

Country detail

Return one country's score, rank and per-indicator breakdown.

Input parameters:

- `iso3` (string, required): ISO-3166 alpha-3 country code, e.g. 'NLD' for the Netherlands. Case-insensitive.

### `country_fix` (~94 tokens)

Country: highest-impact fix

Return the single highest-impact improvement for one country.

    The Cracks Index names, alongside each country's score, the one change
    most associated with the fastest improvement, turning a ranking into a
    constructive, actionable signal. Read-only, no personal data.

Input parameters:

- `iso3` (string, required): ISO-3166 alpha-3 country code, e.g. 'NLD' for the Netherlands. Case-insensitive.

### `get_regions` (~270 tokens)

List regions and municipalities

List sub-national areas in the Cracks Index, ranked within their level.

    The index covers sub-national areas as well as countries: EU regions
    (NUTS-2) and Dutch municipalities. This tool returns those areas with
    their composite score and rank.

    Parameters
    ----------
    level : optional
        Filter by area level: ``nuts2`` (EU regions) or ``gemeente`` (Dutch
        municipalities). Omit to return all sub-national areas.
    country_iso3 : optional
        ISO-3166 alpha-3 country code to restrict the list to one country's
        areas (e.g. ``NLD``).
    limit : optional
        Maximum number of areas to return (1-1000, default 200).

    Read-only, no personal data. Ranks are within the area's own level.

Input parameters:

- `country_iso3`: Optional ISO-3166 alpha-3 country code to restrict the result to one country's areas, e.g. 'NLD'.
- `level`: Filter by area level: 'nuts2' for EU NUTS-2 regions or 'municipality' for Dutch municipalities. Omit to include all levels.
- `limit` (integer): Maximum number of areas to return (default 200).

### `region_detail` (~146 tokens)

Region detail

Return one sub-national area: score, rank, indicator breakdown and fix.

    Given a region code (an EU NUTS-2 code or a Dutch municipality CBS
    GM-code), returns that area's composite score, its rank within its own
    level (regions rank against regions, municipalities against
    municipalities), the per-indicator breakdown and the single highest-impact
    improvement for the area.

    Read-only, no personal data.

Input parameters:

- `region_code` (string, required): Area code of an EU NUTS-2 region or Dutch municipality, e.g. 'NL32' (Noord-Holland) or 'GM0363' (Amsterdam). Case-insensitive.

### `improvement_guidance` (~231 tokens)

Improvement guidance

Return constructive improvement guidance for one area.

    Given an area identifier — an ISO-3166 alpha-3 country code, an EU
    NUTS-2 region code or a Dutch municipality CBS GM-code — returns that
    area's highest-impact improvement lever from the Cracks Index, together
    with Fynqo's approach to earlier, joined-up coordination and a link to
    the public "claim your score" page where an organisation can request a
    deeper local report.

    Read-only, no personal data. The lever is framed as "the change most
    associated with improvement". It is general, aggregated guidance, not
    policy, medical, legal or financial advice, and carries no promise of a
    guaranteed score gain (sales-engine §3.4, §5).

Input parameters:

- `area` (string, required): An ISO-3166 alpha-3 country code (e.g. 'NLD') or an area code of an EU NUTS-2 region or Dutch municipality (e.g. 'NL32', 'GM0363'). Case-insensitive.

### `methodology` (~20 tokens)

Methodology and sources

Return the index methodology: indicators, weights, direction, sources.

### `score_trends` (~166 tokens)

Score history over time

Return one area's composite-score history across every snapshot.

    Given an area identifier — an ISO-3166 alpha-3 country code, an EU
    NUTS-2 region code or a Dutch municipality CBS GM-code — walks every
    published Cracks Index snapshot and returns that area's composite score
    and rank at each point in time, plus the net change from the first to
    the most recent snapshot.

    Read-only, area-level aggregates only, no personal data.

Input parameters:

- `area` (string, required): An ISO-3166 alpha-3 country code (e.g. 'NLD') or an area code of an EU NUTS-2 region or Dutch municipality (e.g. 'NL32', 'GM0363'). Case-insensitive.

### `top_movers` (~170 tokens)

Biggest risers and fallers

Return the biggest risers and fallers between the two latest snapshots.

    Compares every area's composite score in the most recent snapshot
    against the snapshot before it and returns the areas that improved most
    (``improvers`` — score fell) and worsened most (``decliners`` — score
    rose). Needs at least two snapshots; returns an explanatory empty
    payload otherwise.

    Read-only, area-level aggregates only, no personal data.

Input parameters:

- `level` (string): Area level to rank movers within: 'country', 'nuts2' (EU regions) or 'gemeente' (Dutch municipalities). Defaults to 'country'.
- `limit` (integer): How many risers and how many fallers to return each (1-50, default 5).

### `indicator_ranking` (~207 tokens)

Rank areas by one indicator

Rank all areas by a single chosen indicator.

    Returns every area's value for one indicator, ordered best-first by the
    direction-corrected ``normalized_score`` (a higher normalised score
    always means fewer cracks on that indicator). The raw value and unit are
    included so the figure can be quoted directly.

    Read-only, area-level aggregates only, no personal data.

Input parameters:

- `indicator_key` (string, required): One of the six Cracks Index indicators: 'problem_debt', 'eviction_rate', 'mh_treatment_gap', 'youth_care_unmet', 'food_insecurity' or 'material_deprivation'. See the 'methodology' tool for definition…
- `level` (string): Area level to rank: 'country', 'nuts2' (EU regions) or 'gemeente' (Dutch municipalities). Defaults to 'country'.
- `limit` (integer): Maximum number of areas to return (1-500, default 200).

### `indicator_correlations` (~146 tokens)

Indicator correlations

Return pairwise correlations between the six indicators across areas.

    Computes the Pearson correlation coefficient between every pair of the
    six Cracks Index indicators, using each area's direction-corrected
    normalised score. Adds a short plain-language note naming the strongest
    relationship. A coefficient near +1 means areas that do well on one
    indicator tend to do well on the other; near -1 means the opposite.

    Read-only, area-level aggregates only, no personal data.

Input parameters:

- `level` (string): Area level to correlate over: 'country', 'nuts2' (EU regions) or 'gemeente' (Dutch municipalities). Defaults to 'country'.

### `area_statistics` (~162 tokens)

Where an area sits statistically

Return where one area sits statistically within its own level.

    Places an area against its peer group (all areas at the same level in
    the latest snapshot): its percentile, the distance from its composite
    score to the level median, best and worst, and the handful of areas
    nearest to it by score. Useful for answering "is this area typical, or
    an outlier?".

    Read-only, area-level aggregates only, no personal data.

Input parameters:

- `area` (string, required): An ISO-3166 alpha-3 country code (e.g. 'NLD') or an area code of an EU NUTS-2 region or Dutch municipality (e.g. 'NL32', 'GM0363'). Case-insensitive.

### `gemeente_social_profile` (~191 tokens)

Dutch municipality: social-domain profile

Return the Dutch social-domain profile for one municipality.

    Given a CBS GM-code, returns that municipality's four v1 social-domain
    indicators — social-assistance receipt, modelled homelessness, Wmo use
    and youth-care use — each with its raw value, source and whether it was
    measured or modelled. The composite score and rank are included for
    context, alongside the v0-equivalent score.

    Read-only, no personal data. wmo_pressure and youth_care_load are context
    only — never folded into the score. CBS aggregates describe an area, not
    its quality. Netherlands-only: the deeper municipal layer exists for
    Dutch municipalities.

Input parameters:

- `region_code` (string, required): CBS GM-code of a Dutch municipality, e.g. 'GM0363' (Amsterdam) or 'GM0599' (Rotterdam). Case-insensitive.

### `compare_gemeenten` (~158 tokens)

Compare Dutch municipalities on the social domain

Compare the social-domain profile of several Dutch municipalities.

    Given two to six CBS GM-codes, returns a side-by-side comparison of their
    four v1 social-domain indicators plus composite score and rank. Useful
    for an agent answering "how does municipality A compare to B on the
    social domain".

    Read-only, no personal data. wmo_pressure and youth_care_load are context
    only — shown but never scored. CBS aggregates describe an area, not its
    quality. Netherlands-only.

Input parameters:

- `region_codes` (string, required): Two to six CBS GM-codes of Dutch municipalities, comma-separated, e.g. 'GM0363,GM0599,GM0518'. Case-insensitive.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/johanvd75-byte-cracks-index/mcp-cracks#diagnostics

## Score history

- 2026-08-03: 75
- 2026-08-02: 74
- 2026-08-01: 74
- 2026-07-31: 73
- 2026-07-30: 70
- 2026-07-29: 69
- 2026-07-28: 69
- 2026-07-27: 68
- 2026-07-26: 67

## Links

- Remote endpoint: https://api.fynqo.app/mcp/cracks/
- Repository: https://github.com/johanvd75-byte/Fynqo
- Website: https://fynqo.app/cracks-index
- Changelog RSS feed: https://verifymcp.io/servers/johanvd75-byte-cracks-index/mcp-cracks/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/johanvd75-byte-cracks-index/mcp-cracks/changelog.json
- HTML version of this page: https://verifymcp.io/servers/johanvd75-byte-cracks-index/mcp-cracks
