Spot Bench Open tool
3D SpotBench GPU Interruption Telemetry
AI Agent Protocol

SpotBench Model Context Protocol (MCP) Server

SpotBench provides an official Model Context Protocol (MCP) streamable HTTP server allowing AI coding assistants and autonomous bench shop agents to query live spot metal baselines and calculate deterministic bench repair quotes via JSON-RPC 2.0.

Endpoint: POST /api/mcp · Discovery Manifest: /.well-known/mcp.json

Tool Schemas (inputSchema)

1. get_live_spot_prices

Get current precious metal spot prices for Gold, Platinum, and Silver per troy ounce and dwt.

{
  "type": "object",
  "properties": {}
}

2. calculate_repair_quote

Calculate deterministic bench repair quote from live spot prices, shop labor rates, and alloy fineness.

{
  "type": "object",
  "properties": {
    "repair_id": {
      "type": "string",
      "description": "Repair identifier (e.g. size-up, size-down, retip, prong, chain, shank)"
    },
    "metal": {
      "type": "string",
      "description": "Alloy type: 10, 14, 18, or plat (default 14)"
    },
    "shop_rate": {
      "type": "number",
      "description": "Hourly bench rate in dollars (default $110)"
    }
  }
}

Sample JSON-RPC 2.0 tools/call Request

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "calculate_repair_quote",
    "arguments": {
      "repair_id": "size-up",
      "metal": "14",
      "shop_rate": 110
    }
  }
}

Sample JSON-RPC 2.0 tools/call Response

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "content": [
      {
        "type": "text",
        "text": "{\n  \"repair\": {\n    \"id\": \"size-up\",\n    \"name\": \"Size up one\",\n    \"minutes\": 30,\n    \"dwt\": 0.4\n  },\n  \"metal\": \"14\",\n  \"pricing\": {\n    \"labour\": 68.75,\n    \"material\": 145.81,\n    \"todayTotal\": 214.56,\n    \"lastTotal\": 214,\n    \"goldAdded\": 0.56\n  },\n  \"spotRates\": {\n    \"goldPerOz\": 4166,\n    \"platinumPerOz\": 1636,\n    \"asOfDate\": \"2026-10-29\"\n  }\n}"
      }
    ],
    "isError": false
  }
}