{
  "run_id": "coinpaprika--dexpaprika-mcp-claude-haiku-5-5-1792808400828045581",
  "checker": {
    "claims": [
      {
        "claim": "Stdio MCP server starts with no key and serves live network data",
        "command": "node dist/bin.js tools/call {\"tool\": \"getNetworks\", \"arguments\": {\"rationale\": \"Checking which chains are supported for the DexPaprika MCP README probe.\"}}",
        "evidence": "Arbitrum\\\",\\n    \\\"id\\\": \\\"arbitrum\\\",\\n    \\\"volume_usd_24h\\\": 126249401.24183105,\\n    \\\"txns_24h\\\": 203592,\\n    \\\"pools_count\\\": 1438\\n  },\\n  {\\n    \\\"display_name\\\": \\\"Tron\\\",\\n    \\\"id\\\": \\\"tron\\\",\\n    \\\"volume_usd_24h\\\": 49719888.99982331,\\n    \\\"txns_24h\\\": 7033,\\n    \\\"pools_count\\\": 47\\n  },\\n  {\\n    \\\"display_name\\\": \\\"Ronin\\\",\\n    \\\"id\\\": \\\"ronin\\\",\\n    \\\"volume_usd_24h\\\": 237618.47773341642,\\n    \\\"txns_24h\\\": 18518,\\n    \\\"pools_count\\\": 313\\n  },\\n  {\\n    \\\"display_name\\\": \\\"Sei\\\",\\n    \\\"id\\\": \\\"sei\\\",\\n    \\\"volume_usd_24h\\\": 9087198.375680141,\\n    \\\"txns_24h\\\": 14113,\\",
        "expected": "Returns the list of networks including Arbitrum",
        "input": "{\"tool\": \"getNetworks\", \"arguments\": {\"rationale\": \"Checking which chains are supported for the DexPaprika MCP README probe.\"}}",
        "kind": "claim",
        "outcome": "Real input produced the expected result: Arbitrum",
        "source": "This is a stdio server: it speaks MCP over stdin and stdout and binds no port.",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      },
      {
        "claim": "getNetworks lists supported blockchain networks",
        "command": "node dist/bin.js tools/call {\"tool\": \"getNetworks\", \"arguments\": {\"rationale\": \"Confirming Arbitrum is a supported chain for the README claim check.\"}}",
        "evidence": "Arbitrum\\\",\\n    \\\"id\\\": \\\"arbitrum\\\",\\n    \\\"volume_usd_24h\\\": 126249401.24183105,\\n    \\\"txns_24h\\\": 203592,\\n    \\\"pools_count\\\": 1438\\n  },\\n  {\\n    \\\"display_name\\\": \\\"Tron\\\",\\n    \\\"id\\\": \\\"tron\\\",\\n    \\\"volume_usd_24h\\\": 49719888.99982331,\\n    \\\"txns_24h\\\": 7033,\\n    \\\"pools_count\\\": 47\\n  },\\n  {\\n    \\\"display_name\\\": \\\"Ronin\\\",\\n    \\\"id\\\": \\\"ronin\\\",\\n    \\\"volume_usd_24h\\\": 237618.47773341642,\\n    \\\"txns_24h\\\": 18518,\\n    \\\"pools_count\\\": 313\\n  },\\n  {\\n    \\\"display_name\\\": \\\"Sei\\\",\\n    \\\"id\\\": \\\"sei\\\",\\n    \\\"volume_usd_24h\\\": 9087198.375680141,\\n    \\\"txns_24h\\\": 14113,\\",
        "expected": "Network list includes Arbitrum with its slug",
        "input": "{\"tool\": \"getNetworks\", \"arguments\": {\"rationale\": \"Confirming Arbitrum is a supported chain for the README claim check.\"}}",
        "kind": "claim",
        "outcome": "Real input produced the expected result: Arbitrum",
        "source": "List every supported blockchain network (36)",
        "source_checked": true,
        "source_file": "README.md",
        "verdict": "yes"
      }
    ],
    "cycle_checks": [
      {
        "claim": "Scheduled or looping main behavior",
        "command": "",
        "evidence": "Entry points inspected (src/bin.js, src/index.js, src/test.js, package.json scripts, README). No cron, scheduler, loop, webhook, --once or --now trigger exists; the server is a stdio MCP server that handles one request per tool call, and the only timers are startup waits in test scripts.",
        "expected": "identify the product trigger",
        "input": "source inspection",
        "kind": "cycle",
        "outcome": "Entry points inspected (src/bin.js, src/index.js, src/test.js, package.json scripts, README). No cron, scheduler, loop, webhook, --once or --now trigger exists; the server is a stdio MCP server that handles one request per tool call, and the only timers are startup waits in test scripts.",
        "source": "repository entry points",
        "verdict": "yes"
      }
    ],
    "details": {
      "argv": [
        "node",
        "dist/bin.js"
      ],
      "kind": "mcp",
      "scope": "product operation",
      "serverInfo": {
        "name": "dexpaprika",
        "version": "2.9.2"
      },
      "tool_result": {
        "content": [
          {
            "text": "[\n  {\n    \"display_name\": \"Arbitrum\",\n    \"id\": \"arbitrum\",\n    \"volume_usd_24h\": 126249401.24183105,\n    \"txns_24h\": 203592,\n    \"pools_count\": 1438\n  },\n  {\n    \"display_name\": \"Tron\",\n    \"id\": \"tron\",\n    \"volume_usd_24h\": 49719888.99982331,\n    \"txns_24h\": 7033,\n    \"pools_count\": 47\n  },\n  {\n    \"display_name\": \"Ronin\",\n    \"id\": \"ronin\",\n    \"volume_usd_24h\": 237618.47773341642,\n    \"txns_24h\": 18518,\n    \"pools_count\": 313\n  },\n  {\n    \"display_name\": \"Sei\",\n    \"id\": \"sei\",\n    \"volume_usd_24h\": 9087198.375680141,\n    \"txns_24h\": 14113,\n    \"pools_count\": 20\n  },\n  {\n    \"display_name\": \"Mantle\",\n    \"id\": \"mantle\",\n    \"volume_usd_24h\": 681807.0640215141,\n    \"txns_24h\": 2777,\n    \"pools_count\": 58\n  },\n  {\n    \"display_name\": \"MegaETH\",\n    \"id\": \"megaeth\",\n    \"volume_usd_24h\": 377524.6597805146,\n    \"txns_24h\": 5562,\n    \"pools_count\": 35\n  },\n  {\n    \"display_name\": \"Tempo\",\n    \"id\": \"tempo\",\n    \"volume_usd_24h\": 1600591.7293810986,\n    \"txns_24h\": 753,\n    \"pools_count\": 18\n  },\n  {\n    \"display_name\": \"Blast\",\n    \"id\": \"blast\",\n    \"volume_usd_24h\": 28986.75967751663,\n    \"txns_24h\": 1150,\n    \"pools_count\": 61\n  },\n  {\n    \"display_name\": \"Linea\",\n    \"id\": \"linea\",\n    \"volume_usd_24h\": 273418.098923812,\n    \"txns_24h\": 2148,\n    \"pools_count\": 114\n  },\n  {\n    \"display_name\": \"Ton\",\n    \"id\": \"ton\",\n    \"volume_usd_24h\": 346284.6808759008,\n    \"txns_24h\": 5236,\n    \"pools_count\": 269\n  },\n  {\n    \"display_name\": \"BOB Network\",\n    \"id\": \"bob_network\",\n    \"volume_usd_24h\": 169.39277890765257,\n    \"txns_24h\": 16,\n    \"pools_count\": 6\n  },\n  {\n    \"display_name\": \"Flow EVM\",\n    \"id\": \"flow_evm\",\n    \"volume_usd_24h\": 222518.54111703017,\n    \"txns_24h\": 3009,\n    \"pools_count\": 42\n  },\n  {\n    \"display_name\": \"Avalanche\",\n    \"id\": \"avalanche\",\n    \"volume_usd_24h\": 50717677.989751786,\n    \"txns_24h\": 66306,\n    \"pools_count\": 738\n  },\n  {\n    \"display_name\": \"Aptos\",\n    \"id\": \"aptos\",\n    \"volume_usd_24h\": 584114.8981658677,\n    \"txns_24h\": 39592,\n    \"pools_count\": 238\n  },\n  {\n    \"display_name\": \"Unichain\",\n    \"id\": \"unichain\",\n    \"volume_usd_24h\": 6697954.338668845,\n    \"txns_24h\": 30942,\n    \"pools_count\": 158\n  },\n  {\n    \"display_name\": \"Sui\",\n    \"id\": \"sui\",\n    \"volume_usd_24h\": 13687304.150215652,\n    \"txns_24h\": 284973,\n    \"pools_count\": 858\n  },\n  {\n    \"display_name\": \"ZkSync\",\n    \"id\": \"zksync\",\n    \"volume_usd_24h\": 109893.11646172438,\n    \"txns_24h\": 980,\n    \"pools_count\": 81\n  },\n  {\n    \"display_name\": \"HyperEVM\",\n    \"id\": \"hyperevm\",\n    \"volume_usd_24h\": 57011584.51734452,\n    \"txns_24h\": 86909,\n    \"pools_count\": 464\n  },\n  {\n    \"display_name\": \"Plasma\",\n    \"id\": \"plasma\",\n    \"volume_usd_24h\": 4037898.107026789,\n    \"txns_24h\": 31937,\n    \"pools_count\": 39\n  },\n  {\n    \"display_name\": \"Monad\",\n    \"id\": \"monad\",\n    \"volume_usd_24h\": 20028491.573270075,\n    \"txns_24h\": 81205,\n    \"pools_count\": 292\n  },\n  {\n    \"display_name\": \"Ethereum\",\n    \"id\": \"ethereum\",\n    \"volume_usd_24h\": 1386042466.847537,\n    \"txns_24h\": 319101,\n    \"pools_count\": 9930\n  },\n  {\n    \"display_name\": \"Base\",\n    \"id\": \"base\",\n    \"volume_usd_24h\": 619767709.5205319,\n    \"txns_24h\": 2153500,\n    \"pools_count\": 14970\n  },\n  {\n    \"display_name\": \"Polygon\",\n    \"id\": \"polygon\",\n    \"volume_usd_24h\": 32573227.40428371,\n    \"txns_24h\": 358845,\n    \"pools_count\": 3885\n  },\n  {\n    \"display_name\": \"Fantom\",\n    \"id\": \"fantom\",\n    \"volume_usd_24h\": 1.787321,\n    \"txns_24h\": 238,\n    \"pools_count\": 57\n  },\n  {\n    \"display_name\": \"Sonic\",\n    \"id\": \"sonic\",\n    \"volume_usd_24h\": 1158699.8142216087,\n    \"txns_24h\": 27173,\n    \"pools_count\": 421\n  },\n  {\n    \"display_name\": \"Arc\",\n    \"id\": \"arc\",\n    \"volume_usd_24h\": 42120517.73819203,\n    \"txns_24h\": 72961,\n    \"pools_count\": 1066\n  },\n  {\n    \"display_name\": \"Celo\",\n    \"id\": \"celo\",\n    \"volume_usd_24h\": 998508.5802031121,\n    \"txns_24h\": 24004,\n    \"pools_count\": 98\n  },\n  {\n    \"display_name\": \"Solana\",\n    \"id\": \"solana\",\n    \"volume_usd_24h\": 1902311033.8652787,\n    \"txns_24h\": 22354665,\n    \"pools_count\": 98902\n  },\n  {\n    \"display_name\": \"Scroll\",\n    \"id\": \"scroll\",\n    \"volume_usd_24h\": 216419.6254081839,\n    \"txns_24h\": 3289,\n    \"pools_count\": 24\n  },\n  {\n    \"display_name\": \"Berachain\",\n    \"id\": \"berachain\",\n    \"volume_usd_24h\": 717030.0907030957,\n    \"txns_24h\": 11541,\n    \"pools_count\": 160\n  },\n  {\n    \"display_name\": \"Binance Smart Chain\",\n    \"id\": \"bsc\",\n    \"volume_usd_24h\": 1231615663.7648265,\n    \"txns_24h\": 4584307,\n    \"pools_count\": 27068\n  },\n  {\n    \"display_name\": \"Optimism\",\n    \"id\": \"optimism\",\n    \"volume_usd_24h\": 4959366.819475726,\n    \"txns_24h\": 160449,\n    \"pools_count\": 992\n  },\n  {\n    \"display_name\": \"Cronos\",\n    \"id\": \"cronos\",\n    \"volume_usd_24h\": 1513849.3624929688,\n    \"txns_24h\": 26450,\n    \"pools_count\": 750\n  },\n  {\n    \"display_name\": \"x Layer\",\n    \"id\": \"x_layer\",\n    \"volume_usd_24h\": 26117470.31093886,\n    \"txns_24h\": 160354,\n    \"pools_count\": 202\n  },\n  {\n    \"display_name\": \"Robinhood Chain\",\n    \"id\": \"robinhood\",\n    \"volume_usd_24h\": 542185378.6357187,\n    \"txns_24h\": 1537655,\n    \"pools_count\": 12359\n  },\n  {\n    \"display_name\": \"Katana\",\n    \"id\": \"katana\",\n    \"volume_usd_24h\": 242095.84557557217,\n    \"txns_24h\": 3279,\n    \"pools_count\": 28\n  }\n]",
            "type": "text"
          }
        ],
        "structuredContent": {
          "networks": [
            {
              "display_name": "Arbitrum",
              "id": "arbitrum",
              "pools_count": 1438,
              "txns_24h": 203592,
              "volume_usd_24h": 126249401.24183105
            },
            {
              "display_name": "Tron",
              "id": "tron",
              "pools_count": 47,
              "txns_24h": 7033,
              "volume_usd_24h": 49719888.99982331
            },
            {
              "display_name": "Ronin",
              "id": "ronin",
              "pools_count": 313,
              "txns_24h": 18518,
              "volume_usd_24h": 237618.47773341642
            },
            {
              "display_name": "Sei",
              "id": "sei",
              "pools_count": 20,
              "txns_24h": 14113,
              "volume_usd_24h": 9087198.375680141
            },
            {
              "display_name": "Mantle",
              "id": "mantle",
              "pools_count": 58,
              "txns_24h": 2777,
              "volume_usd_24h": 681807.0640215141
            },
            {
              "display_name": "MegaETH",
              "id": "megaeth",
              "pools_count": 35,
              "txns_24h": 5562,
              "volume_usd_24h": 377524.6597805146
            },
            {
              "display_name": "Tempo",
              "id": "tempo",
              "pools_count": 18,
              "txns_24h": 753,
              "volume_usd_24h": 1600591.7293810986
            },
            {
              "display_name": "Blast",
              "id": "blast",
              "pools_count": 61,
              "txns_24h": 1150,
              "volume_usd_24h": 28986.75967751663
            },
            {
              "display_name": "Linea",
              "id": "linea",
              "pools_count": 114,
              "txns_24h": 2148,
              "volume_usd_24h": 273418.098923812
            },
            {
              "display_name": "Ton",
              "id": "ton",
              "pools_count": 269,
              "txns_24h": 5236,
              "volume_usd_24h": 346284.6808759008
            },
            {
              "display_name": "BOB Network",
              "id": "bob_network",
              "pools_count": 6,
              "txns_24h": 16,
              "volume_usd_24h": 169.39277890765257
            },
            {
              "display_name": "Flow EVM",
              "id": "flow_evm",
              "pools_count": 42,
              "txns_24h": 3009,
              "volume_usd_24h": 222518.54111703017
            },
            {
              "display_name": "Avalanche",
              "id": "avalanche",
              "pools_count": 738,
              "txns_24h": 66306,
              "volume_usd_24h": 50717677.989751786
            },
            {
              "display_name": "Aptos",
              "id": "aptos",
              "pools_count": 238,
              "txns_24h": 39592,
              "volume_usd_24h": 584114.8981658677
            },
            {
              "display_name": "Unichain",
              "id": "unichain",
              "pools_count": 158,
              "txns_24h": 30942,
              "volume_usd_24h": 6697954.338668845
            },
            {
              "display_name": "Sui",
              "id": "sui",
              "pools_count": 858,
              "txns_24h": 284973,
              "volume_usd_24h": 13687304.150215652
            },
            {
              "display_name": "ZkSync",
              "id": "zksync",
              "pools_count": 81,
              "txns_24h": 980,
              "volume_usd_24h": 109893.11646172438
            },
            {
              "display_name": "HyperEVM",
              "id": "hyperevm",
              "pools_count": 464,
              "txns_24h": 86909,
              "volume_usd_24h": 57011584.51734452
            },
            {
              "display_name": "Plasma",
              "id": "plasma",
              "pools_count": 39,
              "txns_24h": 31937,
              "volume_usd_24h": 4037898.107026789
            },
            {
              "display_name": "Monad",
              "id": "monad",
              "pools_count": 292,
              "txns_24h": 81205,
              "volume_usd_24h": 20028491.573270075
            },
            {
              "display_name": "Ethereum",
              "id": "ethereum",
              "pools_count": 9930,
              "txns_24h": 319101,
              "volume_usd_24h": 1386042466.847537
            },
            {
              "display_name": "Base",
              "id": "base",
              "pools_count": 14970,
              "txns_24h": 2153500,
              "volume_usd_24h": 619767709.5205319
            },
            {
              "display_name": "Polygon",
              "id": "polygon",
              "pools_count": 3885,
              "txns_24h": 358845,
              "volume_usd_24h": 32573227.40428371
            },
            {
              "display_name": "Fantom",
              "id": "fantom",
              "pools_count": 57,
              "txns_24h": 238,
              "volume_usd_24h": 1.787321
            },
            {
              "display_name": "Sonic",
              "id": "sonic",
              "pools_count": 421,
              "txns_24h": 27173,
              "volume_usd_24h": 1158699.8142216087
            },
            {
              "display_name": "Arc",
              "id": "arc",
              "pools_count": 1066,
              "txns_24h": 72961,
              "volume_usd_24h": 42120517.73819203
            },
            {
              "display_name": "Celo",
              "id": "celo",
              "pools_count": 98,
              "txns_24h": 24004,
              "volume_usd_24h": 998508.5802031121
            },
            {
              "display_name": "Solana",
              "id": "solana",
              "pools_count": 98902,
              "txns_24h": 22354665,
              "volume_usd_24h": 1902311033.8652787
            },
            {
              "display_name": "Scroll",
              "id": "scroll",
              "pools_count": 24,
              "txns_24h": 3289,
              "volume_usd_24h": 216419.6254081839
            },
            {
              "display_name": "Berachain",
              "id": "berachain",
              "pools_count": 160,
              "txns_24h": 11541,
              "volume_usd_24h": 717030.0907030957
            },
            {
              "display_name": "Binance Smart Chain",
              "id": "bsc",
              "pools_count": 27068,
              "txns_24h": 4584307,
              "volume_usd_24h": 1231615663.7648265
            },
            {
              "display_name": "Optimism",
              "id": "optimism",
              "pools_count": 992,
              "txns_24h": 160449,
              "volume_usd_24h": 4959366.819475726
            },
            {
              "display_name": "Cronos",
              "id": "cronos",
              "pools_count": 750,
              "txns_24h": 26450,
              "volume_usd_24h": 1513849.3624929688
            },
            {
              "display_name": "x Layer",
              "id": "x_layer",
              "pools_count": 202,
              "txns_24h": 160354,
              "volume_usd_24h": 26117470.31093886
            },
            {
              "display_name": "Robinhood Chain",
              "id": "robinhood",
              "pools_count": 12359,
              "txns_24h": 1537655,
              "volume_usd_24h": 542185378.6357187
            },
            {
              "display_name": "Katana",
              "id": "katana",
              "pools_count": 28,
              "txns_24h": 3279,
              "volume_usd_24h": 242095.84557557217
            }
          ]
        }
      },
      "tool_result_checked": true,
      "tool_schema_bytes": 75999,
      "tools": [
        "getKeyStatus",
        "getNetworks",
        "getCapabilities",
        "getNetworkDexes",
        "getNetworkPools",
        "getDexPools",
        "getNetworkPoolsFilter",
        "getPoolDetails",
        "getPoolOHLCV",
        "getPoolIndicator",
        "getPoolTransactions",
        "getTokenDetails",
        "getTokenPools",
        "getTokenOHLCV",
        "getTokenIndicator",
        "getTokenMultiPrices",
        "filterNetworkTokens",
        "getTopTokens",
        "search",
        "getStats"
      ],
      "working": true
    },
    "evidence_strength": "readme_checked",
    "example_checks": [
      {
        "claim": "Build the server to dist/ for the documented entry point",
        "command": "npm run build",
        "deferred": false,
        "evidence": "> dexpaprika-mcp@2.9.2 build\n> mkdir -p dist && cp -r src/* dist/ && chmod +x dist/bin.js",
        "expected": "Build copies src into dist and exits 0",
        "input": "npm run build",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": "README.md Development section",
        "verdict": "yes"
      },
      {
        "claim": "Run the offline unit test suite",
        "command": "npm run test:unit",
        "deferred": false,
        "evidence": "e bounds\nok 74 - getNetworkPoolsFilter sends the 48h price-change bounds\n  ---\n  duration_ms: 531.531444\n  ...\n# Subtest: a redirect off the allowed paths or to another host is not followed with the key\nok 75 - a redirect off the allowed paths or to another host is not followed with the key\n  ---\n  duration_ms: 1707.983945\n  ...\n# Subtest: a same-host redirect to an allowed path is followed\nok 76 - a same-host redirect to an allowed path is followed\n  ---\n  duration_ms: 613.793091\n  ...\n1..76\n# tests 76\n# suites 0\n# pass 76\n# fail 0\n# cancelled 0\n# skipped 0\n# todo 0\n# duration_ms 16704.526022",
        "expected": "All 76 tests pass",
        "input": "npm run test:unit",
        "kind": "example",
        "outcome": "command completed successfully",
        "returncode": 0,
        "source": ".github/workflows/ci.yml Unit and wire tests step",
        "verdict": "yes"
      },
      {
        "claim": "Run the README test command",
        "command": "",
        "deferred": true,
        "evidence": "npm test runs src/test.js, which spawns a stdio server and keeps running until Ctrl+C, so it is not a finite example; the finite equivalents npm run test:unit and npm run test:mcp were run instead.",
        "expected": "documented command completes successfully",
        "input": "",
        "kind": "example",
        "outcome": "npm test runs src/test.js, which spawns a stdio server and keeps running until Ctrl+C, so it is not a finite example; the finite equivalents npm run test:unit and npm run test:mcp were run instead.",
        "source": "README.md Development section (npm test)",
        "verdict": "deferred"
      }
    ],
    "status": "PASS"
  },
  "diagnosis": null
}
