Open-source tax skills for AI across 134 countries.
Valid MCP server (0 strong, 4 medium validity signals). 1 code issue detected. 3 known CVEs in dependencies (0 critical, 3 high severity) Imported from the Official MCP Registry. 1 finding(s) downgraded by scanner intelligence.
9 files analyzed · 5 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-openaccountants-openaccountants-mcp": {
"args": [
"openaccountants-mcp"
],
"command": "uvx"
}
}
}From the project's GitHub README.
Open-source tax computation skills for AI. 371 skills across 134 countries.
Upload to Claude, ChatGPT, or any LLM with your bank statement — or connect via MCP so your AI loads the right country's tax skills automatically. Get a working paper ready for your accountant and cut your accounting bill by 80%.
Your accountant charges by the hour. Most of that time is classifying transactions and filling forms. These skills do that work before the meeting. Your accountant reviews and signs off in 20 minutes instead of 3 hours.
Website: openaccountants.com
| Method | How it works | Best for |
|---|---|---|
| Manual upload | Download your country's folder, drag .md files into Claude / ChatGPT / any LLM | Quick one-off use, any LLM |
| MCP server | Install once, add one line of config — your AI discovers and fetches skills automatically, every conversation | Developers, power users, Claude Desktop / Cursor |
Both methods use the same skill files. MCP just removes the manual step. See Quick start for uploads or MCP server for the automated path.
Read this before you trust any output.
Honesty is the point: if you know where the gaps are, you can use the project safely. Skeptics welcome.
Most countries (130+): everything you need is in one place under packages/. Upload every file in that folder.
packages/
├── malta/ ← 9 files (VAT + income tax + SSC + guided intake)
├── uk/ ← 8 files
├── germany/ ← 7 files
├── australia/ ← 9 files
├── canada/ ← 12 files
├── india/ ← 7 files
├── spain/ ← 7 files
├── ... 126 more countries
United States: there is no packages/us/ folder. US tax work is split across modular skills under skills/ (federal forms, orchestrators that sequence them, and per-state sales tax). That matches how US compliance layers (federal vs 50 states) rather than a single “country bundle” like Malta.
| What you need | Where it lives |
|---|---|
| Federal workflow base (how the AI should work) | skills/foundation/us-tax-workflow-base.md |
| Federal content (Schedule C/SE, QBI, estimated tax, bookkeeping, etc.) | skills/federal/ — upload all .md files here |
| Orchestration (intake, return assembly, cross-form checks) | skills/orchestrator/ — include the us-*.md files that match your situation (e.g. us-federal-return-assembly.md; California freelancers also use us-ca-*.md) |
| State sales / use tax | skills/us-states/ — pick your state folder and add those .md files if sales tax applies |
| Selected states with extra local files | skills/florida/, skills/texas/, skills/newyork/, skills/washington/ when relevant |
For a typical US freelance federal return, start with us-tax-workflow-base.md, everything in skills/federal/, and the us-*.md files in skills/orchestrator/ your case needs; add state pieces only if they apply.
Contributors: international packages are generated from skills/international/ via scripts/build-packages.py. US skills are edited directly under skills/ until a single generated US package exists.
International: open the folder for your country under packages/. Upload all .md files.
United States: collect the .md files from the paths in the table above (same workflow below).
Upload to:
Say:
Help me with my 2025 taxes. Here's my bank statement.
The AI will ask a few questions, classify every transaction, and produce a working paper for your accountant.
Every country folder contains:
| File | What it does | Same everywhere? |
|---|---|---|
foundation.md | Tells the AI HOW to work — conservative defaults, output format, classification contract | Yes |
intake.md | Onboarding questions, refusal checks, document inference | Yes (country name filled in) |
[country]-vat.md | VAT/GST/sales tax rules, supplier pattern library, form mappings | No — country-specific |
[country]-income-tax.md | Income tax brackets, deductions, transaction patterns | No — country-specific |
[country]-ssc.md | Social security / pension contributions | No — country-specific |
[country]-guided-intake.md | Full guided experience with detailed inference (if available) | No — 8 countries have this |
[country]-return-assembly.md | Cross-checks between VAT, IT, and SSC (if available) | No — 8 countries have this |
Not every country has every file. Some have only VAT. Some have VAT + income tax + SSC. Eight countries have the full guided experience. Check the README inside each country folder.
Upload all files, say "help me with my taxes," and the AI walks you through everything:
| Country | What you get |
|---|---|
| Malta | VAT + TA24 income tax + Class 2 SSC + provisional tax |
| United Kingdom | VAT100 + SA103/SA100 + NIC + student loan |
| Germany | UStVA + Einkommensteuer + Sozialversicherung |
| Australia | BAS + ITR + super + Medicare levy |
| Canada | GST/HST + T1/T2125 + CPP/EI |
| India | GST + ITR-3/4 + advance tax |
| Spain | IVA + IRPF + RETA |
| United States (CA) | 1040 + Schedule C/SE + CA 540 |
VAT + income tax + social contributions. No guided intake, but the AI uses the universal intake flow:
Austria, Belgium, Brazil, Chile, Colombia, Czech Republic, Denmark, France, Greece, Hungary, Ireland, Italy, Japan, Kenya, Mexico, Netherlands, New Zealand, Nigeria, Norway, Poland, Portugal, Romania, Singapore, South Africa, South Korea, Sweden, Switzerland
Consumption tax classification with country-specific supplier pattern libraries. From Albania to Zimbabwe.
Every country skill contains a lookup table of local vendors. When the AI sees "BANK OF VALLETTA" or "DEUTSCHE TELEKOM" or "STRIPE PAYMENTS UK LTD" on your bank statement, it already knows the classification — no guessing.
| Outcome | What it means | What happens |
|---|---|---|
| Classified | Documents carry enough info | Applied automatically, no flag |
| Assumed | Data missing, conservative default applied | Flagged for your reviewer with the assumption disclosed |
| Needs Input | Can't proceed without asking you | One targeted question |
When uncertain, the system always assumes MORE tax, never less. Your accountant can override a conservative position. They can't easily undo an aggressive one.
Skills are partially verified at best unless you confirm the tier. Q1 means practitioner sign-off on real data; most files are not Q1. Full definitions (including Q4/Q5): docs/QUALITY-TIERS.md.
| Tier | What it means |
|---|---|
| Q1 — Battle-tested | Run against real bank statements. Multiple iterations. Practitioner signed off. |
| Q2 — Research-verified | Every rate verified against tax authority websites. Not yet tested on real data. |
| Q3 — AI-drafted | Full structure and citations. Not independently verified. |
Instead of uploading files by hand, connect your AI client to OpenAccountants via the Model Context Protocol. Install once, configure once — every future conversation can pull the right country's skills automatically.
You: "Help me with my Malta taxes. Here's my bank statement."
↓
Claude: calls list_jurisdictions → sees "malta"
Claude: calls list_files("malta") → foundation.md, malta-vat.md, …
Claude: calls get_file("malta", "foundation.md") → full skill loaded
↓
Claude: processes your bank statement with the correct tax rules
git clone https://github.com/openaccountants/openaccountants.git
cd openaccountants
pip install ./mcp # requires Python 3.10+
Claude Desktop — add to claude_desktop_config.json:
{
"mcpServers": {
"openaccountants": {
"command": "openaccountants-mcp"
}
}
}
Cursor — add to .cursor/mcp.json or via Settings > MCP:
{
"mcpServers": {
"openaccountants": {
"command": "openaccountants-mcp"
}
}
}
Full setup details, uv instructions, and environment variables: mcp/README.md.
git clone https://github.com/openaccountants/openaccountants.git
openaccountants/
├── packages/ ← Ready-to-use jurisdiction packages (START HERE for non-US)
│ ├── malta/
│ ├── uk/
│ ├── germany/
│ └── ... 130 more
├── skills/ ← Source files (for contributors); START HERE for United States
│ ├── foundation/ ← Universal workflow base + us-tax-workflow-base.md
│ ├── federal/ ← US federal income tax / Schedule C / SE / QBI / etc.
│ ├── international/ ← Country-specific content (feeds build-packages.py)
│ ├── orchestrator/ ← Intake + assembly (incl. us-federal-return-assembly, us-ca-*)
│ ├── us-states/ ← US state sales & use tax skills
│ ├── cross-border/ ← Reverse charge, WHT, PE risk
│ ├── intelligence/ ← Deadlines, thresholds, optimisation
│ └── patterns/ ← Global vendor patterns
├── scripts/ ← Build tools
│ └── build-packages.py ← Generates packages/ from skills/
└── docs/ ← Planning docs, architecture, roadmaps
python3 scripts/build-packages.py
These countries have AI-drafted skills (Q3) waiting for a human to verify the rates. No tax expertise required — if you can check your tax authority's website, you can help. Pick yours:
| Country | What needs checking | Issue |
|---|---|---|
| France | VAT, income tax, social contributions | #4 |
| Italy | VAT, income tax, INPS contributions | #5 |
| Netherlands | VAT, income tax | #6 |
| Brazil | VAT, income tax, INSS, Simples Nacional | #7 |
| Japan | Consumption tax | #8 |
| Mexico | IVA | #9 |
| South Korea | VAT | #10 |
| Ireland | VAT, income tax, PRSI | #11 |
| Switzerland | VAT | #12 |
| Singapore | GST | #13 |
| Nigeria | VAT | #14 |
| South Africa | VAT | #15 |
| Poland | VAT, ZUS contributions | #16 |
| Belgium | VAT | #17 |
| Sweden | VAT | #18 |
Don't see your country? Open an issue and we'll create one.
Use Claude's deep research to verify rates against your tax authority's website. If you find an error — and you will — submit a PR. We've found errors in every single country we've verified. Yours probably has some too.
Prompt for deep research:
"Search [your country] tax authority website for the current VAT/GST rate,
registration threshold, and filing deadline. Compare against this skill file."
Most countries have VAT but no income tax skill. Here's how to add one:
skills/international/malta/malta-income-tax.md)Know how your local bank formats statements? Know what "ENERGA SA" or "COUPANG" looks like on a bank CSV? That one line you add saves every user in your country from a misclassification.
Every skill you write, verify, or improve — your name is on it publicly. Contributors build a profile at openaccountants.com.
See CONTRIBUTING.md for the full guide.
Pull requests: contributions are accepted under the Contributor License Agreement (CLA.md). You explicitly agree by ticking the CLA box in the pull request template when you open a PR.
All skills and outputs are for informational and computational purposes only. Not tax advice. Not a replacement for professional judgment. All outputs must be reviewed by a qualified professional before filing.
The most up-to-date, verified version is maintained at openaccountants.com.
Dual-licensed: AGPL-3.0 for open-source use, commercial license for proprietary products.
Contributions are licensed to the project under the Contributor License Agreement; see CONTRIBUTING.md and the PR template for how you opt in.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.