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.

1

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.

2

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.

bash
npx -y glashaus-mcp-server
3

Fund 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.

text
"Upload my project to IPFS"

Manual Claude Desktop Config

Edit ~/Library/Application Support/Claude/claude_desktop_config.json and supply your Coinbase CDP credentials:

json
{
  "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.

MCP tool categories and representative tools (54 tools total)
CategoryToolsExamples
Educational & Discovery16explain_setup, explain_x402_payment, get_system_info
Wallet1get_wallet_info (Coinbase CDP agentic wallet)
Upload & Deploy5check_path, upload_files, deploy_as_website
Domains3add_domain, remove_domain, list_domains
Analytics & Content4get_analytics, list_files, get_agent_stats
GitHub Free Tier4start_github_link, check_github_link, get_free_tier_usage
IPFS Node & Network12ipfs_id, ipfs_pin_ls, ipfs_routing_findprovs
Secrets & Proxy4create_secret, list_secrets, delete_secret
Feedback1submit_feedback

Typical Workflows

First-Time User

  1. 1Add CDP credentials to your MCP client config
  2. 2Verify: get_wallet_info
  3. 3Fund wallet (or test with free tier)
  4. 4Upload: upload_files ./path

Experienced User

  1. 1Deploy: upload_files ./path
  2. 2Confirm payment
  3. 3Get analytics: get_analytics {cid}

Code Examples

TypeScript/JavaScript

typescript
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:

bash
# 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.html

Resources & Links

Ready to Deploy?

Install the MCP server, configure your client, and start deploying content to IPFS with AI assistance.