OpenAccountants

io.github.openaccountantsPublished by GitHub account openaccountantsv1.0.0Updated Oct 26, 2026

Open-source AI accounting skills verified by licensed accountants (tax, VAT, payroll).

VerifiedStreamable HTTPWeb executableFinanceKnowledge & MemoryBusiness & Commerce

Overview

AI-generated overview

Remote MCP server giving assistants sourced tax, VAT/GST and payroll skills, rules and deadlines for 190+ jurisdictions.

What you can do
  • Start a tax question and get scoped to the right jurisdiction and intent
  • Search and open skills by topic, slug or jurisdiction, with quality tier and reviewer
  • Look up rates, thresholds and rules across one or many jurisdictions with official sources
  • Fetch filing and payment deadlines, and browse covered jurisdictions and reviewers
  • Validate EU VAT numbers against the VIES registry and check audit exemption thresholds
  • Retrieve pricing quotes and, only on request, send anonymized feedback or a request for human help
When to use it
Useful when an assistant is asked tax, VAT/GST, payroll, filing or audit questions and should answer from cited sources rather than memory, especially across multiple countries or US states.
Requirements
A remote MCP endpoint added as a connector in an MCP-capable client; no package, key or environment variable is declared. Some features (saved home jurisdiction, accountant orientation) refer to signed-in users.
Before you install
Output is general reference, not advice, and may be incomplete, outdated or wrong for the user's facts; check each skill's review status before relying on it. The share tool sends feedback or work requests to the provider, so use it only when the user asks. VAT validation queries the EU VIES registry.

Installation

In SourceWeft

  1. Open OpenAccountants in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.openaccountants%2Fopenaccountants/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "openaccountants": {
      "type": "http",
      "url": "https://www.openaccountants.com/api/mcp"
    }
  }
}

README

OpenAccountants

Open tax skills for AI. Your AI answers tax questions from memory. Add these skills and it answers from the law: every rate, threshold and deadline cited to its official source, for 190+ jurisdictions.

[License: AGPL-3.0] [PyPI] [GitHub stars]

2,132 AI skills across 249 jurisdictions · 33 accountant-reviewed · 39 named accountants · 6,115 questions answered through connected AIs

Live from openaccountants.com — updated 2026-10-30 by the nightly sync.


Find your country

Browse all countries, by region, with the state of each pack. United States: federal and states.


Add to your AI

Add this address to Claude, ChatGPT, Cursor, Windsurf or any AI that takes a connector:

https://www.openaccountants.com/api/mcp

Guided setup: openaccountants.com/connect

Then ask a question your AI would otherwise guess at:

"What's the combined sales tax rate in Manatee County, Florida for 2026?"

