Receipt Sweep
Connects to a Gmail inbox over IMAP using an App Password, allowing searches across all folders for receipts and invoices, reading email content, and saving attachments for spending extraction and categorization.
Connects to iCloud Mail over IMAP using an app-specific password, enabling searches across all folders for receipts and invoices, reading email content, and saving attachments for spending extraction and categorization.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Receipt SweepSweep my Gmail inbox for receipts from last year and build a categorized spending spreadsheet."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
π§ Receipt Sweep
An MCP server + Claude skill that connects to your email inbox, finds receipts and invoices, and builds a categorized spending spreadsheet β all powered by AI.
How it works
βββββββββββββββ IMAP ββββββββββββββββββββ MCP βββββββββββββ
β Your Email βββββββββββββββΊβ Receipt Sweep βββββββββββββββΊβ Claude β
β (Gmail, β App β MCP Server β tools β (AI) β
β Yahoo, β Password β β β β
β Outlook) β β β’ search_emails β β Extracts β
βββββββββββββββ β β’ read_email β β amounts, β
β β’ save_attachmentβ β categoriesβ
ββββββββββββββββββββ β & builds β
β .xlsx β
βββββββββββββYou install the MCP server and skill
You provide your email address + an App Password (never stored)
Claude connects via IMAP and searches every folder for receipts
Claude reads each email, extracts dates, amounts, and store names
Claude builds a formatted Excel spreadsheet with categories and totals
Related MCP server: email-mcp
Supported email providers
Provider | IMAP Host | Auth |
Gmail | imap.gmail.com | |
Yahoo Mail | imap.mail.yahoo.com | |
Outlook / Hotmail | outlook.office365.com | Password or App Password |
iCloud Mail | imap.mail.me.com | |
Custom | Any IMAP server | Password |
Installation
The quickest path is the Claude plugin. The install scripts below are the manual route for Claude Desktop.
Install as a Claude plugin (recommended)
Requires uv on your PATH (the plugin launches the
server with uvx). In Claude Code:
/plugin marketplace add saranya-ms/receipt-sweep
/plugin install receipt-sweep@receipt-sweepThis installs the MCP server and the receipt-sweep skill together. Start a new
session, then say "Sweep my email for receipts."
Install scripts (Claude Desktop)
macOS / Linux
git clone https://github.com/saranya-ms/receipt-sweep.git
cd receipt-sweep
./install.shWindows
git clone https://github.com/saranya-ms/receipt-sweep.git
cd receipt-sweep
.\install.ps1What the installer does
Checks for Python 3.10+
Creates a virtual environment in
.venv/Installs the MCP server package
Registers the server in your Claude Desktop config
Manual installation
If you prefer to install manually:
# Create and activate a venv
python3 -m venv .venv
source .venv/bin/activate # or .venv\Scripts\activate on Windows
# Install the package
pip install -e .
# Add to your Claude Desktop config (claude_desktop_config.json):
# {
# "mcpServers": {
# "receipt-sweep": {
# "command": "/path/to/receipt-sweep/.venv/bin/receipt-sweep-mcp",
# "args": []
# }
# }
# }Usage
After installation, restart Claude and say:
"Sweep my email for receipts"
Claude will walk you through:
Choosing your email provider
Entering your App Password (shown in the provider's security settings)
Selecting a date range
Running the sweep
The spreadsheet it produces
Sheet 1 β Receipts: Every transaction with Date, Store, Category, Amount, Currency
Sheet 2 β Summary: Spending totals by category
Sheet 3 β Notes: What was searched, what was excluded, PDF-only receipts to review manually
Plus β an offline HTML dashboard: a self-contained .html file with KPI tiles, a
spending-by-category chart, a month-by-month chart, top merchants, and a sortable
transaction table. It renders entirely in the browser with no internet connection β all
charts are inline SVG and there are no external requests.
Incremental sweeps
Each run can save its state so the next run picks up where it left off β no duplicate scanning.
MCP Tools provided
Tool | Description |
| Show supported providers and App Password instructions |
| Connect to an inbox via IMAP |
| Close the connection |
| Check if connected |
| List all mailbox folders |
| Search one folder by sender, subject, date range |
| Read the full content of an email |
| Download a PDF or other attachment |
| Search across every folder at once |
Security & privacy
App Passwords only β the server never sees your real password
No storage β credentials are held in memory for the session only; nothing is written to disk
Read-only β the server opens mailboxes in read-only mode; it never modifies, moves, or deletes emails
Local β the MCP server runs on your machine; email data never leaves your computer except to Claude for AI processing
Revocable β you can revoke the App Password at any time from your email provider's security settings
Privacy Policy
Receipt Sweep runs entirely on your own machine.
Data collection β The server reads only the mailbox data you ask it to: email headers, bodies, and attachments returned by your IMAP searches. It collects no analytics, telemetry, or usage data.
Usage & storage β Your email address and App Password are held in memory for the session only and are never written to disk. Email content is passed to Claude solely to extract receipt data at your request.
Third-party sharing β Nothing is sent to the author or any other third party. Data leaves your machine only to (a) your email provider over TLS/IMAP and (b) Claude, for the AI processing you initiate.
Data retention β No credentials or email data are retained after the session ends. Spreadsheets and dashboards are written only to the location you choose.
Contact β Questions or issues: https://github.com/saranya-ms/receipt-sweep/issues
Requirements
Python 3.10+
uv(for the plugin install path)Claude Desktop or Claude Code
An email account with IMAP enabled
Distribute as a plugin
This repo is also a Claude plugin and its own marketplace (.claude-plugin/). Users
install it with the two /plugin commands in Installation.
Submit it to Anthropic's directory
To list it in the public directory (installable from claude.ai and Cowork, and synced into Claude Code):
Validate locally:
claude plugin validate ./ --strict.From a paid Claude plan, open claude.ai/directory/manage β Submit new β Plugin. The portal reads the listing fields from
.claude-plugin/plugin.jsonand the Privacy Policy section above.Anthropic auto-scans the submission for policy compliance and lists it as a Community plugin; some submissions also get a human review. Track status in the portal.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Your mailboxes in ChatGPT and Claude: Gmail, iCloud, Fastmail, any IMAP. Passwords stay yours.
Connect any mailbox to Claude, ChatGPT & AI: read, send, reply, schedule & search emails.
Search connected email, read and manage messages, draft and send, and manage rules for new mail.
1Gmail, Outlook, iCloud, Fastmail and any IMAP mailbox for your agent. Scoped OAuth, approved sends.
Related MCP Servers
- AlicenseAqualityAmaintenanceEnables Claude to interact with email accounts via IMAP and SMTP, providing tools for searching, reading, sending, and managing emails across multiple providers.402,664 npm111MIT
- FlicenseNot gradedqualityBmaintenanceEnables Claude to read, search, draft, send, flag, and move email across multiple IMAP/SMTP mailboxes while keeping credentials local.-
- FlicenseNot gradedqualityDmaintenanceEnables Claude Code to manage email inboxes via IMAP, including reading, categorizing, phishing detection, archiving, junking, and sending emails with user permission.-
- AlicenseAqualityCmaintenanceEnables Claude to read, manage, and send email from any IMAP mailbox over plain IMAP and SMTP, including hosting-company and self-hosted mail servers. It provides tools for searching, reading, moving, deleting, and composing messages while built-in safety rules prevent unintended changes.12MIT