{
  "manifestVersion": "1.1",
  "name": "m2m-sentinel",
  "title": "M2M Sentinel",
  "description": "Base bytecode capability observations, proxy resolution, gas, DEX, and transfer telemetry.",
  "version": "1.2.7",
  "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"
      }
    ]
  },
  "restOpenApi": {
    "version": "3.1.0",
    "spec": "https://m2msentinel.com/openapi.json",
    "meteredCapabilities": [
      {
        "method": "POST",
        "path": "/v1/transaction/preflight",
        "summary": "Resolve the executing target for one Base transaction",
        "access": "API key or verified RapidAPI proxy authentication; one existing decision credit after a valid evidence response is prepared.",
        "x402": "not-payable; no x402 price"
      }
    ]
  },
  "tools": [
    {
      "name": "m2m_audit_contract",
      "description": "Inspect static bytecode capabilities (e.g. mint, pause, freeze, upgradeability slots), common proxy target resolution, and coverage index for a single Base contract address. Factual capability observation only, not a safety or exploitability guarantee. Distinguishable from m2m_get_service_status (infrastructure status) and legacy score-only endpoints.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "description": "Base contract address (0x-prefixed 40-hex string, chainId 8453) to inspect."
          }
        },
        "required": [
          "address"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      }
    },
    {
      "name": "m2m_get_gas_metrics",
      "description": "Fetch current Base gas price in wei/gwei with RPC provenance for the upstream observation. Read-only telemetry; does not inspect contract code, return token/DEX pricing, or authorize or submit transactions.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      }
    },
    {
      "name": "m2m_get_token_price",
      "description": "Fetch the median Base DEX spot price in USD across up to five deepest indexed pools, with contract address, decimals, and pool provenance for one allowlisted token symbol (e.g. USDC, WETH, AERO). Does not return historical price series; contrast with m2m_get_dex_liquidity, which returns aggregate pool reserve depth rather than an asset price.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "symbol": {
            "type": "string",
            "description": "Allowlisted token symbol on Base (e.g. USDC, WETH, AERO). Lookups are case-insensitive single symbols."
          }
        },
        "required": [
          "symbol"
        ]
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      }
    },
    {
      "name": "m2m_get_dex_liquidity",
      "description": "Fetch aggregate pool reserve, depth, and volume metrics across tracked Base DEX liquidity pools. Reports tracked-pool metrics only and does not filter by individual trading pair; contrast with m2m_get_token_price, which observes token spot prices.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      }
    },
    {
      "name": "m2m_get_whale_signals",
      "description": "Fetch up to 50 tracked recent high-value ERC-20 transfer signals on Base with transaction hashes, token/sender/receiver addresses, amounts, and valuation provenance. Observes large on-chain transfer events without query parameter limits; does not inspect contract bytecode or query DEX pricing.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      }
    },
    {
      "name": "m2m_get_service_status",
      "description": "Fetch operational status, upstream Base RPC quorum status, and persistence availability for M2M Sentinel infrastructure. Does not return blockchain or market telemetry.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true
      }
    }
  ]
}
