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

Google Surf MCP: Free Google Search MCP with PDF Handling and Tiered Extraction
Google Surf MCP is a free MCP server for Google search and URL extraction that handles PDFs and offers a tiered extraction mode (abstract/full) to save tokens.

X-MCP 2.0: MCP Server for X/Twitter API Access from Claude
X-MCP 2.0 is an MCP server that connects Claude Desktop and Claude Code to the X/Twitter API v2 with OAuth 2.0 PKCE authentication, providing 10 tools for posting tweets, searching, getting timelines, liking, retweeting, replying, and viewing profiles.

Roost: A Single-Go-Binary Sidebar for Claude Code with Clickable Prompt History, File Tree, and Notifications
Roost is a single Go binary that adds a web-based sidebar to Claude Code: xterm.js terminal backed by tmux, file tree that follows your cd, clickable prompt history from ~/.claude/projects/*.jsonl, and push notifications via Claude Code's Stop hook. Run over SSH as single-user-per-instance; no build step on the frontend.

Cortex v1.2 adds LLM enrichment, Q&A with citations, and conflict resolution
Cortex, a local memory layer for OpenClaw agents, has released v1.2 with LLM-augmented enrichment by default, a question-answering command with citations, and improved deduplication and conflict resolution. The tool now includes unified configuration management and intent-based search pre-filtering.