mcp server
PeppolStatus
Peppol market intelligence and network monitoring: migrations, provider churn, leads, and uptime.
Description as published by the maintainer. Source
- version 1.0.0
- active
- code migration
active — Registry entry last updated 2026-08-06. Dashed tags are derived by ZBS Index from the published description, not stated by the maintainer.
What this server can do
33 functions, named and described by the server itself. Parameter names are shown because they say more about what a function does than its name usually does.
get_access_point(key)- Get an access point One Provider's detail: display name, verified flag, member seats (each with its embedded provider or unverified cert-CN), roster size, and the country + document-scheme composition of its roster. A request for a STALE key (a seat since curated, so its old unverified key left the directory) resolves to the current Provider; the returned `key` is always the canonical current one. Required: key.
get_access_point_churn(to, key, from)- Get an access point's churn An Access Point's joiner / mover / leaver activity over a period: a daily category series with derived net growth, period totals, and the 'won from / lost to' counterpart breakdown. Joiners are first-ever serving seats (from 2026-08-02 onward, first-full-deep-sweep completion); movers change Provider (both sides resolved to the current identity); leavers deregister while served. Defaults to the trailing 30 days. Required: key.
get_adoption(country)- Get a country's adoption aggregates Peppol adoption for one country as one bare object: headline totals (universe, on_peppol, penetration), the single-dimension cuts (sector with a NACE section rollup, region, FR-only département + size class, BE-only province + postcode + mandate scope, legal-form family, and company age), the same categorical cuts cross-tabbed by company-age band (`cuts_by_age`), and the trend (monthly new adopters plus per-run penetration history). Region cells carry ISO 3166-2 (BE) / INSEE région (FR) codes and sector cells the NACE division code, so the choropleth joins geometry with no string matching. Numerator cells below 10 matched companies are suppressed (`on_peppol`/`penetration` null, `suppressed` true); denominators are never suppressed. Cached for a day (data moves monthly). Required: country.
get_anomaly(id)- Get an anomaly One anomaly by its stable content-derived key. Required: id.
get_country_churn(to, code, from)- Per-country participant churn New (joiner) vs departed (leaver) participants for one country, as a daily series and an all-time monthly rollup, from the hourly churn rollup. A valid but unknown country returns empty arrays. Keyless-cacheable. Required: code.
get_host(at, hostname)- Get a host's current state Current role, verdict, network attribution (IPs/PTR), TLS certificate and operating provider for a host. `?at=` returns point-in-time state. Required: hostname.
get_host_uptime(to, from, limit, cursor, hostname, location, resolution)- Get a host's uptime aggregates The aggregate ladder for a host at a chosen resolution, per-location plus the `__all__` rollup, optionally windowed by `[from, to)`, cursor-paginated. Required: hostname.
get_network_summary- Get the network summary Current host verdict counts, open incidents and anomalies in the last 24h.
get_participant(id)- Get a participant's current state Directory presence, SML registration + current SMP, business card, the company-register enrichment block, endpoints and serving seats for a Peppol participant. Discovered participants carry no card; unmatched participants carry company: null. Required: id.
get_participant_history(id, limit, cursor)- List a participant's temporal history The participant's temporal rows across the directory/card/registration/SMP fact families, newest-first, cursor-paginated. Required: id.
get_participant_joiners(bucket)- Network joiners curve The real onboarding curve (issue #222): joiner counts bucketed by derived network join date (business-card RegistrationDate, else genuine first-seen), with a whole-network coverage split (registration_date / first_seen / unknown). The unknown/seed tail is reported in `coverage` only, never folded into a bucket. Keyless-cacheable.
get_participant_stats- Participant facet stats Global participant facet counts (per country/scheme/smp/ap/doctype/transport_profile, registered share, provenance split) plus an estimated total, from the hourly rollup. Keyless-cacheable — safe for the marketing site to hit directly.
get_participant_stats_history(to, key, from, limit, dimension)- Participant facet history A daily time series over one participant facet dimension (adoption curves / QoQ trends), from daily snapshots of the rollup. History accrues from the day the feature shipped. Keyless-cacheable. Required: dimension.
get_provider(slug)- Get a curated provider A curated provider navigable to its seats and each seat's observed hosts. Required: slug.
get_provider_sla(period)- List provider SLA scorecards Per-provider SLA scorecards for one trailing period: checks-weighted uptime across each provider's mapped hosts, incident count, total downtime minutes and the single worst host. Ordered worst uptime first (providers with no checks in the window last). Materialized hourly by the batch runner. Not paginated (the envelope's `next_cursor` is always null).
get_provider_sla_by_key(key)- Get a provider's SLA scorecards One provider's SLA scorecards, one per trailing period (30d and 90d). `key` is the provider's natural key (as reported by `GET /v1/providers`). Empty `items` when the provider has no SLA data yet. Required: key.
get_public_provider(slug)- Get a public provider profile The FREE, crawlable public subset for one curated provider (same shape as a `GET /v1/providers/public` item). Reachable with no API key. Required: slug.
get_seat(seatId)- Get a seat A Peppol certificate seat: its embedded provider (verified mapping or unverified cert-CN fallback) and the hosts it was observed operating. Required: seatId.
get_sml_status- Get SML/SMK zone status One entry per monitored zone: quorum verdict, per-location canary breakdown, DNAME cutover state, management-host TLS snapshot and zone incidents.
get_summary- Get the public dashboard summary The free marketing-dashboard rollup: the network-wide host rollup (fleet count + mean uptime/latency), the hourly fleet-average p50 latency trend over the last 24h, and the top-10 providers by market share (0..1 fraction). No host list, full registry or arbitrary per-host uptime is exposed.
list_access_point_churn_participants(to, key, from, category)- List participants behind a churn category The drill-down: the participant IDs behind one churn category count for this Provider over the period. Bounded to 500 rows (never paginated; next_cursor null). Required: key, category.
list_access_points- List access points The Access Point directory: every Provider in its serving role, with its member seats and roster size (current participant count), busiest first. A Provider is resolved from each seat with the precedence curated mapping (verified) → exact signing-cert `O=` string (unverified) → bare SeatID. Not paginated (the envelope's `next_cursor` is always null).
list_anomalies(host, seat, grade, limit, since, cursor, detector, acknowledged)- List anomalies The anomaly feed, newest-first, cursor-paginated.
list_events(host, seat, type, limit, since, until, cursor, participant, prev_cursor)- List global change events Every typed change event, newest-first, cursor-paginated. Any anomaly an event triggered is embedded on it. `cursor` walks older events; `prev_cursor` walks the newer edge (for live polling). The first page carries a `meta` block with exact type facets + filter count and an auto-bucketed timeline chart.
list_host_incidents(limit, since, cursor, status, hostname)- List a host's incidents Incidents for one host, newest-first, cursor-paginated. Required: hostname.
list_hosts- List monitored hosts Every monitored host with its current verdict, latest hourly all-locations latency and 24h uptime, worst-first, plus a network-wide rollup.
list_incidents(host, limit, since, cursor, status)- List incidents The global incident feed, newest-first, cursor-paginated.
list_participant_events(id, limit, cursor)- List a participant's change events The participant's typed change events, newest-first, cursor-paginated. Required: id.
list_participants(q, ap, smp, size, sort, limit, cursor, region, scheme, sector, country, doctype, postcode, provenance, registered, vat_liable, entity_type, transport_profile)- List participants The participant set, keyset-paginated. Default sort is first-seen newest-first. Comma-array filters (`country`, `scheme`, `smp`, `ap`, `doctype`, `transport_profile`, `provenance`, and the company-register cuts `entity_type`, `sector`, `size`, `region`, `postcode`), `registered` + `vat_liable` booleans, and a smart `q` (a `scheme::value`/bare value hits the ID index; free text runs a trigram name-contains). First-page `meta` carries estimated totals and rollup facets; `meta.filter_count` is a bounded exact count that degrades to null (never an error) if it exceeds the query timeout. Discovered participants carry no name/card fields (privacy).
list_provider_certs(slug)- Get a provider's certificate posture A curated provider's whole-fleet certificate posture in one call: per-Seat cert counts, soonest expiry, expired / expiring-within-30-days counts, observed cert organisations and last identity shift, plus the rolled-up fleet summary. Required: slug.
list_providers- List providers The OpenPeppol member registry with role flags, country, mapped hostnames and per-provider participant counts (market share), busiest first. Not paginated (the envelope's `next_cursor` is always null).
list_public_providers(limit)- List public provider profiles The FREE, crawlable public subset for each curated provider, busiest first: identity + role flags, the seat-directory columns (legal entity, commercial name, website, infra provider, hosting), mapped hostnames, participant count, roster country mix, the 30d/90d uptime headline, a cert-health summary and an `as_of` freshness stamp. Reachable with no API key. `limit` clamps to [1, 500] (default 100). Not paginated (the envelope's `next_cursor` is always null).
list_smps(q, limit)- List SMPs The SMP directory: every current SMP hostname with the seat(s) and provider that sign its metadata, busiest first. A hostname is listed if it currently homes participants (from the participant rollup's `smp` facet) or carries an open `smp-signing` certificate. `participant_count` comes from that bounded top-N facet, so a hostname with a signing cert but outside the top-N carries a null count (unknown), not zero. The provider is resolved from the most-recent open signing cert with the precedence curated mapping (verified) → unverified cert-CN — the same as `/v1/aps`. Not paginated (the envelope's `next_cursor` is always null).
Last successful function declaration observed on . Source: https://mcp.peppolstatus.com. We list what the server declared; we do not call any of these functions.
Endpoint status observed on . Source: https://mcp.peppolstatus.com.
Signals
These are separate measurements of different things. They are deliberately not combined into one score, because a popularity number that mixes website traffic with saves and stars cannot be checked or acted on.
| Signal | Value | What it measures | Window | Observed | Source |
|---|---|---|---|---|---|
| Latest published version | 1.0.0 | Latest version string the maintainer published to the registry. | as of fetch | Model Context Protocol | |
| Registry record last updated | 2026-08-06 | When the registry record was last updated by its maintainer. | point in time | Model Context Protocol | |
| First listed in the MCP Registry | 2026-08-06 | Date this server was first published to the official MCP Registry. Not a usage or quality measure. | point in time | Model Context Protocol | |
| mcp tools declared | 33 tools | Number of functions the server itself declared when asked to list them. This is what the server offers an agent, not a measure of how well any of them work. | as of probe | mcp.peppolstatus.com | |
| mcp endpoint status | ok | The server listed 33 functions when asked. | as of probe | mcp.peppolstatus.com |
Where to get it
This record as data
Every field on this page, with its source and observation date, is in the catalog JSON. Fetch the whole kind at once instead of parsing this HTML.
GET /api/v1/entries/mcp_server.json