# AI2Fin (2Fin) Tax MCP [Health: Active]

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/embracingearth-space/ai2fin-tax-mcp  
**GitHub Stars:** 0  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/ai2fin-2fin-tax-mcp

## Description
Free public tax MCP: GST/VAT, income, company & capital-gains tax for 50+ countries, source-cited.

## Tools
Capabilities this server exposes over MCP:

- **tax_rate_lookup** — A country's GST/VAT, income and company tax rates
- **compute_gst_vat** — Add or remove a country's GST/VAT on an amount
- **compare_countries** — Compare tax across countries — [ai2fin.com/tools/compare](https://ai2fin.com/tools/compare) as a callable
- **income_tax_estimate** — Income tax estimate over effective-dated brackets (AU, NZ)
- **company_tax_estimate** — Company tax estimate with small-business thresholds (AU, US, GB, IN, CA)
- **cgt_estimate** — Capital-gains tax estimate — losses, discount, marginal stacking (AU resident individuals)

## Claude Desktop Quick Installation
Remote MCP endpoint (confidence: high). Install path detected from listing signals. Add as a URL/SSE server in your client:

```json
"mcpServers": {
  "ai2fin-2fin-tax-mcp": {
    "url": "https://modelcontextprotocol.io"
  }
}
```

## Documentation & README

# Tax MCP

The [Model Context Protocol](https://modelcontextprotocol.io) server behind the free tax tools at **[ai2fin.com/tools/compare](https://ai2fin.com/tools/compare)** — so assistants (Claude, ChatGPT, agents) can call them directly.

> **Stateless and no-auth.** It computes over public rate data only and stores nothing. (This is separate from the authenticated app MCP at `app.ai2fin.com/mcp`, which works on your real financial data behind OAuth.)

## Tools

| Tool | What it does |
|---|---|
| `tax_rate_lookup` | A country's GST/VAT, income and company tax rates |
| `compute_gst_vat` | Add or remove a country's GST/VAT on an amount |
| `compare_countries` | Compare tax across countries — [ai2fin.com/tools/compare](https://ai2fin.com/tools/compare) as a callable |
| `income_tax_estimate` | Income tax estimate over effective-dated brackets (AU, NZ) |
| `company_tax_estimate` | Company tax estimate with small-business thresholds (AU, US, GB, IN, CA) |
| `cgt_estimate` | Capital-gains tax estimate — losses, discount, marginal stacking (AU resident individuals) |

The estimate tools answer only for countries with verified data and degrade to "not available" elsewhere. Every result carries a "general information, not tax advice" note and cites its source authority.

## Data = single source

`data/rates.json` is produced by the website's `gen:tax` pipeline — the same source behind the [calculator and comparison pages](https://ai2fin.com/tools/compare) — so the MCP, the widgets and the pages never disagree. Don't hand-edit it.

## Run / deploy

```bash
cd tax-mcp
npm install
npm run dev      # local: POST JSON-RPC to http://localhost:8787
npm run deploy   # to Cloudflare; then map a route e.g. taxmcp.ai2fin.com
npm run bundle   # writes dist/worker.js — a single paste-ready file for the
                 # Cloudflare dashboard editor when the CLI isn't available
```

Full deploy steps (dashboard copy-paste **or** CLI): **[DEPLOY.md](DEPLOY.md)**.

Abuse protection is via the Cloudflare dashboard (rate limiting + WAF) — not auth.

## Connect

Add the deployed URL as a custom MCP connector in Claude (Settings → Connectors) or ChatGPT (developer mode). A `GET` to the root returns server info; the MCP handshake is `POST` JSON-RPC (`initialize` → `tools/list` → `tools/call`). It pairs with the live comparison tool at [ai2fin.com/tools/compare](https://ai2fin.com/tools/compare).

## Quick check

```bash
curl -s https://taxmcp.ai2fin.com -X POST -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"compute_gst_vat","arguments":{"country":"AU","amount":100,"mode":"add"}}}'
```

