Skip to main content

wefact-mcp

PyPI version Python License: AGPL-3.0

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 whoami tool.

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 list endpoints 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 to wefact_request and 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)

Source distribution for wefact-mcp 0.1.0
File Size Uploaded
wefact_mcp-0.1.0.tar.gz 23.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for wefact-mcp 0.1.0
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page