Prefer self-hosting or manual files?
  • pip MCP server: pip install openaccountants-mcp (mirrors this repo's packages/)
  • Manual: download your jurisdiction's folder from packages/ and upload the files to your AI. Start with your country's main package; index.json is the machine-readable inventory.

Also listed on Smithery and the MCP Registry.


Contribute

Three ways in, all in CONTRIBUTING.md:

  • I can write. Take a country and write its missing skills from the law.
  • I am an accountant. Review a skill and put your name on it.
  • I found a mistake. Open an issue with the source that shows it.

How to read a skill

This library holds accountant-reviewed skills and skills no accountant has signed off yet. Check each skill version's review record before relying on it; a named author is distinct from a professional reviewer. Skill content is source-available under the terms in LICENSING.md.

Every skill is in exactly one state:

StateMeaning
Accountant-reviewedA named, licensed accountant reviewed the complete skill. Their name is in the frontmatter (reviewed_by:) and on the public roster
Checked against the lawBuilt to the standard in docs/skill-template.md: every figure cited to the law and checked against the statute by an independent review before merge; no accountant has signed it off yet
Sourced from the lawOlder skill not yet rebuilt to the standard: every figure cited to an official source; no accountant has signed it off yet

The definitions: docs/QUALITY-TIERS.md. How skills are built, checked and corrected: docs/ACCURACY-METHODOLOGY.md. Which number to quote and where it is measured: docs/COVERAGE.md.

⚠️ General reference, not advice. Skills may be incomplete, outdated, or wrong for your facts. Have a qualified professional review outputs before filing, payment, or action.


Need the work done?

OpenAccountants also does the bookkeeping, VAT, payroll and tax work for businesses, in the countries they work in. Talk to us. The skills and the AI connection stay free.


How it stays accurate

A tax library is only as good as its worst stale number, so machines re-check this one every night:

  • The maths check re-reads every skill and flags sums that do not add up, tax bands with gaps, totals that do not total, and years that disagree.
  • The source watch visits the official pages the figures came from and raises a hand when a page changes.
  • The refresh engine re-derives the stalest skills from official sources on a fixed monthly budget, refusing to publish any figure without a link.
  • The nightly exam tests whether AIs actually said what the skills say that day, or improvised. Improvisation gets caught, counted and fixed at the source.

The sync runs both ways: platform edits land here as commits under the author's own name, and merged PRs here flow back into what every AI serves, credited to you. A skill with an accountant's byline never changes without that accountant's one-click approval.

The whole story, in plain words: openaccountants.com/how-it-works


For developers

WhatWhere
Skill source (per jurisdiction)skills/
Per-country bundles (generated)packages/
Machine-readable inventoryindex.json
LLM entry pointllms.txt
Python MCP servermcp/ · PyPI
Repo architecture + syncdocs/REPO-LAYOUT.md · docs/WEBSITE-SYNC.md

API and platform integrations: openaccountants.com/for-developers


Related open-source projects

Independent, open-source review aids and calculation tools that complement the OpenAccountants skill library:

  • payday-super-checker (Apache-2.0): Verifies superannuation contributions against Australian Payday Super deadlines (in force since 1 July 2026) and estimates SG charge exposure on late payments, with all workings and statutory assumptions disclosed.
  • div7a-loan-review (Apache-2.0): Reviews Division 7A loan terms and minimum yearly repayments against the ATO benchmark interest rate, with fabricated inputs and explicit refusal boundaries.
  • xero-trial-balance-export (Apache-2.0): Exports a Xero trial balance to CSV only when month-movement and YTD column pairs both balance exactly.
  • ato-benchmark-compare (Apache-2.0): Evaluates business P&L statements locally against the Australian Taxation Office (ATO) small business performance benchmarks, surfacing variance flags and ratio analyses.

(External tools provide computational review assistance and do not constitute tax or legal advice.)


License

Contact: [email protected] · Security policy · Cite this repo

Source: README.md at commit 59c23ac

Tools

15

start

Answer a tax question (call first)

Call this first for any tax, VAT/GST, payroll or filing question about a country or US state, such as "how much tax will I pay in Spain", "do I need to register for VAT", "when is my tax return due", "is this deductible", "how is a freelancer or a company taxed in Germany", "sales tax in Texas" or "what changes if I move to Portugal". Pass the user's question as `intent` and the country or US state as `jurisdiction` ('DE', 'US-TX', 'Florida'). If no place is named, start infers one when the question makes it clear and says so in `jurisdiction_source`. Returns the skills to read next (`skills_to_load`, open each with get_skill), or what is still needed, usually the country. Covers 190+ jurisdictions; where no skill exists yet it returns a research_brief naming the official sources.

Parametersintentrequiredreasonacting_asjurisdictiontaxpayer_type

search_skills

Search tax skills by topic

Find the skill for a specific tax topic by keyword: a deduction, form, regime or rule such as 'home office deduction', 'Schedule C', 'reverse charge', 'crypto capital gains' or 'Beckham regime'. Optionally limit to one jurisdiction or domain. Returns matching skill slugs to open with get_skill. Set content_type='method' to find step-by-step methods (run them via start), each tagged accountant-reviewed or source-cited.

Parametersqueryrequireddomaincontent_typejurisdiction

get_skill

Read a tax skill

Open a skill by slug (from start, search_skills or search_rules) to answer the user's question. Returns the skill's rules and method, its quality tier, the named accountant where one reviewed it, a `section_index` of sections not inlined, and a provenance footer to keep with the answer.

Parametersslugrequiredreason

search_rules

Look up tax rates and rules

Look up tax rates, thresholds and rules in one or many jurisdictions, such as 'VAT rates in MT, IE and DE', 'income tax brackets for 2025' or 'rules mentioning reverse charge'. Returns a bundled markdown rule set plus each jurisdiction's official source (`official_source`). For one specific figure in one jurisdiction a skill is often more complete (search_skills then get_skill): a figure can sit in a skill without being a separate rule here, and then this returns related guidance instead. Entries tagged `GUIDANCE` are text, not values. Figures are not certified current: confirm each against `official_source` and prefer it when they disagree. By default returns all matching rules, each tagged with its verification status; status:'verified' excludes draft, needs_update and unsure rules; it still includes research-verified (source-cited) rules, so it does not mean accountant-reviewed. list_rule_facets gives the valid filter values.

Parameterstextlimitrolestopicoffsetreasonstatusdomainsstatusestax_yearblock_typesjurisdictions

list_skills

Browse tax skills

Browse the skills for one jurisdiction or domain (for example every skill for 'MT', or every 'payroll' skill), each with its quality tier and verification status. For a specific topic, search_skills is quicker. Filter by jurisdiction, domain or role ('foundation' | 'compute' | 'orchestrator' | 'reference'). Paginated (default 100, max 200); page with offset/next_offset.

Parametersrolelimitdomainoffsetcategoryjurisdiction

get_skill_sections

Read more sections of a skill

Follow-up to get_skill: fetch sections it listed in `section_index` as not inlined (for example a supplier-pattern library). Pass `section_index` for one section, or omit it to get every section with its heading and markdown.

Parametersslugrequiredsection_indexsection_indices

get_deadlines

Tax filing deadlines

Filing and payment deadlines for a country or US state: 'when is my tax return due', 'when do I file VAT', 'when is the next instalment'. Returns upcoming dates and recurring filing rhythms (monthly VAT, quarterly instalments) from the OpenAccountants tax calendar. Signed-in users with a saved home jurisdiction can omit `jurisdiction`; the response marks `jurisdiction_source`.

Parametershorizon_daysjurisdiction

list_rule_facets

List queryable rule facets (no args)

Helper for search_rules: lists the values you can filter on (live jurisdictions, domains, roles, rule kinds, statuses, tax years, a sample of topics) and the defaults. Takes no arguments. Use it when unsure of a filter value rather than guessing.

Takes no parameters.

start_help

What can you help with? (no args)

Call when the user has no tax question yet and opens with 'what can you do?', 'how can you help me?' or 'where do I start?'. Takes no arguments. Returns the two scoping questions plus the available intents and jurisdictions; for a signed-in approved accountant, a short personal `orientation` briefing instead. Once there is a question, call `start`.

Takes no parameters.

list_jurisdictions

List all jurisdictions covered

Answers 'which countries do you cover?' or 'what is there for [country]?'. Returns every jurisdiction with published skills (countries as ISO 2, US states as US-XX, Canadian provinces) with skill counts, accountant-reviewed counts and the named lead accountant where there is one.

Takes no parameters.

list_verifiers

List named accountant verifiers

Answers 'who reviewed this?' or 'which accountants are behind this?'. Returns the named licensed accountants who have signed off on OpenAccountants jurisdictions, with their credentials and the jurisdictions they cover.

Parametersjurisdiction

get_quote

Get an OpenAccountants fee estimate

Call only when the user asks what OpenAccountants charges, requests a quote, or asks whether their current fee is fair. Returns the same published plans, service prices, limits, market exceptions and hourly rate as the website, plus the engagement process and contact details. Match the client's scope to the listed prices; incomplete scope means the total is provisional. Separately quoted services must be confirmed by OpenAccountants. This tool does not create an engagement.

Parametersreasonservicescurrent_feeentity_typejurisdictionmonthly_volume

validate_vat_number

Validate an EU VAT number (live VIES lookup)

Check live whether an EU VAT number is valid and registered, for example before applying a B2B reverse charge, zero-rating an intra-EU sale or onboarding a supplier. Queries the European Commission's VIES registry and returns the verdict plus the registered business name and address where the authority discloses them. Coverage: the 27 EU member states plus 'XI' (Northern Ireland); use 'EL' for Greece. Other countries, including the UK, are not supported yet: say live validation is not available there rather than guessing. If the registry is down the response says so.

Parametersvat_numberrequiredcountry_code

check_audit_exemption

Check statutory audit exemption

Answers 'does my company need an audit?' for a private limited company in Malta (MT, Article 185(2) micro thresholds) or the UK (GB, small-company thresholds before and after 6 April 2025). A deterministic check of turnover, balance sheet total and average employees. Returns 'exempt' | 'review' | 'audit_required' | 'cannot_determine', the per-threshold table, the rule citation, and whether a named accountant has confirmed the thresholds ('draft' = source-cited draft; say which). Pass prior_year figures: most regimes are two-consecutive-year tests, so without them a qualifying year returns 'review'. 'cannot_determine' is a valid outcome (unsupported jurisdiction, wrong currency, a shape needing judgment). Use the determination as returned, not thresholds from memory.

Parameterscurrencyrequiredturnoverrequiredprior_yearentity_typegroup_memberjurisdictionrequiredemployees_averagerequiredfinancial_year_endrequiredbalance_sheet_totalrequired

share_with_openaccountants

Share this with OpenAccountants

Only when the user asks: sends their feedback, or their request for a person to check or do the work, to OpenAccountants. Two modes. (1) `note`: an anonymized note about the guidance (a gap, a workaround you needed, or via `skill_slug` a bug in a specific skill). Anonymize hard: no names, amounts, or PII. (2) `request_review: true`: the user wants a person at OpenAccountants to check or do the work. Typical requests: 'can an accountant check this?', 'can someone file this for me?', 'can someone do this for me?', 'I want an accountant', 'can I talk to a person?'. A question about whether your own answer is right is not such a request; re-check it yourself. Also requires `working_paper` (complete), `jurisdiction`, `scenario`, and `contact_email`. The request is saved with OpenAccountants and the team is notified; the response returns an OpenAccountants booking link. The call is free. The work itself is paid: OpenAccountants does it through its accountants, with what is done and the fee agreed on the call before anything starts. Never describe the work itself as free. Call at most once per user request; not as a routine closing step.

Parametersnoterequiredscenariotax_yearskill_slugcontact_namejurisdictioncontact_emailworking_paperrequest_review

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts