SheetShift
README.md
# SheetShift by 4AM Edge
Free PDF→Excel / spreadsheet toolkit: an open MCP server plus a submission-ready ChatGPT plugin (MIT). Upload a document, get a spreadsheet back — no account, no paywall, no daily conversion limits.
## What it does
SheetShift converts documents into spreadsheets through five stateless tools. Use it three ways: as a ChatGPT plugin, as an MCP server you add to your own AI client, or through the hosted site at https://sheetshift-unwindmeinstead-gmailcoms-projects.vercel.app.
## Tools
| Tool | What it takes | What you get |
|---|---|---|
| `pdf_to_xlsx` | PDF with a text layer | `.xlsx` workbook |
| `csv_xlsx_convert` | CSV or `.xlsx` | Converted file, either direction |
| `statement_extract` | Bank statement / receipt PDF | Clean CSV (`date`, `description`, `amount`) |
| `csv_clean` | Messy CSV | Deduplicated, trimmed, normalized-header CSV |
| `weekly_report` | Bullet points | Client-ready report (Markdown + styled HTML/PDF) |
All five tools are free, complete, and require no account or sign-in. The tool list is also returned live from the MCP server.
## Use it in your AI client
Point your client at the public MCP endpoint:
```
https://sheetshift-unwindmeinstead-gmailcoms-projects.vercel.app/mcp
```
**Claude Code:**
```bash
claude mcp add --transport http sheetshift https://sheetshift-unwindmeinstead-gmailcoms-projects.vercel.app/mcp
```
**Codex CLI:**
```bash
codex mcp add --transport http sheetshift https://sheetshift-unwindmeinstead-gmailcoms-projects.vercel.app/mcp
```
No key, no OAuth — the endpoint is open.
## Live site
The hosted tools and an email list live at [https://sheetshift-unwindmeinstead-gmailcoms-projects.vercel.app](https://sheetshift-unwindmeinstead-gmailcoms-projects.vercel.app).
## Input limits
- PDF inputs: max 50 pages, max 10 MB (text-layer PDFs only; scanned images without a text layer return a clear error — OCR is not part of this build).
- Single file per call.
These caps exist because the serverless host has a ~10-second execution timeout; oversized input gets a clean error, not a hang.
## Run it locally
Requires Python 3.12.
```bash
pip install -r requirements.txt
```
Each tool module under `sheetshift_lib/tools/` is dependency-light (stdlib + `pypdf` + `openpyxl`) and runs standalone via its `__main__` self-test, e.g.:
```bash
python -m sheetshift_lib.tools.pdf_to_xlsx
```
## Agents / API tier
Machine callers can use the same tools over a pay-per-call API at `/api/agent/*`, metered in USDC on Base at $0.01 per call (x402). Human-facing tools through the plugin, the MCP endpoint, and the site are free with no limits.
## Compliance note
The ChatGPT plugin is a free, complete tool: no pricing, no subscription or upgrade language, no checkout links, and no email capture inside the plugin. The plugin's only external link is an informational plans page. Details in `terms.html` / `privacy.html` on the site.
## License
MIT, with a liability disclaimer — see [LICENSE](LICENSE). The converter is a format tool, not financial, tax, or legal advice. If you run `statement_extract` on a bank statement, verify the totals yourself before you rely on them.
## Liability in one paragraph
Documents are processed in memory and never stored. This software is provided as-is with no warranty of any kind. Always verify financial outputs.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues