glashaus-mcp
v0.7.0
Published
Pin files, folders, and websites to IPFS from Claude. Autonomous x402 micropayments on Base — no account needed.
Readme
glashaus-mcp
Pin files, folders, and websites to IPFS directly from Claude. Payments are automatic — your EVM wallet signs x402 challenges locally using USDC on Base. No account needed, no manual signing.
Free tier: files ≤ 100 MB with a 1-day TTL are pinned at no cost (GitHub account required to unlock).
Latest: v0.6.1 — Phase 6 complete (IPNS + Custom Domain Synergy), smart update flow
Install in 30 seconds
Claude Code
claude mcp add glashaus-mcp -- npx -y glashaus-mcp-serverClaude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"glashaus": {
"command": "npx",
"args": ["-y", "glashaus-mcp-server"]
}
}
}Then restart Claude Desktop.
Set up your wallet
Run the interactive wizard once to configure a wallet and save it:
npx glashaus-mcpThis generates or imports an EVM wallet, saves the private key to ~/.glashaus-mcp/config.json (mode 600), and registers the server with Claude Code automatically. Your config is loaded on every future server start — no further setup needed.
Subsequent runs: The CLI detects an existing installation and offers a quick menu:
- Update/verify — Copy the latest binary (2 seconds, keeps your wallet & settings)
- Reconfigure — Re-run the full setup wizard (change wallet, tool categories, etc.)
- Skip — Exit and keep current config unchanged
Alternative — environment variable (CI / production agents):
{
"mcpServers": {
"glashaus": {
"command": "npx",
"args": ["-y", "glashaus-mcp-server"],
"env": { "X402_WALLET_KEY": "0x<your-64-hex-char-private-key>" }
}
}
}Alternative — session injection (no restart needed):
Ask Claude any time during a chat:
"Set my wallet key: 0x…"
Claude calls import_wallet, which validates the key and activates it immediately for the rest of the conversation.
Security note: Only call
import_walletin a private conversation — the private key appears in the tool call, which may be logged by your client.
Usage
Once installed, just ask Claude:
- "Pin this file to IPFS" — attach a file or give a path
- "Upload my website at ./dist to IPFS" — deploys a folder containing
index.html - "How many views did
Qm…get this week?" — analytics by CID - "Point mysite.com at
Qm…" — custom domain mapping - "What does Glashaus cost?" — pricing and free tier
Mistral Le Chat (HTTP connector)
Le Chat uses a publicly hosted HTTP/SSE endpoint at https://glashaus.xyz/api/mcp.
Go to le.chat → Settings → Intelligence → Connectors
Click + Add Connector → Custom MCP Connector
Fill in:
| Field | Value | |---|---| | Name |
Glashaus| | URL |https://glashaus.xyz/api/mcp| | Description | Upload files to IPFS, manage domains, view analytics | | Authentication | None |Click Connect
Note: Le Chat uploads use a shared server-side wallet. For your own wallet and billing isolation, use Claude Desktop or Claude Code.
Pricing
Formula: sizeGB × ttlDays × $0.01 USDC
Free tier: files ≤ 100 MB with a 1-day TTL — requires a linked GitHub account. Use start_github_link to connect, then check_github_link to confirm.
Fund a testnet wallet at faucet.circle.com (select Base Sepolia).
Tools
Getting started
| Tool | What it does |
|---|---|
| explain_setup | First-run guide: install, configure wallet, fund with USDC, first upload |
| setup_wallet | Step-by-step wallet setup checklist for Base Sepolia or Base Mainnet |
| import_wallet | Activate a private key for this session — no restart needed |
| get_wallet_info | Show the active wallet address and network |
Uploading
| Tool | What it does |
|---|---|
| check_path | Verify a file or directory exists before uploading |
| upload_files | Upload a file, folder, or website to IPFS via TUS streaming. Two-phase: call to preview cost, then re-call with confirmed: true after the user approves payment |
| get_deployment_status | Check whether pinned content is still live |
Analytics
| Tool | What it does |
|---|---|
| get_analytics | Complete analytics for a CID: views, bandwidth, session duration, devices, entry pages, UTM campaigns, gateway stats |
| list_files | All files uploaded by the current wallet |
| get_agent_stats | Account summary: total files, storage, and estimated USDC cost |
Domains
| Tool | What it does |
|---|---|
| add_domain | Point a custom domain at a CID. If the CID has IPNS enabled, the domain auto-updates to the latest version on each re-deploy (no re-verification needed). |
| remove_domain | Remove a custom domain |
| list_domains | All domains registered to the current wallet |
Free tier & GitHub
| Tool | What it does |
|---|---|
| explain_free_tier | How the free tier works and how to unlock it |
| start_github_link | Link wallet to GitHub to unlock 100 MB/day free storage |
| check_github_link | Check whether the free tier is active for this wallet |
Reference
| Tool | What it does |
|---|---|
| get_pricing | Pricing formula and cost examples |
| get_system_info | Platform capabilities, rate limits, and docs links |
| get_network_info | RPC endpoints, USDC contracts, faucets |
| get_deployment_api | Full REST API reference with curl examples |
| get_implementation_guide | Integration guide (JavaScript, Python, Go) |
| explain_architecture | How Glashaus is built |
| explain_deployment_flow | Full upload-to-IPFS flow |
| explain_upload | TUS streaming, S3, UnixFS, and CID derivation |
| explain_deploy | Upload vs deploy — when a folder becomes a website |
| explain_x402_payment | 402 challenge-response and USDC on Base |
| explain_wallet_setup | Wallet security and key management |
| explain_domains | DNS records, verification, and Host-header routing |
| explain_wallet | Key formats, signing, funding, and security |
| explain_cid_and_indexing | CID generation, MongoDB indexing, gateway streaming, DHT |
Tool filtering
Set GLASHAUS_TOOL_FILTER to expose only the tools your agent needs:
GLASHAUS_TOOL_FILTER=upload,analytics # upload + analytics only
GLASHAUS_TOOL_FILTER=docs # educational tools only (no wallet needed)
GLASHAUS_TOOL_FILTER=all # all tools (default)Categories: upload, analytics, domains, docs.
Environment variables
| Variable | Purpose |
|---|---|
| X402_WALLET_KEY | EVM private key (0x…). Falls back to ~/.glashaus-mcp/config.json, then import_wallet. |
| GLASHAUS_TOOL_FILTER | Comma-separated categories to expose |
| API_URL | Override API base URL (default: https://glashaus.xyz) |
Changelog
v0.6.1 (2026-06-29)
- New: Smart update flow in CLI — skip setup wizard on subsequent runs, just update the binary
- Menu options: Update/verify (2s), Reconfigure (full setup), Skip
v0.6.0 (2026-06-29)
- New: Phase 6 complete — IPNS + Custom Domain Synergy
- Feature: Domains now auto-detect IPNS backing on attachment; auto-update to latest CID on re-deploy
- Feature:
add_domaintool response shows IPNS status with auto-update confirmation - Fix: Domain resolution caches IPNS with 5-minute TTL; re-deploy invalidates cache
- Fix: Enable IPNS endpoint back-fills existing domains with IPNS name
- Tests: 47 IPNS integration tests passing
Development
cd packages/glashaus-mcp
npm install
npm run build # compile src/ → dist/
npm run dev # watch mode
node dist/server.jsPublishing
npm publish --workspace packages/glashaus-mcp --tag beta
npm publish --workspace packages/glashaus-mcp --tag latest