{
  "serverInfo": {
    "name": "opreturn-monitor",
    "version": "1.0.0",
    "description": "Model Context Protocol (MCP) server for Bitcoin OP_RETURN messages and collections."
  },
  "endpoint": "https://opreturn.xyz/mcp",
  "capabilities": {
    "tools": {
      "listChanged": false
    },
    "resources": {
      "subscribe": false,
      "listChanged": false
    },
    "prompts": {
      "listChanged": false
    }
  },
  "tools": [
    {
      "name": "search_messages",
      "description": "Search Bitcoin OP_RETURN transactions by collection, address, category, protocol (ico-20, crc-20, thorchain, omni, ...) or token ticker. Defaults to human-readable messages; kind=all includes every decoded protocol.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "collection_id": {
            "type": "number",
            "description": "Collection ID filter"
          },
          "address": {
            "type": "string",
            "description": "Bitcoin address filter (filed-under, recipient or sender)"
          },
          "category": {
            "type": "string",
            "description": "Category slug"
          },
          "protocol": {
            "type": "string",
            "description": "Protocol slug, e.g. ico-20, thorchain, omni"
          },
          "tick": {
            "type": "string",
            "description": "Token ticker, e.g. LEAF"
          },
          "kind": {
            "type": "string",
            "enum": [
              "text",
              "all"
            ],
            "description": "text = human messages only; all = every protocol"
          },
          "sort": {
            "type": "string",
            "enum": [
              "hot",
              "new"
            ],
            "default": "hot"
          },
          "limit": {
            "type": "number",
            "default": 20
          }
        }
      }
    },
    {
      "name": "get_protocols",
      "description": "Protocol census across every scanned block: transactions per OP_RETURN protocol, most active token tickers, and block-scanner statistics (Runes share etc.)",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    },
    {
      "name": "get_block",
      "description": "OP_RETURN census of one scanned block plus its stored transactions",
      "inputSchema": {
        "type": "object",
        "properties": {
          "height": {
            "type": "number",
            "description": "Block height"
          }
        },
        "required": [
          "height"
        ]
      }
    },
    {
      "name": "get_collections",
      "description": "List all monitored Bitcoin collections (Bitget hack, Liquid Network whitehats, Coldcard exploit, Mt Gox, Genesis)",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    },
    {
      "name": "get_message",
      "description": "Get an on-chain message by transaction ID or message ID",
      "inputSchema": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "Transaction ID or message ID"
          }
        },
        "required": [
          "key"
        ]
      }
    },
    {
      "name": "list_guides",
      "description": "List the Learn guides (long-form explainers on OP_RETURN, Core 30 policy, incident boards, etching, the API) with slugs and descriptions",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    },
    {
      "name": "get_guide",
      "description": "Get one Learn guide as Markdown with live numbers resolved",
      "inputSchema": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string",
            "description": "Guide slug from list_guides"
          }
        },
        "required": [
          "slug"
        ]
      }
    },
    {
      "name": "get_etch_guide",
      "description": "Get the technical guide for constructing an OP_RETURN Bitcoin transaction",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
  ]
}