wefact-mcp
Enables natural language interaction with the WeFact invoicing platform, allowing users to manage debtors, invoices, products, subscriptions, and perform various administrative tasks via MCP-compatible clients.
README
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.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.