Skip to content

MCP Server

The fiskaly-docs MCP server gives AI coding assistants direct access to fiskaly documentation, OpenAPI specifications, product metadata, and error codes — without web scraping or manual lookups.

It implements the Model Context Protocol (MCP) and exposes 9 tools that any MCP-compatible client can call.

Search documentation pages by keyword. Returns matching page titles, paths, and relevant 500-character snippets.

Parameters:

  • query (required) — search keyword (substring match on title and body)
  • product (optional) — filter by product name, e.g. SIGN DE, SIGN FR
  • country (optional) — filter by country code, e.g. DE, FR, IT

Read a full documentation page by path. Supports partial and suffix matching. Returns the complete page body and related sibling pages.

Parameters:

  • path (required) — page path or suffix, e.g. getting-started/quickstart, quickstart

Get metadata for a fiskaly product: description, country, API architecture, base URLs, docs links, and related pages.

Parameters:

  • product (required) — product ID (e.g. sign-de, sign-fr) or product name (e.g. SIGN DE, DSFinV-K)

Get fiskaly API error codes with HTTP status, description, and fix guidance. Optionally filter by product.

Parameters:

  • product (optional) — filter by product ID (e.g. sign-de, sign-fr). Omit to get all error codes.

Get the OpenAPI specification for a fiskaly product. Use format="summary" for an overview of endpoints and schema names instead of the full spec.

Parameters:

  • product (required) — product ID: sign-de, sign-at, sign-fr, sign-it, sign-es, dsfinvk, ereceipt, management, obono
  • format (optional) — full (default) or summary (info + endpoint list + schema names)

List all API endpoints for a product, grouped by tag. Shows method, path, operationId, and summary.

Parameters:

  • product (required) — product ID
  • tag (optional) — filter by tag name (case-insensitive partial match)

Get detailed information about a specific endpoint: parameters, request body, response schemas, and security.

Parameters:

  • product (required) — product ID
  • path (optional) — API path to match (partial match)
  • method (optional) — HTTP method (GET, POST, PUT, etc.)
  • operationId (optional) — operation ID (partial, case-insensitive)

Look up an OpenAPI schema by name with $ref expansion (2 levels deep, cycle-safe). Use list=true to see all available schemas.

Parameters:

  • product (required) — product ID
  • schema (optional) — schema name (partial, case-insensitive match)
  • list (optional) — set to true to list all schema names

Get a Step-by-Step Integration guide for a product. Composes environment info, authentication flow, quickstart steps from docs, key endpoints from the spec, and documentation links.

Parameters:

  • product (required) — product ID or name (e.g. sign-de, SIGN FR)

Add the fiskaly-docs MCP server to your project:

Terminal window
claude mcp add fiskaly-docs -- npx @fiskaly/docs-mcp

Or add it to your project’s .mcp.json:

{
"mcpServers": {
"fiskaly-docs": {
"command": "npx",
"args": ["@fiskaly/docs-mcp"]
}
}
}

Add to your .cursor/mcp.json:

{
"mcpServers": {
"fiskaly-docs": {
"command": "npx",
"args": ["@fiskaly/docs-mcp"]
}
}
}

Add to ~/.codeium/windsurf/mcp_config.json:

{
"mcpServers": {
"fiskaly-docs": {
"command": "npx",
"args": ["@fiskaly/docs-mcp"]
}
}
}

Add to your project’s .vscode/mcp.json:

{
"servers": {
"fiskaly-docs": {
"command": "npx",
"args": ["@fiskaly/docs-mcp"]
}
}
}

Go to Settings > Tools > AI Assistant > Model Context Protocol and add a new server with:

  • Command: npx
  • Arguments: @fiskaly/docs-mcp

The server communicates over stdio using the MCP protocol. Start it with:

Terminal window
npx @fiskaly/docs-mcp

It requires Node.js 24+.

Tool: get_doc_page
Input: { "path": "getting-started/quickstart" }

Returns the complete page body with sibling page links — ideal for reading integration guides end-to-end.

Tool: list_endpoints
Input: { "product": "sign-de", "tag": "Transaction" }

Returns all transaction-related endpoints grouped by tag, with method, path, operationId, and summary.

Tool: get_endpoint
Input: { "product": "sign-de", "operationId": "upsertTransaction" }

Returns focused detail: parameters, request body schema (resolved), response schemas, and security requirements.

Tool: get_integration_guide
Input: { "product": "sign-fr" }

Returns a composed guide with environment URLs, authentication flow, quickstart content, key endpoints from the spec, and links to relevant documentation pages.

Tool: resolve_schema
Input: { "product": "sign-de", "schema": "Transaction" }

Returns the resolved schema with $ref expanded 2 levels deep. Use list=true to see all available schema names first.

Tool: get_openapi_spec
Input: { "product": "sign-de", "format": "summary" }

Returns API info, a list of all endpoints, and schema names — without the full 5000+ line spec.

Tool: search_docs
Input: { "query": "transaction", "product": "SIGN DE" }

Returns matching pages with titles, paths, and 500-character content snippets relevant to SIGN DE transactions.

Tool: get_product_info
Input: { "product": "sign-de" }

Returns structured metadata:

  • Product name, description, and country
  • API architecture (specialized or unified)
  • Base URLs for TEST and LIVE environments
  • Spec URL, docs URL, and related pages
Tool: get_error_codes
Input: { "product": "sign-de" }

Returns all error codes for SIGN DE with HTTP status codes, descriptions, and resolution guidance.

Server not starting? Make sure you have Node.js 24+ installed. Run node --version to check.

No results from search_docs? Try a broader search term. The search uses substring matching on titles and body text — shorter keywords return more results.

get_openapi_spec returning an error? Not all products have an OpenAPI spec. Use get_product_info to check if a product has a specFile.

If you prefer HTTP over MCP, the same data is available as machine-readable endpoints:

  • Search docs — fetch and search /llms-full.txt
  • OpenAPI specs — fetch /specs/{product}.json or .yaml directly
  • Product info — fetch /products.json
  • Error codes — use get_error_codes via MCP, or check the Error Codes reference

Was this page helpful?