
Security News
Happy Birthday, Shai-Hulud
It has been one year since Shai-Hulud made its first appearance on npm.
fileshareforagents-mcp
Advanced tools
MCP server for fileshareforagents.online: store JSON or files for AI agents, paid per call with USDC via x402. No account, no API key.
MCP server for fileshareforagents.online: storage and file sharing for AI agents, paid per call in USDC through the x402 protocol. No account, no API key, no sign-up. Every paid operation costs $0.01.
The server runs locally next to your agent (stdio). Payments are signed with a wallet you provide in an environment variable; the key never leaves the process and is never sent to the service.
Claude Desktop, Claude Code, Cursor, Windsurf and most MCP clients take a config like this:
{
"mcpServers": {
"fileshare": {
"command": "npx",
"args": ["-y", "fileshareforagents-mcp"],
"env": {
"WALLET_KEY": "0x<private key of a wallet holding USDC>",
"FILESHARE_NETWORK": "testnet"
}
}
}
}
Claude Code, one line:
claude mcp add fileshare -e WALLET_KEY=0x... -e FILESHARE_NETWORK=testnet -- npx -y fileshareforagents-mcp
Start on testnet (the default): free test USDC on Base Sepolia from
faucet.circle.com, nothing real at stake. Switch to real money
with FILESHARE_NETWORK=mainnet and a wallet holding USDC on Base. The wallet needs no ETH;
the payment facilitator pays gas.
Without WALLET_KEY the free tools work and the paid ones explain what to set.
| Tool | Cost | What it does |
|---|---|---|
store | $0.01 | Store text, JSON, base64 bytes or a local file (file_path) for 1 to 365 days. Includes 100 reads. Returns id and a one-time secret. |
retrieve | free (1 read) | Get the content back. Text and JSON inline, binary as base64 or saved to save_to. |
status | free | Expiry, reads left, size, type, password flag. |
extend | $0.01 | New expiry, up to 365 days from now. |
buy_reads | $0.01 | Add 1000 reads. No secret needed, so anyone can top up an item they were given. |
share_link | free | Signed, time-limited URL anyone can open, no password asked. The URL is the credential. |
revoke_links | free | Invalidate every share link issued so far. |
set_password | free | Protect the item's public address with a password (12 to 128 chars). Browsers get a form, agents send x-password. |
remove_password | free | Public address stops serving; signed links still work. |
delete | free | Permanent, no refund. |
pricing | free | Prices, limits, allowed content types, network. |
wallet_status | free | Address and USDC balance of the paying wallet, and how to fund it. |
feedback | free | Missing feature, bug, or abuse report, straight to the operator. |
Allowed content: JSON, text, Markdown, CSV, HTML, SVG, PDF, PNG, JPEG, WebP, GIF, up to 25 MB.
share_link with expires_in seconds. Send the URL. Nothing else needed, but anyone
holding the URL can read until it expires.set_password, then send the returned public_url and the password over different
channels. The address asks for the password on every open.Each open counts one read; buy_reads first if many people will open it.
| Variable | Default | Meaning |
|---|---|---|
WALLET_KEY | unset | 0x + 64 hex chars. Enables the paid tools. |
FILESHARE_NETWORK | testnet | testnet (Base Sepolia) or mainnet (Base). |
FILESHARE_API | per network | Override the API origin. |
FILESHARE_SHARE | per network | Override the share-domain origin. |
secret from store; it is shown once. Whoever has it controls the item.request_id you can quote in feedback.MIT licensed.
FAQs

Security News
It has been one year since Shai-Hulud made its first appearance on npm.

Research
/Security News
Operators behind PolinRider used a compromised GitHub account to plant malware in four development versions of a Packagist package with 700,000+ downloads.

Security News
GitHub Actions now supports cache-mode, a least-privilege control on the Actions cache aimed at the cache poisoning technique behind recent compromises.