Skip to main content

MCP server for WeFact — let Claude (Desktop, Code, Cursor) read and modify your WeFact administration via the v2 API.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wefact_mcp-0.1.0.tar.gz (23.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wefact_mcp-0.1.0-py3-none-any.whl (24.6 kB view details)

Uploaded Python 3

File details

Details for the file wefact_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: wefact_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 23.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for wefact_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0f777965687f2258ba39f065ca30a4b4a5ae2b747c351a9442b4c2e045239aaf
MD5 212ce66f2b5b8a0138e00f2757bf7a57
BLAKE2b-256 f3d8aad1c18a10f8dd8f412baca1f11d3e16a8a9b885266caa62aa266706a551

See more details on using hashes here.

Provenance

The following attestation bundles were made for wefact_mcp-0.1.0.tar.gz:

Publisher: publish.yml on NickAldewereld/wefact-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file wefact_mcp-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: wefact_mcp-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 24.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for wefact_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 289867f8722dda18c25fef88b074fd50a6402f39d2e442178b4466ccf93e41cd
MD5 24148dd7248edfab455bf1ff8b576c02
BLAKE2b-256 df754d0d4fbaf7556c194543473029fb2eeb7c56dd5409d47588cf333fd256c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for wefact_mcp-0.1.0-py3-none-any.whl:

Publisher: publish.yml on NickAldewereld/wefact-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page