MCP server exposing 3 tools for peppol.
This URL is a JSON-RPC 2.0 endpoint over HTTP. Issue POST requests with a JSON-RPC body. Browsers and search crawlers land here on GET.
POST https://gateway.pipeworx.io/peppol/mcp
Content-Type: application/json
{"jsonrpc":"2.0","id":1,"method":"tools/list"}
lookup_participant — Check whether a company is registered on the Peppol e-invoicing network and list every document type it accepts. Resolves the participant identifier through the Peppol SML (DNS/BDXL) to its SMP, then reads the SMP ServiceGroup — the authoritative registration check, keyless, no Peppol membership needed. Returns registered=false with the reason when the identifier has no SML record. Use search_participants first if you have a company name rather than an identifier.get_participant_endpoint — Get the AS4 delivery details a sender needs for one specific document type: transport profile, receiving endpoint URL, process identifier, and the service activation/expiration window. Call lookup_participant first to get the exact documentTypeId to pass here. An expired ServiceExpirationDate means the participant is listed but that document type is no longer deliverable.search_participants — Search the Peppol Directory (directory.peppol.eu, OpenPEPPOL's opt-in business-card index) by company name, VAT/organisation number or country to find a participant identifier. Use this to turn a company name into the "{schemeCode}:{value}" identifier that lookup_participant needs. Registration on the network does not require publishing a business card, so absence here is not proof a company is not on Peppol — confirm with lookup_participant.Code samples (curl / TypeScript / one-click client install), schemas, and the live playground are on the pack page:
https://pipeworx.io/packs/peppol/
Pipeworx is an open MCP gateway connecting AI agents to live data. pipeworx.io