wefact-mcp
An MCP server for the Dutch invoicing platform WeFact. Lets any MCP-compatible client (Claude Desktop, Claude Code, Cursor, Zed, …) read and modify your WeFact administration via natural language.
Stop typing in WeFact. Just tell Claude what to do.
Looking for the polished install + EULA + email support? Buy a commercial license: https://easeo.nl/diensten/wefact-mcp.
Quick start
1. Install
pip install wefact-mcp
2. Get a WeFact API key
In WeFact: Instellingen → API. Generate a key and whitelist your machine's IPv4 address (the API does not yet support IPv6).
3. Configure your MCP client
Claude Code
claude mcp add wefact -e WEFACT_API_KEY=your-key-here -- wefact-mcp
Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"wefact": {
"command": "wefact-mcp",
"env": { "WEFACT_API_KEY": "your-key-here" }
}
}
}
Restart your MCP client and the WeFact tools should appear. Try:
Use the wefact-mcp
whoamitool.
Tools
Generic escape hatch
| Tool | Purpose |
|---|---|
wefact_request(controller, action, params) |
Call any WeFact endpoint. |
whoami() |
Sanity-check the connection. |
Debtors (klanten)
list_debtors, get_debtor, create_debtor, update_debtor
Invoices (verkoopfacturen)
list_invoices, get_invoice, create_invoice, send_invoice,
credit_invoice, mark_invoice_paid
Products
list_products, get_product
Subscriptions (abonnementen)
list_subscriptions, get_subscription
Credit invoices (inkoopfacturen)
list_credit_invoices, get_credit_invoice
Prompts
| Prompt | Purpose |
|---|---|
export_to_nixfact |
Walk through migrating a WeFact administration to a Frappe/ERPNext successor. |
feature_audit |
Inventory which WeFact features your account actually uses. |
Field names
Tools that take fields or params use the WeFact field names verbatim
(DebtorCode, InvoiceLines, PriceExcl, …). The docs at
developer.wefact.com stay directly
applicable — copy parameter names from the docs without translation.
Pagination & filtering
List tools fetch all pages by default. Pass limit_pages=1 for the
first page only (useful while exploring). Pass
modified_since="2026-01-01" for incremental sync.
Limitations
- WeFact's API is IPv4 only. Hosting this MCP behind an IPv6-only proxy will fail.
- WeFact rate-limits the API. The client retries on transient failures with exponential backoff; persistent 429s surface as errors.
- The API is not RESTful: every call is a POST to a single endpoint.
- Some
listendpoints return a flat list rather than the controller-plural key; the client falls back to the first list-valued field. If you hit an oddity, fall back towefact_requestand parse the response yourself.
Security model
- The MCP server runs on your machine. No data passes through external servers.
- The WeFact API key stays in your local environment (or your MCP client's config) — never in our hands.
- No telemetry, no usage tracking, no phone-home.
- Source available for audit (see Repository).
- Independently reviewed for SQL injection, auth bypass, and credential leak vectors.
License
wefact-mcp is dual-licensed:
- AGPL-3.0-or-later — free for AGPL-compatible use. If you run a modified version on a server that interacts with users over a network, you must offer those users the source code (per AGPL §13).
- Commercial license — €197/year or €497 lifetime, ex VAT. For proprietary integrations, closed-source products, or hosted services that don't meet AGPL §13. Includes email support and 12 months of updates. Buy at https://easeo.nl/diensten/wefact-mcp.
For agency, white-label or platform partnerships — including a WeFact-side official integration — email nick@easeo.nl.
Disclaimer
This project is not affiliated with or endorsed by WeFact B.V. "WeFact" is a trademark of WeFact B.V. Use of this MCP server requires a valid WeFact account and API key, and is bound by WeFact's terms of service.
Metadata
Release files for wefact-mcp 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| wefact_mcp-0.1.0.tar.gz | 23.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wefact_mcp-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 47.8 kB
Release files / wefact_mcp-0.1.0.tar.gz
| Download URL | wefact_mcp-0.1.0.tar.gz |
|---|---|
| Size | 23.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0f777965687f2258ba39f065ca30a4b4a5ae2b747c351a9442b4c2e045239aaf
|
|
BLAKE2b-256 checksum How to use checksums |
f3d8aad1c18a10f8dd8f412baca1f11d3e16a8a9b885266caa62aa266706a551
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 1, 2026.
Transparency logRelease files / wefact_mcp-0.1.0-py3-none-any.whl
| Download URL | wefact_mcp-0.1.0-py3-none-any.whl |
|---|---|
| Size | 24.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
289867f8722dda18c25fef88b074fd50a6402f39d2e442178b4466ccf93e41cd
|
|
BLAKE2b-256 checksum How to use checksums |
df754d0d4fbaf7556c194543473029fb2eeb7c56dd5409d47588cf333fd256c8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 1, 2026.
Transparency log