About Fiskalizimi — Albanian tax & payroll
An MCP server for AI agents handling Albanian fiscal and payroll calculations, with offline, read-only tools. Its rate data includes a verified AL-2026 configuration and notes on limitations.
Key features
- 01Validate and normalize NIPT formats
- 02Calculate TVSH
- 03Calculate invoice totals by VAT rate
- 04Convert between gross and net salary
- 05Calculate corporate profit tax
- 06Retrieve verified tax-rate settings
Use cases
- 01Check an Albanian NIPT
- 02Calculate invoices with multiple tax rates
- 03Estimate net monthly pay and employer cost
MCP support
The MCP server exposes read-only calculation tools and the JSON resource `fiskalizimi://rates/AL-2026` to clients. Calculations run offline without network access.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEfiskalizimi MCP server (al.square/fiskalizimi)
An MCP server that gives AI agents offline, read-only calculators for Albanian fiscalization and payroll, built on fiskalizimi-utils and maintained by Square Software, a software company in Tirana that ships fiscalization integrations for POS, ERP and e-commerce systems.
No network access, no API keys, nothing leaves the machine.
Tools
| Tool | What it does |
|---|---|
validate_nipt | Format-check a NIPT/NUIS (M51418039H), normalize separators, flag O/0 and I/1 typos, link to the QKB lookup |
add_vat / extract_vat | TVSH math at any rate — Albania 20 / 10 / 6 %, Kosovo 18 / 8 % |
invoice_totals | Subtotal, VAT and grand total with the per-rate VAT breakdown a fiscalized invoice must report; per-line discounts |
net_salary | Gross → net monthly salary: employee social 9.5 % + health 1.7 %, progressive income tax 0 / 13 / 23 %, employer cost |
gross_salary_from_net | Net → gross, same breakdown |
profit_tax | Corporate profit tax over the progressive brackets (0 % to 14,000,000 ALL, 15 % above) |
tax_rates | The verified AL-2026 config: rates, caps, brackets, deadlines, source, verification date, disclosed limitations |
Resource: fiskalizimi://rates/AL-2026 (JSON).
The numbers are the same ones behind our free online tools — Verifikues NIPT, Llogaritësi i TVSH-së, Llogaritësi i pagës — verified on 2026-06-29 against tatime.gov.al. Read the notes in tax_rates before relying on net-salary results in the 50,000–60,000 ALL/month transitional band.
Install
Claude Desktop — download fiskalizimi-mcp.mcpb from the latest release and open it.
Any MCP client (stdio) — from a checkout:
git clone https://github.com/square-al/fiskalizimi-utils && cd fiskalizimi-utils
npm ci && npm run build
cd mcp && npm ci && npm run build
{
"mcpServers": {
"fiskalizimi": { "command": "node", "args": ["/path/to/fiskalizimi-utils/mcp/dist/main.js"] }
}
}
Or run the single-file bundle that ships inside the .mcpb (it is a zip): node server/index.js.
Example
"Is
m5141 8039ha valid NIPT, and what does a 120,000 lek gross salary leave in hand?"
validate_nipt → { valid: true, normalized: "M51418039H", parts: { prefix: "M", … } }
net_salary → { gross: 120000, empSocial: 11400, empHealth: 2040, incomeTax: 7352.8, net: 99207.2, employerCost: 140040, … }
Development
npm test # in-memory client ↔ server round-trips
npm run bundle # esbuild → bundle/ (single CommonJS file + manifest)
npx @anthropic-ai/mcpb pack bundle dist/fiskalizimi-mcp.mcpb
server.json is the official-registry descriptor; PUBLISHING.md at the repo root has the release steps.
MIT © Square Software SHPK
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.