The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Wfirma MCP listing page.
Unofficial, read-only MCP server for the wFirma API v2
(api2.wfirma.pl). Gives MCP-compatible AI assistants typed, read-only access
to company data, invoices, contractors, expenses, and payments — with
credentials that never leave your machine and no commercial middleware between
you and wFirma.
Not affiliated with wFirma. "wFirma" is a trademark of its respective owner.
| Tool | Endpoint |
|---|---|
wfirma_list_companies | GET /user_companies/find |
wfirma_list_invoices | GET /invoices/find |
wfirma_get_invoice | GET /invoices/get/{id} |
wfirma_list_contractors | GET /contractors/find |
wfirma_get_contractor | GET /contractors/get/{id} |
wfirma_list_expenses | GET /expenses/find |
wfirma_get_expense | GET /expenses/get/{id} |
wfirma_list_payments | GET /payments/find |
wfirma_get_payment | GET /payments/get/{id} |
Every company-scoped tool requires the internal companyId returned by
wfirma_list_companies. A Polish NIP is not accepted as a company id.
The server intentionally contains no add, edit, delete, send, fiscalization,
KSeF, or payment-mutation operation. The full list of excluded categories,
reviewed against the official documentation at
doc.wfirma.pl, is recorded in
coverage-manifest.json. If you need writes, use
wFirma's own tooling — not this server.
wFirma API keys are created in your wFirma panel (Integrations → API). Required environment variables:
WFIRMA_ACCESS_KEYWFIRMA_SECRET_KEYWFIRMA_APP_KEYSee .env.example. Never commit real values.
https with a hard 20s timeout and a bounded response-size
guard.wfirma_* error code instead of a generic failure.coverage-manifest.json maps every tool to its
endpoint, risk class, and the test that proves it; a CI test enforces the
manifest stays in sync with the source.