Local-first AI tax preparer with encrypted PII built on MCP

A developer has built a local-first AI tax preparer as an extension for Crow, an open-source platform that exposes tools via the Model Context Protocol (MCP). The system encrypts all personally identifiable information (PII) including Social Security numbers and names with AES-256-GCM at extraction time.
How it works
The extension works with any MCP-compatible client: Claude, ChatGPT, Gemini, local models through Ollama, or anything else that speaks MCP. The AI assistant interacts with tax data through MCP tools but never receives plaintext SSNs. When the AI needs to fill an SSN field, it sends a "fill SSN" command, and the encrypted vault resolves it.
Privacy and local-first architecture
The entire system is designed to keep sensitive data on your machine. You can run the whole thing against a local model, and your sensitive data never leaves your machine at any layer. The architecture includes:
- SQLite database for local storage
- Local PDF parsing and generation
- No external API calls for tax data
Tax calculation capabilities
The calculation engine covers:
- Form 1040
- Schedule 1
- HSA (Form 8889)
- Education credits (Form 8863)
- Self-employment (Schedule C/SE)
- Capital gains (Schedule D)
Additional components
The developer also built:
- A browser automation extension using stealth Chromium in Docker with VNC viewer and 18 MCP tools
- A custom skill that automates filing through IRS Free File Fillable Forms (not in the public repo due to IRS TOS concerns, but documented in the blog post)
Model requirements
The tax engine doesn't require a powerful model since the MCP tools handle all the math. The model just needs to understand "upload these documents and prepare my return" and call the right tools in sequence. A smaller local model that supports tool calling should work fine for the orchestration layer.
Open source availability
The project is open source and available on GitHub, allowing developers to extend it for their own needs.
📖 Read the full source: r/LocalLLaMA
👀 See Also

Local-First Movie Recap Pipeline Using Whisper + CLIP + Ollama
A fully local pipeline that auto-generates narrated movie recap videos using Whisper, CLIP, Ollama, Edge TTS, and FFmpeg. Drop in a movie file, get a narrated recap in ~15 minutes.

Testing Local LLMs for Autonomous Code Generation: Quality vs. Speed Benchmark
A developer built a harness to test local LLMs on real Go code generation tasks, measuring compilation success, field extraction accuracy, and throughput. Results compare models across quality and speed.

Colony: A Local-First Coordination Layer That Cuts Multi-Agent Handoff Tokens from 30K to 400
Colony is a local-first coordination substrate that reduces multi-agent handoff costs from ~30,000 tokens to ~400 by replacing context replay with compact observations stored in SQLite.

Dual DGX Sparks vs Mac Studio M3 Ultra: Practical Comparison for Running Qwen3.5 397B Locally
A developer compared running Qwen3.5 397B locally on a $10K Mac Studio M3 Ultra 512GB and a $10K dual DGX Spark setup. The Mac Studio achieved 30-40 tok/s with 800 GB/s bandwidth but slow prefill, while the Sparks delivered 27-28 tok/s with faster compute but complex setup.