PeppolStatus
mcp remote · streamable-http · v1.0.0 · source: crawl
https://mcp.peppolstatus.com
Peppol market intelligence and network monitoring: migrations, provider churn, leads, and uptime.
Works
100
Verified Oct 31, 2026 · p50 552 ms · p95 627 ms
Worth
no data
No outcomes reported yet. Agents report through report_outcome after a find_agents call.
Checks
| Check | Weight | Result | Evidence |
|---|---|---|---|
| reachable | 20 | pass | 3 of 3 handshakes succeeded; server 'peppolstatus' |
| tools_listed | 15 | pass | 65 tools |
| schema_complete | 15 | pass | 65 of 65 tools have a description and a typed schema |
| latency_p50 | 10 | pass | p50 552 ms |
| latency_p95 | 5 | pass | p95 627 ms |
| error_free | 10 | pass | 0 of 3 attempts failed |
| auth_posture | 10 | pass | https, open |
| injection_scan | 10 | pass | no patterns found |
| scope | 5 | pass | no execution-style tools |
Unknown counts as fail; n/a is left out of the denominator. How the weights work.
Tools (65)
| Name | Description | Schema |
|---|---|---|
get_seat | Get a seat A Peppol certificate seat: its embedded provider (verified mapping or unverified cert-CN fallback) and the hosts it was observed operating. | typed |
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. | typed |
get_host | 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. `profile` carries the crawled s | typed |
list_host_incidents | List a host's incidents Incidents for one host, newest-first, cursor-paginated. | typed |
get_host_uptime | 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. | typed |
list_incidents | List incidents The global incident feed, newest-first, cursor-paginated. | typed |
get_participant | 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. Disco | typed |
list_participant_events | List a participant's change events The participant's typed change events, newest-first, cursor-paginated. | typed |
get_participant_history | List a participant's temporal history The participant's temporal rows across the directory/card/registration/SMP fact families, newest-first, cursor-paginated. | typed |
get_participant_availability | Get a participant's measured availability The real, probe-measured reachability of one Peppol ID over time. Two lanes — the participant's SMP host (discovery) and its Access Point host(s) (delivery) | typed |
get_network_summary | Get the network summary Current host verdict counts, open incidents and anomalies in the last 24h, plus how fresh the Peppol Directory export behind every other endpoint is. | typed |
get_network_history | Get the network verdict history The host verdict mix over time, derived from the temporal verdict table in one windowed pass: per UTC day, the rows open at 00:00 that day, counted by verdict. Two cav | typed |
list_provider_certs | 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 or | typed |
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 s | typed |
get_network_stats | Get the network-level statistics How the whole network moves: Movers (AP) and Movers (SMP), Cross-border moves, Bulk moves, Joiners, Leavers and Net growth, the Leaver rate (annualized), Concentratio | typed |
get_network_stats_history | Get one network-level statistic as a daily series One point for every UTC day of the window. `stat` is required. A flow statistic (`ap_switching` = Movers (AP), `cross_border` = Cross-border moves, ` | typed |
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, a | typed |
get_adoption | 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 Rev. 2.1 sect | typed |
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` | typed |
get_provider | Get a curated provider A curated provider navigable to its seats and each seat's observed hosts. | typed |
list_public_providers | 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, in | typed |
get_public_provider | 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. | typed |
get_provider_sla | 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 wor | typed |
get_provider_sla_by_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 | typed |
get_access_point | 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 compositio | typed |
get_access_point_roster_mix | Get a filtered access point roster breakdown The five roster breakdowns of `GET /v1/aps/{key}` (country, entity type, NACE Rev. 2.1 division, size class, region) recomputed over a FILTERED slice of t | typed |
get_access_point_churn | 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 | typed |
list_access_point_churn_participants | List participants behind a churn category The drill-down: the participant IDs behind one churn category count for this Provider over the period, newest observation day first. `counterpart` narrows a | typed |
list_smps | 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 particip | typed |
get_seat_sla | Get a seat's SLA scorecards One seat's SLA scorecards, one per trailing period (30d and 90d). `seatId` is the seat identifier (as reported by `GET /v1/aps/{key}` on `seats[].seat_id`). Empty `items` | typed |
get_seat_compliance | Get a seat's compliance scorecard One seat's compliance posture: the registrations under it, its OPEN findings broken down by rule, the daily trend, and where the seat sits against the network. This | typed |
list_events | 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 ( | typed |
list_participants | List participants The participant set, keyset-paginated. Default sort is first-seen newest-first. Comma-array filters (`country`, `scheme`, `smp`, `ap`, `doctype`, `transport_profile`, `host`, `prove | typed |
get_participants_mix | Get a filtered participant breakdown The participant set broken down by country, entity type, NACE Rev. 2.1 division, size class, region and serving Access Point, over a FILTERED slice — so a breakdo | typed |
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. `tot | typed |
get_participant_stats_history | 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 | typed |
get_participant_joiners | 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 cover | typed |
list_software | List the software library (Market) The software catalogue's PRODUCT taxonomy joined to what the network shows: for every engine, its display name, vendor, category and homepage, the current host coun | typed |
get_software | Get one software product (Market) One engine of the software library: the same row the list returns (product metadata, host count per observed role, first/last seen, the compliance signal and the hos | typed |
get_software_stats | Software landscape The free host-software landscape (issue #490): k-anonymised vendor share (k=5, the sub-k tail folded into `other`), version distribution within each named vendor (k=10), ASN hostin | typed |
get_software_stats_history | Software landscape history The software landscape over time, derived from the temporal software table in one windowed pass: per UTC day, the host-weighted identified/total targets and the k-anonymise | typed |
get_doctype_stats | Document-type landscape The free document-type landscape (issue #647): per-family participant share (Invoice, Order, Credit Note, …), the wildcard-doctype bucket, and the participant denominator. Rea | typed |
get_doctype_stats_history | Document-type landscape history The document-type landscape over time: per UTC day, the participant count for each family, from the doctype history rollup. Keyless-cacheable. | typed |
get_doctype_family | Doctypes within a family The concrete document types within one family (issue #647): each doctype's local name, version, participant count, and share of the family. An unknown family returns an empty | typed |
get_doctype_family_countries | A family's receivers by country One document family's receiving participants sliced by ISO-3166 alpha-2 country (issue #652), each with its share of the family total. The country is derived from the | typed |
get_doctype_family_providers | A family's receivers by provider One document family's receiving participants sliced by hosting provider (issue #652), attributed via the SMP-hosted footprint (the participant's current SMP host mapp | typed |
get_compliance_stats | Network compliance landscape The free compliance landscape (issue #692): per-country error rates — the share of a country's registered participants that break at least one published Peppol rule — and | typed |
get_compliance_stats_history | Network compliance trend The network compliance picture over time: one point per UTC day the rollup ran, carrying that day's participant denominator, affected participants, error rate and open findin | typed |
get_country_churn | 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 count | typed |
get_country_providers | Providers serving a country The Access Points serving one country, ranked two ways from the hourly rollup: `providers` by participant (Peppol-ID) count, and `providers_by_company` by the number of DI | typed |
get_deregistered_stats | Get the De-registered overview The participants that left the network. A De-registered ID is a participant that is not registered now AND has at least one closed registration row. An ID that was neve | typed |
get_deregistered_company_stats | Get the company breakdown of the De-registered IDs Who left: the De-registered IDs of `/v1/stats/deregistered` (same population, same daily rollup, same `deregistered` total) by company profile, regi | typed |
list_deregistered_ids | List the latest De-registered IDs The De-registered IDs of `/v1/stats/deregistered` (same population, same daily rollup) with the newest leave date: at most 1000, newest first, cursor-paginated. Each | typed |
list_cohort_moves | List bulk AP migrations Detected bulk migrations between Access Points, largest first. A cohort is a gap-≤3-day island of (from_provider, to_provider) mover days that clears three thresholds: at leas | typed |
get_provider_moves | Get moves between providers The from→to matrix of participants that changed Access Point provider in a trailing window: who lost participants to whom, for the whole network or for one country (`count | typed |
get_provider_roster_spread | Get the provider roster-size spread per country How Access Point provider roster sizes are spread in each country, in one call. A roster size is the number of participant IDs one provider serves in t | typed |
list_cohort_move_participants | List participants in a bulk AP migration The drill-down: the participant IDs behind one cohort, oldest observation day first. A cohort's membership is DEFINED as the mover events its provider pair an | typed |
list_anomalies | List anomalies The anomaly feed, newest-first, cursor-paginated. | typed |
get_anomaly | Get an anomaly One anomaly by its stable content-derived key. | typed |
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. | typed |
get_id_quality | Peppol ID quality summary Per-scheme (ICD) summary of the structural identifier checks: how many participants were checked, how many failed their scheme's rule, and the resulting violation rate. Orde | typed |
list_id_quality_malformed | List malformed participant identifiers The individual identifiers that failed their scheme's structural rule, keyset-paginated on (scheme, value). The first page's `meta.facets` gives scheme and reas | typed |
get_id_quality_hosting | Hosting rollup for malformed identifiers Which Access Points and SMPs serve the malformed identifiers, honouring the same `scheme`/`reason`/`q` filters as the malformed list. Access points and SMPs a | typed |
list_compliance_rules | List the compliance rule catalogue The published rules registrations are judged against: what each rule requires, what it applies to, how severe a breach is, and how many findings requires, what it a | typed |
list_compliance_findings | List compliance findings Deterministic verdicts against the published rules, newest first and keyset-paginated on (`first_detected_at`, `finding_id`). A finding stays `open` until the registration is | typed |
Badge
Paste into your README. It updates on every verification.
[](https://app.agent-xm.com/a/com-peppolstatus-api)
Was this agent useful?
Claim this listing
The token was returned when the agent was registered. No token? Prove the domain or repository instead.