{"_id":"@edjufy/fakturia-mcp","_rev":"6-a129773ad3b354eb9eb9f1d08915230d","name":"@edjufy/fakturia-mcp","dist-tags":{"latest":"1.0.4"},"versions":{"0.1.0":{"name":"@edjufy/fakturia-mcp","version":"0.1.0","keywords":["mcp","fakturia","billing","subscription","api","model-context-protocol"],"author":{"name":"edjufy Software GmbH"},"license":"MIT","_id":"@edjufy/fakturia-mcp@0.1.0","maintainers":[{"name":"laurenz-glueck","email":"l.glueck@edjufy.com"}],"homepage":"https://github.com/edjufy/fakturia-mcp#readme","bugs":{"url":"https://github.com/edjufy/fakturia-mcp/issues"},"bin":{"fakturia-mcp":"bundle/fakturia-mcp.mjs"},"dist":{"shasum":"c95d6f2dbc15132556ada65b40f11c20ecd5d8b3","tarball":"https://registry.npmjs.org/@edjufy/fakturia-mcp/-/fakturia-mcp-0.1.0.tgz","fileCount":4,"integrity":"sha512-Y6urORTLcR5XjAVzHIC9QjolkvSWqPBFwadj3oeRnHT8uZwooJ8ve0FMo4BvvA1gnlSFYtyw/WzPmBZ+UQCnvw==","signatures":[{"sig":"MEQCIGPMkSsooRSbXfGOHGe4/f5zYM6olnyFhWXPxyAl8pE4AiAkD3WU2vBBTajEKkBkJkyPpT01SQcM2IAS8YttDoqyzQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":883682},"main":"bundle/fakturia-mcp.mjs","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=24.0.0"},"gitHead":"efa11261a1bf9373f513a7b112de79e2ad70f5c0","scripts":{"build":"tsc","start":"node dist/index.js","bundle":"tsc && esbuild dist/index.js --bundle --platform=node --format=esm --target=node24 --banner:js='#!/usr/bin/env node' --outfile=bundle/fakturia-mcp.mjs","release":"release-it","prepublishOnly":"pnpm bundle"},"_npmUser":{"name":"laurenz-glueck","email":"l.glueck@edjufy.com"},"repository":{"url":"git+https://github.com/edjufy/fakturia-mcp.git","type":"git"},"_npmVersion":"11.6.2","description":"Unofficial MCP server for the Fakturia billing/subscription management API","directories":{},"_nodeVersion":"24.11.1","dependencies":{"zod":"^3.24.4","@modelcontextprotocol/sdk":"^1.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"esbuild":"^0.27.3","release-it":"^19.2.4","typescript":"^5.8.3","@types/node":"^22.15.3"},"_npmOperationalInternal":{"tmp":"tmp/fakturia-mcp_0.1.0_1774085620424_0.7870265210132372","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@edjufy/fakturia-mcp","version":"1.0.0","keywords":["mcp","fakturia","billing","subscription","api","model-context-protocol"],"author":{"name":"edjufy Software GmbH"},"license":"MIT","_id":"@edjufy/fakturia-mcp@1.0.0","maintainers":[{"name":"laurenz-glueck","email":"l.glueck@edjufy.com"}],"homepage":"https://github.com/edjufy/fakturia-mcp#readme","bugs":{"url":"https://github.com/edjufy/fakturia-mcp/issues"},"bin":{"fakturia-mcp":"bundle/fakturia-mcp.mjs"},"dist":{"shasum":"a7cac6c69ee16f1736ef31babaeac0abf10e4d5b","tarball":"https://registry.npmjs.org/@edjufy/fakturia-mcp/-/fakturia-mcp-1.0.0.tgz","fileCount":4,"integrity":"sha512-m7or90zolGocFu0FF6qHr3YmsyqFAyyNUSyOE1YoxjdTLGPvEKa8AZpxQZk7YDxR51lK6hP5AAKhZZe587i1/g==","signatures":[{"sig":"MEUCIGlQXyau1BICwhqt5YZvql4SkcJ1AE9jLoUrggJLvVPDAiEAtmwo2A+q6Pl2gs903Dg6aXwBZcV9n3rh+iUByRyFY28=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@edjufy%2ffakturia-mcp@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":883718},"main":"bundle/fakturia-mcp.mjs","pnpm":{"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=24.0.0"},"gitHead":"66458584daae18c10ee317cce3fd3b683cae73de","scripts":{"build":"tsc","start":"node dist/index.js","bundle":"tsc && esbuild dist/index.js --bundle --platform=node --format=esm --target=node24 --banner:js='#!/usr/bin/env node' --outfile=bundle/fakturia-mcp.mjs","release":"release-it","prepublishOnly":"pnpm bundle"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8688af01-c293-4163-bdd1-3b8b50a0505e"}},"repository":{"url":"git+https://github.com/edjufy/fakturia-mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"Unofficial MCP server for the Fakturia billing/subscription management API","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^3.24.4","@modelcontextprotocol/sdk":"^1.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.1","devDependencies":{"esbuild":"^0.27.3","release-it":"^19.2.4","typescript":"^5.8.3","@types/node":"^22.15.3"},"_npmOperationalInternal":{"tmp":"tmp/fakturia-mcp_1.0.0_1774086480087_0.3382959335057971","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@edjufy/fakturia-mcp","version":"1.0.1","keywords":["mcp","fakturia","billing","subscription","api","model-context-protocol"],"author":{"name":"edjufy Software GmbH"},"license":"MIT","_id":"@edjufy/fakturia-mcp@1.0.1","maintainers":[{"name":"laurenz-glueck","email":"l.glueck@edjufy.com"}],"homepage":"https://github.com/edjufy/fakturia-mcp#readme","bugs":{"url":"https://github.com/edjufy/fakturia-mcp/issues"},"bin":{"fakturia-mcp":"bundle/fakturia-mcp.mjs"},"dist":{"shasum":"2e4026f7b8ec5ea64a3a1df4df1645b4a3bd2460","tarball":"https://registry.npmjs.org/@edjufy/fakturia-mcp/-/fakturia-mcp-1.0.1.tgz","fileCount":4,"integrity":"sha512-EIdIEvUoaY5Fl41PCiasA01hICIlEhxlBbPVsI79vTY4hGQwl2554WrLdOKEryTc1KFoggZ9HBItCZ4dMQWWGA==","signatures":[{"sig":"MEQCIGpEjljuAb58hZ/BHnjIyBHt1fACDy4NNZ2Uw/gIHHg0AiBytrFeVXsps/AI/nmImA9gcetJzZF5sc9TeihyMhI1GQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@edjufy%2ffakturia-mcp@1.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":883851},"main":"bundle/fakturia-mcp.mjs","pnpm":{"overrides":{"undici":">=7.0.0"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=24.0.0"},"gitHead":"d2d0b90d965812a755cc079758d786021d284020","scripts":{"build":"tsc","start":"node dist/index.js","bundle":"tsc && esbuild dist/index.js --bundle --platform=node --format=esm --target=node24 --banner:js='#!/usr/bin/env node' --outfile=bundle/fakturia-mcp.mjs","release":"release-it","prepublishOnly":"pnpm bundle"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8688af01-c293-4163-bdd1-3b8b50a0505e"}},"repository":{"url":"git+https://github.com/edjufy/fakturia-mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"Unofficial MCP server for the Fakturia billing/subscription management API","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^3.24.4","@modelcontextprotocol/sdk":"^1.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.1","devDependencies":{"esbuild":"^0.27.3","release-it":"^19.2.4","typescript":"^5.8.3","@types/node":"^22.15.3"},"_npmOperationalInternal":{"tmp":"tmp/fakturia-mcp_1.0.1_1774086854845_0.5617056091742827","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@edjufy/fakturia-mcp","version":"1.0.2","keywords":["mcp","fakturia","billing","subscription","api","model-context-protocol"],"author":{"name":"edjufy Software GmbH"},"license":"MIT","_id":"@edjufy/fakturia-mcp@1.0.2","maintainers":[{"name":"laurenz-glueck","email":"l.glueck@edjufy.com"}],"homepage":"https://github.com/edjufy/fakturia-mcp#readme","bugs":{"url":"https://github.com/edjufy/fakturia-mcp/issues"},"bin":{"fakturia-mcp":"bundle/fakturia-mcp.mjs"},"dist":{"shasum":"de2a716da9731c93d0e7443413c598c13c876347","tarball":"https://registry.npmjs.org/@edjufy/fakturia-mcp/-/fakturia-mcp-1.0.2.tgz","fileCount":4,"integrity":"sha512-P5E2YwaoQkFtnLqoK5NT4Clp4AoesSMcuMvPAsCZIWoAXhHgsrOxEVmc33dkCDdVSJ7BWPbsNgiZ3PvU47Q4Jg==","signatures":[{"sig":"MEUCIFZvfeNGR8bpS4bD4MbLuTSQA7LK75lRPmdzwLUs7U1RAiEA5NepHoXUY5CrjvZZYImiCCE/mNnCDGuOJ7xi8dkZ+AU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@edjufy%2ffakturia-mcp@1.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1260154},"main":"bundle/fakturia-mcp.mjs","pnpm":{"overrides":{"undici":">=7.0.0"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=24.0.0"},"gitHead":"1912abb5629bb7186d949430e9b933f95739c73f","scripts":{"build":"tsc","start":"node dist/index.js","bundle":"tsc && esbuild dist/index.js --bundle --platform=node --format=esm --target=node24 --banner:js='#!/usr/bin/env node' --outfile=bundle/fakturia-mcp.mjs","release":"release-it","prepublishOnly":"pnpm bundle"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8688af01-c293-4163-bdd1-3b8b50a0505e"}},"repository":{"url":"git+https://github.com/edjufy/fakturia-mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"Unofficial MCP server for the Fakturia billing/subscription management API","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.3.6","@modelcontextprotocol/sdk":"^1.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.1","devDependencies":{"esbuild":"^0.27.3","release-it":"^19.2.4","typescript":"^5.8.3","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/fakturia-mcp_1.0.2_1774088413860_0.2877622513895468","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@edjufy/fakturia-mcp","version":"1.0.3","keywords":["mcp","fakturia","billing","subscription","api","model-context-protocol"],"author":{"name":"edjufy Software GmbH"},"license":"MIT","_id":"@edjufy/fakturia-mcp@1.0.3","maintainers":[{"name":"laurenz-glueck","email":"l.glueck@edjufy.com"}],"homepage":"https://github.com/edjufy/fakturia-mcp#readme","bugs":{"url":"https://github.com/edjufy/fakturia-mcp/issues"},"bin":{"fakturia-mcp":"bundle/fakturia-mcp.mjs"},"dist":{"shasum":"cdc8a8d56be5b52e56e59ecc57bbcf79298904a8","tarball":"https://registry.npmjs.org/@edjufy/fakturia-mcp/-/fakturia-mcp-1.0.3.tgz","fileCount":4,"integrity":"sha512-N3IFptMXipV4ikE600uaBJ9+aMlmf8UjHcjLC434Es6iFdKVN7mD6peETH021MoUB1QQdv9ivqU189YieQMraw==","signatures":[{"sig":"MEUCIDp2PKt1qX3FUxBhAIz1dqJ0hgxxHSI+SPEhsHs3nqsHAiEAjYTJ/77QcuCbb2s5OsZ324xs538b0cER2hVaHw00hCI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@edjufy%2ffakturia-mcp@1.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":1260154},"main":"bundle/fakturia-mcp.mjs","pnpm":{"overrides":{"undici":">=7.0.0"},"onlyBuiltDependencies":["esbuild"]},"type":"module","engines":{"node":">=24.0.0"},"gitHead":"34670fc9cfe4f1bedcb466a73e55defe34944034","scripts":{"build":"tsc","start":"node dist/index.js","bundle":"tsc && esbuild dist/index.js --bundle --platform=node --format=esm --target=node24 --banner:js='#!/usr/bin/env node' --outfile=bundle/fakturia-mcp.mjs","release":"release-it","prepublishOnly":"pnpm bundle"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8688af01-c293-4163-bdd1-3b8b50a0505e"}},"repository":{"url":"git+https://github.com/edjufy/fakturia-mcp.git","type":"git"},"_npmVersion":"11.9.0","description":"Unofficial MCP server for the Fakturia billing/subscription management API","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.3.6","@modelcontextprotocol/sdk":"^1.12.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.1","devDependencies":{"esbuild":"^0.27.3","release-it":"^19.2.4","typescript":"^5.8.3","@types/node":"^25.5.0"},"_npmOperationalInternal":{"tmp":"tmp/fakturia-mcp_1.0.3_1774088643347_0.27435599162038726","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@edjufy/fakturia-mcp","publishConfig":{"access":"public"},"version":"1.0.4","description":"Unofficial MCP server for the Fakturia billing/subscription management API","type":"module","packageManager":"pnpm@10.28.1","license":"MIT","author":{"name":"edjufy Software GmbH"},"repository":{"type":"git","url":"git+https://github.com/edjufy/fakturia-mcp.git"},"homepage":"https://github.com/edjufy/fakturia-mcp#readme","bugs":{"url":"https://github.com/edjufy/fakturia-mcp/issues"},"keywords":["mcp","fakturia","billing","subscription","api","model-context-protocol"],"main":"bundle/fakturia-mcp.mjs","bin":{"fakturia-mcp":"bundle/fakturia-mcp.mjs"},"scripts":{"build":"tsc","bundle":"tsc && esbuild dist/index.js --bundle --platform=node --format=esm --target=node24 --banner:js='#!/usr/bin/env node' --outfile=bundle/fakturia-mcp.mjs","start":"node dist/index.js","prepublishOnly":"pnpm bundle","release":"release-it"},"engines":{"node":">=24.0.0"},"dependencies":{"@modelcontextprotocol/sdk":"^1.12.1","zod":"^4.3.6"},"devDependencies":{"@types/node":"^25.5.0","esbuild":"^0.27.3","release-it":"^19.2.4","typescript":"^5.8.3"},"pnpm":{"onlyBuiltDependencies":["esbuild"],"overrides":{"undici":">=7.0.0"}},"gitHead":"98208caa8afbc039bdf0026c279b3cad47bb0c56","_id":"@edjufy/fakturia-mcp@1.0.4","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-2JQQmsZtQSOR17EMaWEK3vF5AbLOq3XzlgzVmZdIKnlZgI2pIE0e7Zs5YwPTY497RVPf48Dkqn2+AtjrdV49MA==","shasum":"a0008d108283b5ac155c2953f75e895e08e668ef","tarball":"https://registry.npmjs.org/@edjufy/fakturia-mcp/-/fakturia-mcp-1.0.4.tgz","fileCount":4,"unpackedSize":1260783,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@edjufy%2ffakturia-mcp@1.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIALRfimFXQk8Ubvly32cpH/JqE3kAjf+CMDJ3shGRnhWAiAWHXg1SKTXjTcQz0cn174kjBKT5yQzPHbBTWQXlJAF1Q=="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:8688af01-c293-4163-bdd1-3b8b50a0505e"}},"directories":{},"maintainers":[{"name":"laurenz-glueck","email":"l.glueck@edjufy.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/fakturia-mcp_1.0.4_1774089651549_0.20949974556528161"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-21T09:33:40.335Z","modified":"2026-03-21T10:40:52.148Z","0.1.0":"2026-03-21T09:33:40.562Z","1.0.0":"2026-03-21T09:48:00.315Z","1.0.1":"2026-03-21T09:54:15.003Z","1.0.2":"2026-03-21T10:20:14.088Z","1.0.3":"2026-03-21T10:24:03.512Z","1.0.4":"2026-03-21T10:40:51.793Z"},"bugs":{"url":"https://github.com/edjufy/fakturia-mcp/issues"},"author":{"name":"edjufy Software GmbH"},"license":"MIT","homepage":"https://github.com/edjufy/fakturia-mcp#readme","keywords":["mcp","fakturia","billing","subscription","api","model-context-protocol"],"repository":{"type":"git","url":"git+https://github.com/edjufy/fakturia-mcp.git"},"description":"Unofficial MCP server for the Fakturia billing/subscription management API","maintainers":[{"name":"laurenz-glueck","email":"l.glueck@edjufy.com"}],"readme":"<p align=\"center\">\n  <img src=\".github/social-preview.png\" alt=\"Fakturia MCP - Connect AI to Billing\" width=\"640\" />\n</p>\n\n# Fakturia API MCP\n\n[![npm version](https://img.shields.io/npm/v/@edjufy/fakturia-mcp)](https://www.npmjs.com/package/@edjufy/fakturia-mcp)\n[![license](https://img.shields.io/npm/l/@edjufy/fakturia-mcp)](LICENSE)\n[![node](https://img.shields.io/node/v/@edjufy/fakturia-mcp)](package.json)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5.8-blue?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)\n[![MCP Tools](https://img.shields.io/badge/MCP_Tools-123-brightgreen)](https://modelcontextprotocol.io/)\n\nAn unofficial [MCP (Model Context Protocol)](https://modelcontextprotocol.io/) server that provides full access to the [Fakturia](https://www.fakturia.de) billing and subscription management API. Connect your AI assistant to Fakturia and manage customers, contracts, invoices, subscriptions, and more through natural language.\n\n> **Disclaimer:** This is an unofficial, community-built project. It is not affiliated with, endorsed by, or supported by [Luminea IT Services GmbH](https://www.fakturia.de/impressum), the company behind Fakturia. \"Fakturia\" is a product of Luminea IT Services GmbH. The included OpenAPI spec in `docs/api/` was obtained from Fakturia's public API documentation endpoint.\n\n## What is this?\n\nThis MCP server wraps the entire Fakturia REST API and exposes every endpoint as an MCP tool. This means any MCP-compatible AI client (such as [Claude Code](https://docs.anthropic.com/en/docs/claude-code), [Claude Desktop](https://claude.ai/download), or other MCP clients) can interact with your Fakturia account directly — creating customers, managing subscriptions, generating invoices, pulling reports, and more.\n\n## Available Tools\n\n**123 tools** across 14 API domains:\n\n| Domain | Tools | Examples |\n|--------|-------|---------|\n| **Customers** | 14 | Create, update, search customers; manage SEPA mandates and custom fields |\n| **Contracts** | 32 | Full lifecycle: create, activate, terminate, upgrade; manage discounts, attachments, commission rules |\n| **Invoices** | 10 | List, retrieve, pay, cancel, reopen, rebill invoices; download PDFs |\n| **Subscriptions** | 9 | Manage subscription items, custom prices, price calculations |\n| **Items** | 9 | CRUD for billable items/products; manage prices and categories |\n| **Orders** | 7 | Process signup page orders; create customers/contracts from orders |\n| **Accounts** | 7 | Manage billing accounts, transactions, and customer assignments |\n| **Reports** | 7 | Generate customer, contract, invoice, and MRR reports; download exports |\n| **Credit Notes** | 6 | Retrieve credit notes and corrections; download PDFs |\n| **Discounts/Coupons** | 6 | Create discount/coupon configurations; validate and redeem coupon codes |\n| **User Logins** | 6 | Manage customer center logins: create, activate, lock, password reset, SSO tokens |\n| **Activities** | 4 | Track billable activities on contracts |\n| **Webhooks** | 4 | Configure and manage webhook notifications |\n| **Projects** | 2 | List projects and their contracts |\n\nAll tools include comprehensive descriptions and parameter documentation, making them easy to discover and use from any MCP client.\n\n## Quick Start\n\n### Prerequisites\n\n- Node.js 24+\n- A Fakturia account with API access enabled ([how to get an API key](#getting-an-api-key))\n\n### Usage with Claude Code\n\nAdd the following to your project's `.mcp.json` or `~/.claude/.mcp.json` for global access:\n\n```json\n{\n  \"mcpServers\": {\n    \"fakturia\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@edjufy/fakturia-mcp\"],\n      \"env\": {\n        \"FAKTURIA_API_HOST\": \"https://api.sandbox.fakturia.de\",\n        \"FAKTURIA_API_KEY\": \"<your-api-key>\"\n      }\n    }\n  }\n}\n```\n\nReplace `<your-api-key>` with your Fakturia API key. Use `https://api.fakturia.de` for production.\n\n### Usage with other MCP clients\n\nThis server communicates over stdio. Run it with the required environment variables:\n\n```bash\nFAKTURIA_API_HOST=https://api.sandbox.fakturia.de FAKTURIA_API_KEY=<your-api-key> npx -y @edjufy/fakturia-mcp\n```\n\n### Environment Variables\n\n| Variable | Required | Description |\n|----------|----------|-------------|\n| `FAKTURIA_API_HOST` | Yes | API base URL (see [API Hosts](#api-hosts)) |\n| `FAKTURIA_API_KEY` | Yes | Your Fakturia API key (see [Getting an API Key](#getting-an-api-key)) |\n| `FAKTURIA_API_INSECURE` | No | Set to `1` to disable TLS certificate validation (local dev only) |\n\n## API Hosts\n\n| Environment | API Host | Backoffice |\n|-------------|----------|------------|\n| Production  | `https://api.fakturia.de` | [backoffice.fakturia.de](https://backoffice.fakturia.de) |\n| Sandbox     | `https://api.sandbox.fakturia.de` | [backoffice.sandbox.fakturia.de](https://backoffice.sandbox.fakturia.de) |\n\nAPI documentation is available at `/documentation/` on each host (e.g. [api.fakturia.de/documentation](https://api.fakturia.de/documentation/)).\n\n> **Tip:** Use the sandbox environment for development and testing. It behaves identically to production but won't affect real data.\n\n## Getting an API Key\n\n1. Log in to the Fakturia backoffice ([backoffice.fakturia.de](https://backoffice.fakturia.de) or [backoffice.sandbox.fakturia.de](https://backoffice.sandbox.fakturia.de) for sandbox)\n2. Make sure your Fakturia plan includes API access\n3. Navigate to your project settings and configure the API interface (*API-Schnittstelle konfigurieren*)\n4. Activate the API for the project\n5. Generate an API key\n6. Configure the IP whitelist for the project (add your client's IP address, or leave empty to allow all)\n\nFor more details, see the [Fakturia Wiki: REST API](https://wiki.fakturia.de/wiki/REST%20API/).\n\n> **⚠️ Warning:** If your API key has write access, the MCP server can perform actions that **create, modify, or permanently delete data** in your Fakturia account (e.g. cancelling contracts, paying invoices, deleting customers). This is especially risky when used with AI assistants that may take actions autonomously. Consider using a **read-only API key** to prevent unintended changes — you can configure this in your Fakturia project settings under the API configuration.\n\n## Development\n\n```bash\ngit clone https://github.com/edjufy/fakturia-mcp.git\ncd fakturia-mcp\npnpm install          # Install dependencies\npnpm build            # Compile TypeScript to dist/\npnpm bundle           # Compile + bundle to bundle/fakturia-mcp.mjs\npnpm start            # Run from compiled dist/\npnpm release          # Create a new release (via release-it)\n```\n\n## Links\n\n- [Fakturia Website](https://www.fakturia.de)\n- [Fakturia API Documentation](https://api.fakturia.de/documentation/)\n- [Fakturia Wiki: REST API](https://wiki.fakturia.de/wiki/REST%20API/)\n- [OpenAPI Spec](docs/api/fakturia-openapi.json) (OpenAPI 3.0.1)\n- [Model Context Protocol](https://modelcontextprotocol.io/)\n\n## Built by\n\n[edjufy Software GmbH](https://www.edjufy.com) — building digital solutions for education. Find more of our open-source work on [GitHub](https://github.com/edjufy).\n\n## License\n\n[MIT](LICENSE)\n","readmeFilename":"README.md"}