Back to Directory/Developer Tools

io.github.invapi-org/invapi-mcp

Extract, create, convert & validate invoices (UBL, CII, XRechnung, ZUGFeRD, PDF, Excel)

Developer ToolsTypeScriptv1.0.1

@invapi/mcp-server

MCP server for the Invapi E-Invoicing API — convert, validate, and extract invoices in UBL, CII, ZUGFeRD, Excel, and more.

Quick Start

npm install -g @invapi/mcp-server

Set your API key (get one at invapi.org):

export INVAPI_API_KEY=your-api-key

Usage

Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "invapi": {
      "command": "npx",
      "args": ["-y", "@invapi/mcp-server"],
      "env": {
        "INVAPI_API_KEY": "your-api-key"
      }
    }
  }
}

Claude Code

claude mcp add -e INVAPI_API_KEY=xxx invapi -- npx @invapi/mcp-server

Tools

Conversion

ToolDescription
invapi_convert_json_to_ublJSON Invoice → UBL XML
invapi_convert_json_to_ciiJSON Invoice → CII XML
invapi_convert_ubl_to_jsonUBL XML → JSON Invoice
invapi_convert_cii_to_jsonCII XML → JSON Invoice
invapi_convert_json_to_xlsxJSON Invoices → Excel file
invapi_create_zugferd_pdfPDF + JSON Invoice → ZUGFeRD PDF
invapi_convert_zugferd_to_jsonZUGFeRD PDF → JSON Invoice

Validation

ToolDescription
invapi_validate_ublValidate UBL XML against XRechnung 3.0.2 (EN 16931)
invapi_validate_ciiValidate CII XML against XRechnung 3.0.2 (EN 16931)
invapi_validate_xmlValidate XML with auto-detected format

Extraction

ToolDescription
invapi_extract_invoiceExtract structured invoice data from PDF or image
invapi_extract_qrExtract QR code data from image

User

ToolDescription
invapi_get_userGet account info and remaining API credits

Batch

ToolDescription
invapi_batch_convertRun up to 100 conversion operations in a single request

Development

git clone https://github.com/invapi/invapi-mcp.git
cd invapi-mcp
npm install
npm run dev

License

MIT

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y @invapi/mcp-server

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-invapi-org-invapi-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@invapi/mcp-server"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

@invapi/mcp-servernpm

Compatible MCP Clients

io.github.invapi-org/invapi-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More