Stop typing
in WeFact.
Tell Claude what to do.
An MCP server that lets your AI assistant work directly with your WeFact administration. Local. No cloud middleman. Built by me for my own administration, now available for other WeFact users who want that same time back.
€197 per year or €497 one-off · 14 days' right of withdrawal
I use WeFact intensively for EASEO's administration. The repetitive tasks — monthly invoices, status checks, subscription changes — cost time without adding value. This MCP server solves that for myself. It runs stable enough that I share it with other WeFact users who recognise the same pattern.
No launch promo, no scarcity. One price, running locally, code available for self-audit.
Three reasons that matter.
Local — your API key stays on your machine
The MCP server runs locally, not in the cloud. Your WeFact API key stays on your machine — we never see it. No telemetry, no tracking, no phone-home. The AI client you choose (Claude, Cursor, or a local model via Ollama) does see the conversation content — for maximum control, combine this server with a local LLM.
- Local-first architecture — no server in between
- No telemetry or usage tracking in the MCP server
- API key in your own .env, never in our database
- Code available for self-audit (commercial licence)
- Licence key = HMAC-signed proof of purchase, no runtime callbacks
Tested — not "hopefully it works"
We only build what we use ourselves in production. 18 automated tests, all green in CI. Every commonly used WeFact v2 endpoint has its own tool in the server (debtors, invoices, subscriptions, credit invoices, products); for the rest there's a generic escape hatch so you never get stuck.
- 18 automated tests, run on every release
- Error handling with retry and exponential backoff
- Runs on a live administration — not only tested in a sandbox
- Structured error messages so you know what's going wrong
- Built-in pagination — works on administrations with 10,000+ debtors
Concrete, not promised
Monthly invoicing that used to take me 90 minutes now takes 5. VAT adjustment across all subscriptions: one instruction. Customer asks for invoice status: instant answer. That's what I measure for myself — what it delivers for you depends on your administration.
- Monthly invoicing: one instruction instead of click-by-click
- Check invoice status without opening the UI
- VAT adjustment across all subscriptions in one instruction
- Monthly report for the accountant without export fiddling
- Register a new client from an email: dictation instead of copy-paste
What you can ask your AI.
No more UI needed. No more buttons. You dictate what needs to happen — Claude handles the rest.
List all outstanding invoices older than 30 days.
Claude fetches the list through the WeFact API and groups it by customer. An overview in seconds — no UI navigation, no manual filtering.
Create a draft invoice for customer DB10000 with the line "Monthly hosting" for €25.
Claude creates the invoice, asks for confirmation before sending, and gives you the invoice number back. You stay in control.
Which subscriptions expire next month?
Claude filters your subscription list and shows what needs action — so you never miss anything.
Mark invoice 2026010001 as paid today, payment method bank transfer.
Claude updates the status straight away. What takes four screens in WeFact is one sentence.
Commonly used endpoints + escape hatch.
Targeted tools for the most common operations, plus a generic escape hatch so you're never stuck if WeFact supports something that doesn't have its own tool yet:
-
list_debtors / get_debtor / create_debtor / update_debtor -
list_invoices / get_invoice / create_invoice / send_invoice -
credit_invoice / mark_invoice_paid -
list_products / get_product -
list_subscriptions / get_subscription -
list_credit_invoices / get_credit_invoice -
wefact_request — generic escape hatch for any WeFact endpoint
Field names match the WeFact docs 1:1. You can use the WeFact API documentation at developer.wefact.com directly — every parameter name matches.
How your purchase works.
No opaque middleman. Four steps, all verifiable.
Order → Revolut
Your details and plan choice go through the form on this page to our server. We reserve a licence record (status: reserved) and create a Revolut order. You're redirected to the Revolut checkout page for the payment itself — we never see your card details.
Webhook → HMAC verification
After payment, Revolut sends an ORDER_COMPLETED webhook to our server. We verify the HMAC-SHA256 signature (its own signing secret per endpoint) and the timestamp (a 5-minute replay window) before anything happens to the licence. If verification fails: 401, no change.
Licence key → proof of purchase
We generate a key from your email address plus order ID, signed with our HMAC secret. Format: WFM-XXXX-XXXX-XXXX. The key is your evidence for support and for the EULA — no activation server, no runtime callback. The MCP server itself knows nothing about licences.
Welcome email → automatic
Right after webhook confirmation we send a welcome email with your key, installation instructions for Claude Desktop / Code and the licence terms. Not received within 10 minutes? Email nick@easeo.nl with your order confirmation.
The MCP server itself is open source: github.com/NickAldewereld/wefact-mcp — free to audit before you buy.
Up and running in 5 minutes.
Install
pip install wefact-mcp One Python package. Runs on Mac, Linux and Windows.
Configure
WEFACT_API_KEY=... Put your WeFact API key in an env var or in your MCP client config. Whitelist your IP in WeFact — done.
Start talking
claude mcp add wefact One command for Claude Code. For Claude Desktop: edit the config file. Exact instructions are in the welcome email.
Two options.
Annual licence or perpetual licence. One fair price, no discount theatre.
Running more than WeFact?
Most businesses run three or four systems that don’t talk to each other. Which ones are worth connecting depends on how you work.
FAQ.
What exactly is an MCP server?
Model Context Protocol is an open standard from Anthropic that lets Claude (and other AI assistants) talk to external systems safely. This MCP server translates Claude's instructions into WeFact API calls, on your own machine.
Does my data need to reach your servers?
No — not on the WeFact side. The MCP server runs locally on your own machine or VPS. We never see invoice data, customer details or API keys. What does leave your machine: the conversation itself, sent to the AI provider you choose (Claude, Cursor, or a local model). For maximum sovereignty, combine this with a local model via Ollama — then everything stays on your own machine.
What exactly is that licence key?
An HMAC-signed proof of your purchase. We calculate it at ORDER_COMPLETED from your email address plus the Revolut order ID, signed with our own secret. The MCP server itself does nothing with it — there's no licence server, no runtime validation, no activation flow that can break offline. The key is your evidence for support and for the commercial EULA in the welcome email.
Which clients support MCP?
Claude Desktop, Claude Code, Cursor, Zed, and growing. Any MCP-compatible client works — you simply configure the server in your client's config.
What if WeFact changes its API?
With the annual licence you get 12 months of updates. With the perpetual licence you get 12 months of updates included, then optionally €49 a year for continued updates. The version you have keeps working — even without an updates subscription.
How long does installation take?
5 minutes. `pip install wefact-mcp`, set your API key in an env var, and register the server with your MCP client. Setup instructions are in the welcome email.
Does this work if I'm not a developer?
Installation is copy-paste work. If you get stuck: email support is included. No Python environment and using Claude Desktop on Mac/Windows: that works too — instructions included.
Right of withdrawal?
Yes. 14 days' right of withdrawal under Dutch consumer law. If it doesn't work for you: email support@easeo.nl and we'll refund the amount.
Can I use this for more than one WeFact administration?
The licence is per person, not per administration. Managing three clients each with their own WeFact: one licence covers it.
For WeFact itself
Work at WeFact and want to offer this as an official integration or discuss a partnership? Email nick@easeo.nl.
Ready to let Claude handle your WeFact?
€197 per year or €497 one-off. 14 days' right of withdrawal.