MCP Server

The Model Context Protocol (MCP) is an open standard for connecting AI assistants to external tools. Asset Alert's MCP server lets any compatible agent—Claude, ChatGPT, or your own—score crypto setups, fetch recommendations, and check incident history without writing any integration code.

Claude Desktop configuration

Add the following to your claude_desktop_config.json:

json
{
  "mcpServers": {
    "asset-alert": {
      "type": "http",
      "url": "https://assetalert.dev/api/mcp"
    }
  }
}

Available tools

score_setup

Score a crypto wallet/exchange setup for security health. Returns a 0–100 score, letter grade, and prioritised risk list.

Input schema

json
{
  "type": "object",
  "required": [
    "platforms"
  ],
  "properties": {
    "platforms": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "type",
          "brand",
          "assets_usd",
          "has_2fa"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "exchange",
              "hardware_wallet",
              "software_wallet",
              "defi",
              "bridge"
            ]
          },
          "brand": {
            "type": "string"
          },
          "assets_usd": {
            "type": "number"
          },
          "has_2fa": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "firmware_version": {
            "type": "string"
          },
          "open_approvals": {
            "type": "number"
          },
          "last_audit_date": {
            "type": "string"
          }
        }
      }
    }
  }
}

Output schema

json
{
  "score": {
    "score": "number (0–100)",
    "grade": "string (A+, A, B+, B, C+, C, D, F)",
    "total_risks": "number",
    "risks_by_severity": {
      "critical": "number",
      "high": "number",
      "medium": "number",
      "low": "number"
    },
    "top_risks": [
      {
        "severity": "string",
        "type": "string",
        "title": "string",
        "description": "string"
      }
    ],
    "recommendations": [
      "string"
    ]
  }
}

Example request

json
{
  "platforms": [
    {
      "name": "Coinbase",
      "type": "exchange",
      "brand": "coinbase",
      "assets_usd": 12000,
      "has_2fa": true,
      "assets": [
        {
          "symbol": "BTC",
          "name": "Bitcoin",
          "approximate_usd": 8000
        },
        {
          "symbol": "ETH",
          "name": "Ethereum",
          "approximate_usd": 4000
        }
      ]
    },
    {
      "name": "My Ledger",
      "type": "hardware_wallet",
      "brand": "ledger",
      "assets_usd": 38000,
      "has_2fa": null,
      "firmware_version": "2.3.0",
      "assets": [
        {
          "symbol": "BTC",
          "name": "Bitcoin",
          "approximate_usd": 38000
        }
      ]
    }
  ]
}

Example response

json
{
  "score": {
    "score": 76,
    "grade": "B+",
    "total_risks": 2,
    "risks_by_severity": {
      "critical": 0,
      "high": 0,
      "medium": 2,
      "low": 0
    },
    "top_risks": [
      {
        "severity": "medium",
        "type": "hygiene",
        "title": "Outdated firmware on My Ledger",
        "description": "Current firmware 2.3.0 is behind the latest 2.4.0."
      }
    ],
    "recommendations": [
      "Update firmware on My Ledger to 2.4.0."
    ]
  }
}

recommend_setup

Score a crypto setup and return only the prioritised improvement recommendations.

Input schema

json
{
  "type": "object",
  "required": [
    "platforms"
  ],
  "properties": {
    "platforms": {
      "type": "array",
      "description": "Same format as score_setup",
      "items": {
        "type": "object"
      }
    }
  }
}

Output schema

json
{
  "recommendations": [
    "string"
  ]
}

Example request

json
{
  "platforms": [
    {
      "name": "Coinbase",
      "type": "exchange",
      "brand": "coinbase",
      "assets_usd": 50000,
      "has_2fa": false,
      "assets": [
        {
          "symbol": "BTC",
          "name": "Bitcoin",
          "approximate_usd": 30000
        },
        {
          "symbol": "ETH",
          "name": "Ethereum",
          "approximate_usd": 20000
        }
      ]
    }
  ]
}

Example response

json
{
  "recommendations": [
    "Enable 2FA on Coinbase to protect against account takeover.",
    "Add a hardware wallet to move assets off centralised exchanges.",
    "Diversify across multiple platform types."
  ]
}

create_canvas

Create a shareable visual security report for a user's crypto setup. Returns a public URL the agent can send directly to the user — no account required.

Input schema

json
{
  "type": "object",
  "required": [
    "platforms"
  ],
  "properties": {
    "platforms": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "name",
          "type",
          "brand",
          "assets_usd",
          "has_2fa"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "exchange",
              "hardware_wallet",
              "software_wallet",
              "defi",
              "bridge"
            ]
          },
          "brand": {
            "type": "string"
          },
          "assets_usd": {
            "type": "number"
          },
          "has_2fa": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "firmware_version": {
            "type": "string"
          },
          "open_approvals": {
            "type": "number"
          },
          "last_audit_date": {
            "type": "string"
          }
        }
      }
    }
  }
}

Output schema

json
{
  "url": "string",
  "share_id": "string",
  "score": "number (0–100)",
  "grade": "string (A+, A, B+, B, C+, C, D, F)"
}

Example request

json
{
  "platforms": [
    {
      "name": "Coinbase",
      "type": "exchange",
      "brand": "coinbase",
      "assets_usd": 12000,
      "has_2fa": true,
      "assets": [
        {
          "symbol": "BTC",
          "name": "Bitcoin",
          "approximate_usd": 8000
        },
        {
          "symbol": "ETH",
          "name": "Ethereum",
          "approximate_usd": 4000
        }
      ]
    },
    {
      "name": "My Ledger",
      "type": "hardware_wallet",
      "brand": "ledger",
      "assets_usd": 38000,
      "has_2fa": null,
      "firmware_version": "2.3.0",
      "assets": [
        {
          "symbol": "BTC",
          "name": "Bitcoin",
          "approximate_usd": 38000
        }
      ]
    }
  ]
}

Example response

json
{
  "url": "https://assetalert.dev/setup/aB3xZ9qW",
  "share_id": "aB3xZ9qW",
  "score": 76,
  "grade": "B+"
}

get_incidents

Get recent security incidents for a crypto platform by its brand slug.

Input schema

json
{
  "type": "object",
  "required": [
    "brand"
  ],
  "properties": {
    "brand": {
      "type": "string",
      "description": "Platform brand slug (e.g. coinbase, binance, ledger)"
    }
  }
}

Output schema

json
{
  "brand": "string",
  "incidents": [
    {
      "title": "string",
      "severity": "string",
      "incident_date": "string",
      "resolved": "boolean",
      "funds_lost_usd": "number | null"
    }
  ]
}

Example request

json
{
  "brand": "coinbase"
}

Example response

json
{
  "brand": "coinbase",
  "incidents": [
    {
      "title": "Account takeover via SIM swap",
      "severity": "high",
      "incident_date": "2023-08-14",
      "resolved": true,
      "funds_lost_usd": null
    }
  ]
}