MCP Server
Deploy content to IPFS with the Model Context Protocol. An agent-first server with 50 tools spanning upload, analytics, domains, secrets, and IPFS network queries. Payments run through a Coinbase CDP agentic wallet via x402.
Quick Start
Connect the server to your MCP client and point it at a Coinbase CDP agentic wallet — no private keys to manage.
Get Coinbase CDP credentials
Create an API key and wallet secret at developer.coinbase.com. Coinbase custodies the key in a secure enclave — you only hold API credentials. See the Agentic Wallet docs.
Configure the server with your CDP credentials
Set the three CDP environment variables in your MCP client config (Claude Desktop, Claude Code, Cursor, or Windsurf). The server creates or reuses a named CDP agentic wallet for signing.
npx -y glashaus-mcp-serverFund the wallet (optional) and ask Claude
Free tier: files ≤100 MB pinned for 1 day cost zero USDC. Otherwise fund the CDP wallet with test USDC via the CDP faucet. Claude shows a cost estimate, you confirm, and the CDP wallet signs the x402 payment.
"Upload my project to IPFS"Manual Claude Desktop Config
Edit ~/Library/Application Support/Claude/claude_desktop_config.json and supply your Coinbase CDP credentials:
{
"mcpServers": {
"glashaus": {
"command": "npx",
"args": ["-y", "glashaus-mcp-server"],
"env": {
"CDP_API_KEY_ID": "your-api-key-id",
"CDP_API_KEY_SECRET": "your-api-key-secret",
"CDP_WALLET_SECRET": "your-wallet-secret"
}
}
}
}Wallet & Payments
Glashaus pays for operations with the x402 payment protocol, signed by a Coinbase CDP agentic wallet. You configure CDP credentials once — no private keys to generate, store, or import.
CDP Agentic Wallet
Set CDP_API_KEY_ID, CDP_API_KEY_SECRET, and CDP_WALLET_SECRET. The server calls getOrCreateAccount on a named wallet (default glashaus-mcp).
No Key Custody
Coinbase holds the private key in a secure enclave. Neither Glashaus nor your MCP client ever sees a raw key — only the API credentials you provide.
Automatic x402 Signing
When Glashaus returns a 402 challenge, the CDP wallet signs it and the request retries — cost preview and user confirmation first, then fully autonomous.
Spend Controls
Set per-call and per-session spending limits in the Coinbase CDP dashboard. The agent operates within the limits you configure.
Settlement: Payments are on-chain USDC transfers on Base (mainnet or Sepolia testnet), verified and settled by the x402 facilitator. No account or subscription needed.
50 Tools, Grouped by Capability
The server exposes 50 tools. The table summarises them by category; the API reference is the canonical per-tool catalogue.
| Category | Tools | Examples |
|---|---|---|
| Educational & Discovery | 16 | explain_setup, explain_x402_payment, get_system_info |
| Wallet | 1 | get_wallet_info (Coinbase CDP agentic wallet) |
| Upload & Deploy | 5 | check_path, upload_files, deploy_as_website |
| Domains | 3 | add_domain, remove_domain, list_domains |
| Analytics & Content | 4 | get_analytics, list_files, get_agent_stats |
| GitHub Free Tier | 4 | start_github_link, check_github_link, get_free_tier_usage |
| IPFS Node & Network | 12 | ipfs_id, ipfs_pin_ls, ipfs_routing_findprovs |
| Secrets & Proxy | 4 | create_secret, list_secrets, delete_secret |
| Feedback | 1 | submit_feedback |
Typical Workflows
First-Time User
- 1Add CDP credentials to your MCP client config
- 2Verify:
get_wallet_info - 3Fund wallet (or test with free tier)
- 4Upload:
upload_files ./path
Experienced User
- 1Deploy:
upload_files ./path - 2Confirm payment
- 3Get analytics:
get_analytics {cid}
Code Examples
TypeScript/JavaScript
import { handleToolCall } from 'glashaus-mcp/deploy-agent'
// Configure CDP credentials in your environment first:
// CDP_API_KEY_ID, CDP_API_KEY_SECRET, CDP_WALLET_SECRET
async function deploy() {
// Learn deployment process
const flow = await handleToolCall('explain_deployment_flow', {})
console.log(flow.explanation)
// Confirm the Coinbase CDP agentic wallet is active
const wallet = await handleToolCall('get_wallet_info', {})
console.log(`Wallet: ${wallet.address}`)
// Deploy files — the CDP wallet signs the x402 payment automatically
const result = await handleToolCall('upload_files', {
file_path: './my-site'
})
console.log(`✓ Deployed to ${result.url}`)
console.log(`CID: ${result.cid}`)
console.log(`Cost: ${result.cost}`)
}REST API (Direct)
The MCP server wraps the same REST endpoints. You can call them directly:
# 1. Get pricing first
curl https://glashaus.xyz/api/pricing
# 2. Deploy with x402 payment header
curl -X POST https://glashaus.xyz/api/deploy \
-H "Content-Type: application/octet-stream" \
-H "X-Payment: <signed-payment-json>" \
--data-binary @./file.htmlResources & Links
Ready to Deploy?
Install the MCP server, configure your client, and start deploying content to IPFS with AI assistance.