{
  "manifestVersion": "1.1",
  "name": "m2m-sentinel",
  "title": "M2M Sentinel",
  "description": "Base bytecode capability observations, proxy resolution, gas, DEX, and transfer telemetry.",
  "version": "1.2.2",
  "homepage": "https://m2msentinel.com",
  "license": "MIT",
  "author": {
    "name": "M2M Sentinel",
    "email": "contact@m2msentinel.com",
    "url": "https://m2msentinel.com"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/M2M-Sentinel/m2m-sentinel-sdk"
  },
  "transports": {
    "stdio": {
      "command": "npx",
      "args": [
        "-y",
        "@m2msentinel/sdk",
        "mcp"
      ]
    },
    "streamableHttp": {
      "url": "https://api.m2msentinel.com/mcp",
      "protocolVersions": [
        "2026-07-28",
        "2025-11-25"
      ]
    },
    "sse": {
      "url": "https://api.m2msentinel.com/sse",
      "messageUrl": "https://api.m2msentinel.com/messages",
      "deprecated": true,
      "description": "Legacy HTTP+SSE compatibility transport for 2024-11-05 clients."
    }
  },
  "authentication": {
    "type": "apiKey-or-x402",
    "header": "x-api-key",
    "env": "M2M_SENTINEL_API_KEY",
    "description": "The transport is discoverable without a credential. Payable tool calls require an API key or a valid x402 PAYMENT-SIGNATURE at the API execution layer."
  },
  "payment": {
    "protocol": "x402",
    "version": 2,
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "payoutAddress": "0x6d6C398390cfb88f1CD42715B84906a0Bd6652aa",
    "resources": [
      {
        "path": "/v1/audit/{address}",
        "method": "GET",
        "price": "$0.02"
      },
      {
        "path": "/v1/security/score/{address}",
        "method": "GET",
        "price": "$0.02"
      },
      {
        "path": "/v1/gas/fees",
        "method": "GET",
        "price": "$0.005"
      },
      {
        "path": "/v1/dex/metrics",
        "method": "GET",
        "price": "$0.01"
      },
      {
        "path": "/v1/token/price/{symbol}",
        "method": "GET",
        "price": "$0.005"
      },
      {
        "path": "/v1/whales/signals",
        "method": "GET",
        "price": "$0.02"
      }
    ]
  },
  "tools": [
    {
      "name": "m2m_audit_contract",
      "description": "Return selected static bytecode capability observations, common proxy resolution, limitations, and provenance for a Base contract. This is factual capability observation, not a safety or exploitability guarantee.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "description": "Base contract address (0x-prefixed 40-hex)"
          }
        },
        "required": [
          "address"
        ]
      }
    },
    {
      "name": "m2m_get_gas_metrics",
      "description": "Return sourced Base gas fee metrics and execution recommendations.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    },
    {
      "name": "m2m_get_token_price",
      "description": "Return sourced Base DEX token price observation for allowlisted assets (e.g. USDC, WETH).",
      "inputSchema": {
        "type": "object",
        "properties": {
          "symbol": {
            "type": "string",
            "description": "Token symbol (e.g. USDC, WETH)"
          }
        },
        "required": [
          "symbol"
        ]
      }
    },
    {
      "name": "m2m_get_dex_liquidity",
      "description": "Return tracked Base DEX pool reserve, depth, and volume metrics.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "pair": {
            "type": "string",
            "description": "Optional DEX pair identifier (e.g. WETH-USDC)"
          }
        }
      }
    },
    {
      "name": "m2m_get_whale_signals",
      "description": "Return tracked Base whale transfer and concentration signals with source provenance.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "number",
            "description": "Maximum signals to retrieve (1-50)"
          }
        }
      }
    },
    {
      "name": "m2m_get_service_status",
      "description": "Return real-time operational status of M2M Sentinel upstream RPC, persistence, and verification rails.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    }
  ]
}
