AgentXM

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.

AgentXM badge

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

CheckWeightResultEvidence
reachable20pass3 of 3 handshakes succeeded; server 'peppolstatus'
tools_listed15pass65 tools
schema_complete15pass65 of 65 tools have a description and a typed schema
latency_p5010passp50 552 ms
latency_p955passp95 627 ms
error_free10pass0 of 3 attempts failed
auth_posture10passhttps, open
injection_scan10passno patterns found
scope5passno execution-style tools

Unknown counts as fail; n/a is left out of the denominator. How the weights work.

Tools (65)

NameDescriptionSchema
get_seatGet 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_hostsList 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_hostGet 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 styped
list_host_incidentsList a host's incidents Incidents for one host, newest-first, cursor-paginated.typed
get_host_uptimeGet 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_incidentsList incidents The global incident feed, newest-first, cursor-paginated.typed
get_participantGet 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. Discotyped
list_participant_eventsList a participant's change events The participant's typed change events, newest-first, cursor-paginated.typed
get_participant_historyList 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_availabilityGet 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_summaryGet 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_historyGet 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 cavtyped
list_provider_certsGet 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 ortyped
list_access_pointsList 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 styped
get_network_statsGet 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), Concentratiotyped
get_network_stats_historyGet 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_summaryGet 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, atyped
get_adoptionGet 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 secttyped
list_providersList 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_providerGet a curated provider A curated provider navigable to its seats and each seat's observed hosts.typed
list_public_providersList 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, intyped
get_public_providerGet 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_slaList 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 wortyped
get_provider_sla_by_keyGet 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_pointGet 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 compositiotyped
get_access_point_roster_mixGet 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 ttyped
get_access_point_churnGet 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_participantsList 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_smpsList 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 participtyped
get_seat_slaGet 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_complianceGet 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_eventsList 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_participantsList participants The participant set, keyset-paginated. Default sort is first-seen newest-first. Comma-array filters (`country`, `scheme`, `smp`, `ap`, `doctype`, `transport_profile`, `host`, `provetyped
get_participants_mixGet 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 breakdotyped
get_participant_statsParticipant 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. `tottyped
get_participant_stats_historyParticipant 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 shippedtyped
get_participant_joinersNetwork 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 covertyped
list_softwareList 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 countyped
get_softwareGet 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 hostyped
get_software_statsSoftware 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 hostintyped
get_software_stats_historySoftware 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-anonymisetyped
get_doctype_statsDocument-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. Reatyped
get_doctype_stats_historyDocument-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_familyDoctypes 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 emptytyped
get_doctype_family_countriesA 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_providersA 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 mapptyped
get_compliance_statsNetwork 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 — andtyped
get_compliance_stats_historyNetwork 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 findintyped
get_country_churnPer-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 counttyped
get_country_providersProviders 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 DItyped
get_deregistered_statsGet 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 nevetyped
get_deregistered_company_statsGet 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, regityped
list_deregistered_idsList 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. Eachtyped
list_cohort_movesList 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 leastyped
get_provider_movesGet 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 (`counttyped
get_provider_roster_spreadGet 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 ttyped
list_cohort_move_participantsList 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 antyped
list_anomaliesList anomalies The anomaly feed, newest-first, cursor-paginated.typed
get_anomalyGet an anomaly One anomaly by its stable content-derived key.typed
get_sml_statusGet 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_qualityPeppol 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. Ordetyped
list_id_quality_malformedList 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 reastyped
get_id_quality_hostingHosting 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 atyped
list_compliance_rulesList 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 atyped
list_compliance_findingsList 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 istyped

Badge

Paste into your README. It updates on every verification.

[![AgentXM](https://app.agent-xm.com/badge/com-peppolstatus-api.svg)](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.