pdf_merge
Merge multiple PDF files (in order) into one PDF. Returns base64 of the merged PDF.
filesrequired
net.bigfloppy.tinytoolboxPublished by tinytoolbox.bigfloppy.netOfficial publisherv1.1.2Updated Oct 30, 2026
PDF tools + QR over MCP: merge, split, rotate, text, metadata, malicious-content scan.
Remote MCP endpoint for everyday PDF chores — merge, split, rotate, extract text, read metadata, scan for hostile content — plus QR code generation.
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/net.bigfloppy.tinytoolbox%2Ftinytoolbox/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Add this to your client's mcpServers config.
{
"mcpServers": {
"tinytoolbox": {
"type": "http",
"url": "https://tinytoolbox.bigfloppy.net/mcp"
}
}
}One HTTPS endpoint for boring file chores, driven by plain curl. Live at https://tinytoolbox.bigfloppy.net (served from this repo).
Free: GET / (landing), GET /api/health, GET /claim (unclaimed paid keys), GET /pay.
Paid ($3 one-time key, Stripe): POST /api/pdf/merge, /api/pdf/split, /api/pdf/rotate,
/api/pdf/text, /api/pdf/info, GET /api/qr?text=...&size=....
Auth: ?key=... or Authorization: Bearer <key>. Max upload 8 MB. ~100 calls/hour/key.
State files (gitignored, created at runtime): keys.json (API keys), paid.json
(Stripe payment ids), usage.log (one line per request).
After each Stripe payment, append to paid.json:
{"<payment_id>": {"amount": 3.0, "date": "2026-10-22T20:00:00"}}, then run
python3 issue_keys.py (idempotent). Customers pick up their key at /claim.
Checkout: https://buy.stripe.com/3cIcN66Ou2XS0Z71VM8Vi05
Source: README.md at commit 9437f5f
Merge multiple PDF files (in order) into one PDF. Returns base64 of the merged PDF.
filesrequiredExtract selected pages from a PDF. Returns base64 of the extracted PDF.
filerequiredpagesRotate some or all pages of a PDF by 90/180/270 degrees. Returns base64 of the rotated PDF.
filerequiredanglepagesExtract text from a PDF, per page. Pass as_markdown=true for a clean Markdown version with '## Page N' headings.
filerequiredas_markdownPDF metadata: page count, byte size, document info fields.
filerequiredScan a PDF for hostile content: JavaScript, embedded files, Launch/Open actions, XFA forms, encryption. Returns verdict (likely_safe/suspicious/dangerous), risk_score and findings. Static heuristics, NOT an antivirus.
filerequiredGenerate a QR code PNG for a text or URL. Returns base64 PNG (image/png).
sizetextrequired90% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
Declare a license in the repository or the registry entry.
pip install -r requirements.txtPORT=8095 python3 app.py # or: bash start.sh (idempotent, health-checked)