MCP Hub
Back to servers

taxformatter

Parse crypto CSVs and bank PDFs into clean transaction data for Koinly, TurboTax, CoinLedger.

Registryglama
Updated
May 4, 2026

Quick Install

npx -y @taxformatter/mcp-server

📊 TaxFormatter

Crypto CSVs and bank statement PDFs, parsed into tax-ready data.

REST API · MCP Server · Node SDK · Python SDK · Consumer Dashboard

API MCP Node SDK License


🚀 What It Does

TaxFormatter turns messy financial exports into structured, tax-ready data — for humans and for AI agents.

Drop a CSV from Coinbase, a ZIP from Kraken, a .tar.gz from Binance, or a PDF statement from Chase, and get back a clean, normalized transaction set you can pipe into Koinly, TurboTax, CoinLedger, ZenLedger — or straight into your own software.

   Exchange CSV                        Clean, normalized
   Bank PDF              →             transactions (JSON / CSV)
   XLSX / ZIP / TAR.GZ                 + AI-generated insights

✨ Features

🔌 Developer REST API

Ship a crypto-tax or bank-ingestion feature into your product in an afternoon.

  • POST /v1/parse — upload a CSV or PDF, get structured JSON back
  • GET /v1/sources — list every supported exchange, bank, and output format
  • GET /v1/usage — monthly quota, RPM limit, current consumption
  • GET /v1/health — liveness probe
  • Auth: X-API-Key header with tf_live_* keys (SHA-256 hashed at rest)
  • Host: https://api.taxformatter.com

🤖 MCP Server for AI Agents

Give Claude, Cursor, Windsurf, or any MCP-compatible agent the ability to parse crypto and bank data directly.

npx @taxformatter/mcp-server
ToolWhat it does
parse_crypto_csvAuto-detects the exchange, returns normalized transactions
parse_bank_statementExtracts transactions from bank statement PDFs
list_supported_sourcesQueries every supported source + output format

📦 Official SDKs

🏦 14 Exchanges · 7+ Banks · 4 Tax Software Formats

Exchanges: Coinbase · Kraken · Gemini · Binance · Robinhood · Crypto.com · PayPal · Cash App · Venmo · KuCoin · Bybit · FTX · Bitfinex · OKX

Banks: Chase · Mercury · Navy Federal · Bank of America · Wells Fargo · Citi · Capital One

Export formats: Koinly · TurboTax (Form 8949) · CoinLedger · ZenLedger

🧠 Tiered AI Insights

Every parsed file comes back with actionable analysis — scaled to your plan.

TierModelOutput
FreeGemini 1.5 FlashQuick stats + basic flagging
ProClaude Sonnet 4Balanced analysis, breakdowns
PremiumClaude Opus 4Deep analysis + tax suggestions

🖥️ Consumer Dashboard

Not a developer? The web app at taxformatter.com is a full drag-and-drop experience with real-time job status, exchange auto-detection, transformation previews, and one-click downloads.


🏗️ Tech Stack

LayerTechnology
FrontendNext.js 16 · React 19 · TypeScript · Tailwind v4
AuthNextAuth (Google OAuth + email/password + 2FA)
DatabaseNeon (serverless PostgreSQL)
StorageAWS S3 (presigned URLs)
QueueAWS SQS + DLQ
ComputeAWS Lambda × 4 (scanner, processor, webhook, api)
EdgeAWS API Gateway + WAF + CloudFront
PaymentsStripe (consumer + developer tiers)
EmailAWS SES / Nodemailer
MonitoringSentry + CloudWatch
IaCTerraform

📁 Repo Layout

trw/
├── app/                 # Next.js App Router (marketing, dashboard, /v1 admin)
│   ├── api/             # Internal API routes (NextAuth, uploads, jobs, dev keys)
│   ├── dashboard/       # Authenticated user area + /dashboard/developer
│   ├── docs/            # MDX-powered docs site
│   └── upload/          # Anonymous bank statement → CSV landing page
│
├── backend/             # Python processing layer (AWS Lambda)
│   ├── handlers/        # scanner · processor · webhook · api
│   ├── services/
│   │   ├── engine.py            # CSV parsing (14 exchange parsers)
│   │   ├── format_converter.py  # Koinly → TurboTax/CoinLedger/ZenLedger
│   │   ├── fingerprinting.py    # Exchange auto-detection
│   │   ├── ai_insights.py       # Tiered AI analysis
│   │   ├── api_auth.py          # API key validation + rate limiting
│   │   └── bank_statement/      # PDF extraction pipeline
│   ├── configs/banks/*.yaml     # YAML-driven bank configs
│   └── terraform/               # Infra as code
│
├── packages/
│   ├── mcp-server/      # @taxformatter/mcp-server (npm)
│   ├── sdk-node/        # @taxformatter/sdk (npm)
│   └── sdk-python/      # taxformatter (PyPI)
│
├── components/          # React components (marketing, dashboard, ui)
├── lib/                 # Business logic (auth, api-keys, stripe, email)
├── db/                  # PostgreSQL schema + migrations
└── docs/                # Setup guides

Full architectural reference: ARCHITECTURE.md


⚡ Quick Start

Run the web app

npm install
npm run dev

Open http://localhost:3000.

Try the API

curl -X POST https://api.taxformatter.com/v1/parse \
  -H "X-API-Key: tf_live_..." \
  -F "file=@coinbase.csv"

Use the MCP server with Claude Code

{
  "mcpServers": {
    "taxformatter": {
      "command": "npx",
      "args": ["@taxformatter/mcp-server"],
      "env": { "TAXFORMATTER_API_KEY": "tf_live_..." }
    }
  }
}

Install the Node SDK

npm install @taxformatter/sdk
import { TaxFormatter } from "@taxformatter/sdk";

const tf = new TaxFormatter({ apiKey: process.env.TF_API_KEY! });
const result = await tf.parse({ file: fs.createReadStream("./coinbase.csv") });

🧪 Testing

npm test              # Jest unit tests (160+ across API, MCP, keys, UI)
npm run test:e2e      # Playwright end-to-end tests
npm run typecheck     # TypeScript strict mode
npm run lint          # ESLint

💳 Pricing

Consumer (dashboard)

TierPriceHighlights
Free$03 downloads/month · Gemini insights
Pro$89/yearUnlimited · Claude Sonnet insights
Premium$189/yearEverything + Claude Opus + priority support

Developer (API)

TierPriceQuotaRPMHighlights
Free$025 files10All 14 exchanges · No credit card
Starter$29/mo100 files30All 14 exchanges
Growth$99/mo500 files60+ Bank PDF parsing
Business$249/mo2,000 files120+ Custom integrations · SLA

🔒 Security Highlights

  • Stateless API processing — file content lives in Lambda RAM only, never written to disk
  • Zero payload loggingapi_requests stores metadata only (hash, status, bytes, timing)
  • API keys SHA-256 hashed at rest, prefixed tf_live_ for easy identification
  • TLS 1.3 enforced everywhere
  • AES-256 encryption on all stored uploads
  • AWS WAF — DDoS shield, SQL injection, XSS mitigation
  • User-controlled retention — 1 year default, or delete-after-download

Full disclosure at taxformatter.com/security.


📚 Documentation


License

Private — Quantum Transfer Group. All rights reserved.

Reviews

No reviews yet

Sign in to write a review