tools-that-dont-uploadSAFE
MCP server and REST API for data, text, code, PDF and web tasks, plus browser tools that don't upload your files. Requests are not stored.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
[](https://mcpservers.org/servers/etacbae6768-a11y/tools-that-dont-upload)
MCP server and REST API for data, text, code, PDF and web tasks. Requests are processed in memory and not stored.
- MCP endpoint (Streamable HTTP): https://toolsthatdontupload.com/mcp (v1.5.0)
- MCP tools:
search_tools,run_tool,list_categories(they search and run the REST catalog) - REST API: https://toolsthatdontupload.com/openapi.json (every endpoint, generated; every documented example is tested)
- Network tools (fetch URL, DNS, WHOIS, SSL) need an
X-API-Keyheader. Free key: https://toolsthatdontupload.com/api-keys/
Korean tools
Romanization, amounts in Korean words (일금 ...원정), particles (조사), initial consonants (초성), business-number checksum, personal-data masking. Document generation: 견적서 / 거래명세서 (XLSX), 차용증 / 표준근로계약서 (DOCX).
Egress receipts
Every REST response has an X-Egress header and every MCP result has _meta["com.toolsthatdontupload/egress"] listing external hosts contacted (none for most tools).
Files through MCP
PDF tools accept file_base64 / files_base64 (max 10 MB) and return file_base64.
Quick start
Claude Code:
claude mcp add --transport http tools-that-dont-upload https://toolsthatdontupload.com/mcp
Cursor / other clients:
{"mcpServers":{"tools-that-dont-upload":{"url":"https://toolsthatdontupload.com/mcp"}}}Limits
- Anonymous: compute tools under fair use; file 20 calls/day; AI 10 calls/day per IP.
- Free key: 1,000 credits/month. Paid plans: coming soon.
Privacy
Yellow = edge memory only. Orange = our edge fetches the URL you give. Blue = Cloudflare Workers AI. Details: https://toolsthatdontupload.com/privacy/
Note: this repository is a documentation snapshot, not the full deployed source.
Listed in the Claude Market MCP directory
MIT License
Repository layout
workers/
3f59d7a011cfOBSERVED · 2026-10-12Exposed tools (3)
3 read · 0 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
find_tool | read | Find the right tool for a task |
quickstart | read | How to use Tools That Don\ |
task | read | What you want to do |
Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (4 observation(s))
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (10)
function rc4(key){const s=new Uint8Array(256);for(let i=0;i<256;i++)s[i]=i;let j=0;for(let i=0;i<256;i++){j=(j+s[i]+key[i%key.length])&255;const t=s[i];s[i]=s[j];s[j]=t;}let i=0;j=0;return n=>{const ofunction xlsCheckPassword(fp,password){const salt=fp.subarray(6,22),ev=fp.subarray(22,38),evh=fp.subarray(38,54);const keyFor=xlsRc4Key(password,salt);const ks=rc4(keyFor(0))(32);// ---- legacy .xls (BIFF8) reader: CFB container, default-password RC4 decryption, cells/SST/formats. Our own code. ----
function xlsDecrypt(w,keyFor){const out=new Uint8Array(w);let pos=0,seen=false;const ksAt=(p,n)=>{const res=new Uint8Array(n);let k=0;while(k<n){const blk=Math.floor((p+k)/1024),inb=(p+k)%1024,take=Ma3. **Cloudflare platform restrictions.** Workers `fetch()` cannot reach loopback, private (RFC 1918), link-local or cloud-metadata addresses. In a controlled test from a separate Worker on 2026-10-12,
Verified on staging and again in production (2026-10-12): all 20 documented network endpoints returned the same status and response shape as production for their documented examples; redirects to 127.
function xrB64(s){const bin=atob(String(s).replace(/^data:[^,]*,/,'').replace(/\s+/g,''));const u=new Uint8Array(bin.length);for(let i=0;i<bin.length;i++)u[i]=bin.charCodeAt(i);return u;}const toBlob=(b64)=>{const bin=atob(String(b64).replace(/^data:[^,]+,/,''));total+=bin.length;const u=new Uint8Array(bin.length);for(let i=0;i<bin.length;i++)u[i]=bin.charCodeAt(i);return new Blob([u]4. **No credentials in outbound requests.** The gateway strips `X-API-Key`, `Authorization`, internal tokens and client-IP headers before calling a tool. Tool Workers send only a fixed User-Agent (and
- **Hosted connector** (`https://toolsthatdontupload.com/mcp`): search and run hundreds of tools (JSON/CSV/YAML conversion, hashing, regex, unit and date math, PDF merge/split, web lookups, Korean too
Gates applied: no_behavioural_pass.
3f59d7a011cffull audit observations/trust-audit/mcp-server/etacbae6768-a11y__tools-that-dont-upload.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-12 | 3f59d7a011cf | SAFE | B | 89 | first audit |
Questions
What is the tools-that-dont-upload MCP server?
MCP server and REST API for data, text, code, PDF and web tasks, plus browser tools that don't upload your files. Requests are not stored.
What tools does tools-that-dont-upload expose?
3 in total: 3 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is tools-that-dont-upload safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does tools-that-dont-upload need?
It reads CLOUDFLARE_API_TOKEN from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does tools-that-dont-upload run?
It speaks streamable-http, so it runs as a service you connect to over the network.
How current is this page?
The grade is for one exact copy of the source (3f59d7a011cf), read on 2026-10-12. The repository is watched and re-audited when it changes.