Skip to main content

AI & Agent Integration

efsta provides an MCP server that lets AI coding assistants answer EFR integration questions from efsta's own specification and documentation instead of guessing. Your assistant can look up which fields a business case needs in a given country, get a complete request example, and check a /register payload before you send it to an EFR.

Server URLhttps://mcp.docs.efsta.eu/mcp
TransportStreamable HTTP
AuthenticationNone. The server only serves public documentation.
Rate limit120 requests per minute per IP address

What the assistant can do​

ToolUse it for
get_register_case_requirementsWhich fields a business case (sale, refund, void, invoice, Z-report, …) needs, optionally for one country: fields required everywhere, fields mandatory only in that country, and fields that do not apply there
get_case_exampleA complete, valid /register request for a business case, in JSON or XML
validate_register_payloadChecks a JSON request body against the specification. Errors name the business case whose rule failed; country-specific rules come back as warnings
search_efsta_docs, fetch_docFinds and reads the relevant documentation pages
list_endpoints, get_endpoint_schemaThe published EFR endpoints and their request and response schemas

The EFR has one API for all countries: every transaction goes through POST /register, and the business case follows from the fields you send (see Business Cases). The answers come from the same model that generates the OpenAPI reference, so they always match the published specification.

Connect your assistant​

Claude Code​

claude mcp add --transport http efsta-docs https://mcp.docs.efsta.eu/mcp

To share the configuration with your team, add it to .mcp.json in your repository instead:

{
"mcpServers": {
"efsta-docs": { "type": "http", "url": "https://mcp.docs.efsta.eu/mcp" }
}
}

Cursor​

Add the server to .cursor/mcp.json in your project (or ~/.cursor/mcp.json for all projects):

{
"mcpServers": {
"efsta-docs": { "url": "https://mcp.docs.efsta.eu/mcp" }
}
}

GitHub Copilot (VS Code)​

Add the server to .vscode/mcp.json in your project, then start it from the file or the MCP view and use Copilot Chat in agent mode:

{
"servers": {
"efsta-docs": { "type": "http", "url": "https://mcp.docs.efsta.eu/mcp" }
}
}

Example questions​

  • "Which fields does a refund need in Portugal?"
  • "Show me a complete XML request for a void."
  • "Validate this /register payload for a German EFR: …"
  • "How do I re-send a transaction after the POS crashed?"
  • "Which fields are mandatory for invoices?"

Data and privacy​

The server is read-only and has no access to customer, tenant or transaction data. It answers from the public documentation only.

Payloads you validate are checked in memory and are not stored or logged. We record which tool was called, the argument names and types, and the response time, never the argument values, to learn which questions integrators ask. Still, use test data rather than real customer data in payloads you validate.