wfirma-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| WFIRMA_LOGIN | No | Your wFirma login. Not required if macOS Keychain has been set up. | |
| WFIRMA_PASSWORD | No | Your wFirma password. Not required if macOS Keychain has been set up. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_contractorA | Read contractor basics using an ID from an invoice contractor link, not a company ID. |
| get_declarationA | Read a declaration dialog. JPK returns a namespaced XML tree; PIT keeps calculation tables. Inspect the document's actual period and version. Correction supersession is unresolved. |
| get_invoiceA | Read an invoice detail dialog by a returned ID; preserves independent detail tables. |
| get_revenue_registerA | Read the ryczałt revenue register for year+month, or the saved view if both omitted. |
| get_vat_registerB | Read the VAT sale/purchase register for its saved period; inspect period and complete. |
| list_declarationsA | Read declarations for the saved period. VAT can mean VAT-UE; JPK has payable VAT. Current page only. ZUS components remain separate. Paid/remaining is bookkeeping state. |
| list_expensesB | Read the saved booked-expense or expense-draft view. Current page only; check complete. Filters and booked-expense details are not validated. Currency display text is retained. |
| list_invoicesA | Read one invoice page, including drafts. Supply year+month OR both ISO dates. Without filters, use the saved view. Check period, other saved filters and complete; date-range boundary semantics and accounting recognition dates are not established. |
| session_statusA | Log in if needed and verify the active company. Never returns credentials or tokens. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| capabilities | Supported operations and evidence limits from WFIRMA_API.md. |
TDQS
Scored across 9 tools
Each tool targets a distinct resource and action: get_* tools read singular details while list_* tools read collections, and the two register tools are separated by tax type. There is no meaningful overlap between tool purposes, and the descriptions reinforce the boundaries.
The tools follow a consistent snake_case pattern with get_ for single-object reads and list_ for collection reads. The only deviation is session_status, which breaks the verb_noun pattern and would be more consistent as get_session_status.
Nine tools is a well-scoped size for an accounting data integration. Each tool earns its place by covering a distinct aspect of the domain, and the count is neither bloated nor too thin.
The surface covers core read operations for invoices, declarations, expenses, registers, contractors, and session state. Minor gaps exist: there is no contractor listing, no expense detail tool, and writes are entirely absent, but this may be intentional for a read-only reporting bridge.