
OpenAccountants
On-demand open-source tax & accounting skills for AI agents across 130+ jurisdictions, via MCP.
Add to your client
Copy the config for your MCP client and paste it into its config file.
git clone https://github.com/openaccountants/openaccountants.git && cd openaccountants && pip install ./mcpPaste into ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"openaccountants": {
"command": "openaccountants-mcp",
"args": []
}
}
}Step-by-step guides: Add to Claude Desktop · Add to Cursor · Add to Windsurf
Before you start
- Python 3.10+
- A local clone of the openaccountants/openaccountants repo (the server reads its packages/ directory)
- pip or uv to install the ./mcp package
- Canadian provincial packages are generated — run `python3 scripts/build-packages.py` once after cloning to materialise ca-XX/ skills
About OpenAccountants
A read-only Model Context Protocol server that lets an AI assistant discover and fetch open-source accounting skills (tax, VAT/GST, payroll, formation, bookkeeping, financial statements, transfer pricing, cross-border, integrations) for 134 countries plus every US state and 13 Canadian provinces — without manual file uploads. The agent calls start to get a guided plan, then loads the relevant skill markdown on demand. This is the self-hosted server reading your local checkout's packages/ directory; a hosted superset server with the accountant-verified tier and a human-review handoff is offered separately at openaccountants.com.
Tools & capabilities (6)
startFront door — call first when a user asks for tax/accounting help. Takes optional `intent` (free text, e.g. "taxes", "VAT return") and `jurisdiction` (e.g. "MT", "GB", "US-CA") and returns either a clarification question or a ready-to-execute plan (skills_to_load, expectations, next_action, guardrails).
list_skillsList published skills with their quality tier and verifier. Optional `jurisdiction` (ISO code, e.g. MT, GB, US-CA) and `category` filters.
get_skillGiven a skill `slug`, returns the full skill markdown plus a provenance/attribution footer.
get_skill_sectionsGiven a `slug`, returns the skill parsed into sections (heading, content, level) for step-by-step application.
search_skillsKeyword search across skill markdown (`query`, optional `jurisdiction`). Returns the matched section heading and a snippet.
submit_feedbackBuilds a pre-filled GitHub New Issue URL the user opens to submit feedback (skill problem, missing jurisdiction, bug, etc.). Takes `summary` plus optional `title`, `skill_slug`, `jurisdiction`, `rating`; returns github_url, title, body, labels. No server-side auth — the user submits under their own account.
When to use it
- Build a working paper for a freelancer's or company's annual tax return in a specific jurisdiction (intake, transaction classification, deductions)
- Classify transactions and prepare a VAT/GST return working paper for a given country and period
- Walk a user through company formation and post-formation compliance for a chosen jurisdiction
- Compute payroll/PAYE withholding and employer obligations for an employee in a supported country
- Surface missing deductions and side-by-side compare tax across jurisdictions for cross-border planning
Security notes
Skill access is read-only and path-sandboxed to the packages/ directory. submit_feedback does not call GitHub itself — it only constructs a pre-filled New Issue URL the user opens under their own account, so there is no server-side auth. Outputs are general reference material only, not professional advice; LLMs can hallucinate rates, so a qualified accountant should review before filing or payment.
OpenAccountants FAQ
Is this MCP server tax advice?
No. It serves general tax and accounting reference material for AI-assisted workflows. It is not a law firm, accounting firm, tax preparer, or filing service, and outputs are not tax, legal, accounting, or financial advice. Skills may be incomplete or out of date, and LLMs can hallucinate, so a qualified professional should review outputs before filing or payment.
What is the difference between this self-hosted server and the hosted one?
This self-hosted server (command: openaccountants-mcp, stdio) reads the open-source markdown in your local checkout and exposes 6 read-only tools. The hosted server at https://www.openaccountants.com/api/mcp is a superset that reads the production database, includes the accountant-verified tier, and adds tools like get_rates, list_verifiers, compare_jurisdictions, plan_cross_border, and the request_accountant_review human handoff.
How do I connect it to Claude Desktop or Cursor?
After cloning the repo and running `pip install ./mcp`, add an mcpServers entry with "command": "openaccountants-mcp" to claude_desktop_config.json (Claude Desktop) or .cursor/mcp.json (Cursor). If installed in a virtualenv or with uv, use command "uv" with args ["run", "--directory", "/path/to/openaccountants/mcp", "openaccountants-mcp"].
Which transports are supported?
stdio is the default. The server can also run under streamable-http or sse via the MCP_TRANSPORT env var (with MCP_HOST/MCP_PORT/MCP_STREAMABLE_HTTP_PATH), and the repo ships a Dockerfile that runs it under FastMCP's Streamable-HTTP transport for self-hosting.
Alternatives to OpenAccountants
Compare all alternatives →Official Stripe server for payments, customers, subscriptions, invoices, and billing via natural language.
Coinbase's AgentKit MCP extension for onchain actions: transfers, swaps, and contract calls.
Alpaca's official trading server for stocks, ETFs, options, and crypto in plain English.
Compare OpenAccountants with: