Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Peppol e-invoicing: look up participants, validate invoices, and send sandbox test invoices.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://api.getpeppr.dev/mcpRun this in your terminal
claude mcp add --transport http getpeppr https://api.getpeppr.dev/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"getpeppr": {
"url": "https://api.getpeppr.dev/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"getpeppr": {
"type": "http",
"url": "https://api.getpeppr.dev/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://api.getpeppr.dev/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Tool names and descriptions exactly as the server reported them on Nov 6, 2026. The maker wrote them, not us; we show them as plain text.
plan_integrationReturns the integration steps, code snippets and documentation links for adding Peppol to an application, for a single sender or for a platform that sends on behalf of its customers.
search_docsSearches the prose of the public getpeppr documentation and returns up to 5 matching pages, each with its url and a short excerpt. Excerpts carry no code: open the returned url, or call plan_integration, for code.
validate_invoiceValidates a Peppol BIS Billing 3.0 UBL document against the Peppol rules, or a getpeppr invoice JSON against the SDK rules, and explains each violation. It does not check whether the invoice can be sent. Send sample or test invoices only, never a real invoice or real people's dat
lookup_participantSays whether a Peppol identifier (scheme:identifier) is registered to receive documents on the production Peppol network, and which ones. A sandbox test customer is never on it, and send_test_invoice only targets the test receiver 9925:BE0314595348 whatever this answers.
create_test_customerPlatform accounts only: creates a test customer (sub-tenant legal entity) in the getpeppr sandbox and returns its registration state. Up to 10 active test customers per account; identifier rules per country: https://getpeppr.dev/docs/platform/legal-entities/. Calling it again wit
send_test_invoiceSends an invoice in the getpeppr sandbox to the Belgian test receiver 9925:BE0314595348, for your own company or for one of your test customers. Never sends a real invoice. Lines without tax fields get your account's sandbox tax profile. While your sandbox tax profile is unchange
get_document_statusReturns the status and lifecycle events of a sandbox document sent from your getpeppr account; call it with the documentId send_test_invoice returned. submitted: getpeppr accepted it. delivered: the test receiver's access point received it, the goal of a sandbox test. failed: fin
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026
The registry name was verified against the domain getpeppr.dev (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 360 ms (HTTP 200)
No sign-in needed
Read 7 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.0.3) reached the registry today.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, Rystic
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Start, seed, clock, inspect and diff Rystic API simulators from your agent.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
A hosted Model Context Protocol server for Peppol e-invoicing, run by getpeppr.
Your assistant can plan a getpeppr integration, search the getpeppr documentation, check a test invoice against the Peppol rules and look up a participant on the Peppol network. With a free getpeppr sandbox account, it can also send test invoices and follow their status.
This repository holds no source code. The server is hosted and operated by getpeppr (Zero Loop Labs Ltd, UK). This repository describes it for MCP registries and directories. Nothing to install: you add an address to your assistant.
Full documentation: https://getpeppr.dev/docs/mcp/
Sandbox only. The server never sends a real invoice and never acts in production. Test invoices go to the sandbox test receiver
9925:BE0314595348, and a production key (sk_live_…) is refused: keep it out of your assistant's configuration. The participant lookup, on the other hand, reads the live Peppol network.
Registry name: dev.getpeppr/mcp · transport: streamable HTTP.
| Address | When to use it |
|---|---|
https://api.getpeppr.dev/mcp | The four public tools work at once, without an account. The account tools ask you to sign in the first time you use one. For clients that open a sign-in page when a tool asks, such as Claude Code and Codex. |
https://api.getpeppr.dev/mcp/auth | Asks you to sign in to getpeppr when you connect. For clients that sign in at connection time, such as VS Code, Cursor and Claude (web & desktop). |
Add to .vscode/mcp.json in your workspace, or to your user mcp.json:
{
"servers": { "getpeppr": { "type": "http", "url": "https://api.getpeppr.dev/mcp/auth" } } }
Or from a terminal:
code --add-mcp '{"name":"getpeppr","type":"http","url":"https://api.getpeppr.dev/mcp/auth"}'
VS Code asks you to sign in to getpeppr when it connects.
claude mcp add --transport http getpeppr https://api.getpeppr.dev/mcp
When you first call an account tool, run /mcp in Claude Code and sign in to getpeppr.
codex mcp add getpeppr --url https://api.getpeppr.dev/mcp
codex mcp login getpeppr
Run the login before using the account tools.
Both connect through https://api.getpeppr.dev/mcp/auth. getpeppr is also listed in Claude's connector directory. See the documentation for the one-click Cursor install.
Signing in uses your getpeppr account; there is no API key to copy. You choose the organisation the assistant acts for. You can also pass a sandbox API key (sk_sandbox_…) as a bearer token instead of signing in.
No account yet? Create a free sandbox account.
| Tool | Account | What it does |
|---|---|---|
lookup_participant | No | Whether an identifier is registered on the production Peppol network, with which provider, and what the directory says about it. |
validate_invoice | No | Checks a UBL document against the official Peppol rulebooks, or a JSON invoice against the getpeppr SDK's rules. Give it sample or test invoices only, never a real invoice or real people's data. |
plan_integration | No | The steps and code for your case (your own company, or a platform sending for customers) and your countries. |
search_docs | No | Finds getpeppr documentation pages, each with a short excerpt. |
send_test_invoice | Yes, writes (sandbox) | Sends a sandbox invoice to the sandbox test receiver 9925:BE0314595348. |
get_document_status | Yes, reads | The status of one of your documents and its event timeline. |
create_test_customer | Yes, writes (sandbox) | Platform accounts: creates a sandbox customer company to send as. |
plan_integration gives the steps and code for your case; search_docs finds the pages to read.validate_invoice and lookup_participant work without an account.send_test_invoice sends to the sandbox test receiver. Platform accounts first call create_test_customer, then send as that customer.get_document_status follows the document until it is delivered or failed.Going live (an sk_live_ key, real receivers, webhooks) happens in the getpeppr console and in your own code, never through this server.
Public tools are rate limited per network address, and account tools per account. getpeppr can turn the MCP tools off without notice to protect the service; they then answer mcp.temporarily_disabled, and the API itself is not affected. Details: Limits.