{
  "run_id": "supabase--mcp-claude-haiku-5-5-1792808459361985393",
  "date": "2026-10-24T02:34:39.091922+00:00",
  "repo": "supabase/mcp",
  "kind": "mcp",
  "source": "https://github.com/supabase/mcp",
  "commit": "9f0741069409169e60a7f984b4cf8e9e0d1b7397",
  "model": "claude-haiku-5-5",
  "model_version": "claude-haiku-5-5",
  "test_version": "readme-bdc1b9b3c0d2673aef87e076d14084a8123ddcf09d520c1ee2e364a37c3f4bb9",
  "pass": null,
  "outcome": "needs_credentials",
  "time_to_working_s": null,
  "total_s": 819.7298965454102,
  "steps": [
    "cd <guest-path> && pwd && ls -la && id -u && python3 --version && cat README.md 2>/dev/null | head -200",
    "cd <guest-path> && cat CONTRIBUTING.md | head -250; echo ---; cat mise.toml; echo ---; cat package.json; echo ---; cat AGENTS.md; echo ---; ls -la .coldpass; which node npm pnpm mise uv 2>&1; node --version 2>&1; git --version 2>&1",
    "cd <guest-path> && git init -q 2>&1; git remote remove origin 2>/dev/null; git remote add origin https://github.com/supabase/mcp && timeout 120 git fetch --depth 1 origin 9f0741069409169e60a7f984b4cf8e9e0d1b7397 2>&1; echo \"fetch rc=$?\"; git reset --mixed FETCH_HEAD 2>&1; git log --oneline -1 2>&1; git status --short | head -20",
    "cd <guest-path> && (curl -fsSL https://mise.run | sh) 2>&1 | tail -5; echo \"rc=$?\"; ls -l ~/.local/bin/mise 2>&1",
    "cd <guest-path> && export PATH=<guest-path> && export NODE_USE_ENV_PROXY=1 && timeout 900 mise install 2>&1 | tail -30; echo \"rc=${PIPESTATUS[0]}\"",
    "cd <guest-path> && export PATH=<guest-path> && export NODE_USE_ENV_PROXY=1 && eval \"$(mise activate bash)\" && node --version && pnpm --version && timeout 900 pnpm install --frozen-lockfile 2>&1 | tail -25; echo \"rc=${PIPESTATUS[0]}\"",
    "cd <guest-path> && export PATH=<guest-path> && eval \"$(mise activate bash)\" && timeout 900 pnpm build 2>&1 | tail -25; echo \"rc=${PIPESTATUS[0]}\"; ls packages/mcp-server-supabase/dist 2>&1 | head",
    "cd <guest-path> && export PATH=<guest-path> && eval \"$(mise activate bash)\" && cat package.json | head -60; echo ---; node dist/cli.js --help 2>&1 | head -40; echo ---; ls src | head -80; grep -rn \"get_project_url\" src/*.ts | grep -v test | head",
    "cd <guest-path> && cat src/cli.ts | head -120; echo ---; grep -n \"get_project_url\" -A25 src/tools/*.ts | grep -v test | head -60",
    "cd <guest-path> && cat src/transports/local-http-entry.ts | head -150; echo ---; grep -rn \"getProjectUrl\" -A8 src/platform/api-platform.ts | head -30; grep -rn \"getProjectUrl\" -A6 src/platform/*.ts | grep -v test | head -30",
    "cd <guest-path> && export PATH=<guest-path> && eval \"$(mise activate bash)\" && (nohup node dist/cli.js --http --port 3111 > <guest-path> 2>&1 &) ; sleep 4; cat <guest-path>; curl -s -i -X POST http://127.0.0.1:3111/mcp -H 'Authorization: <secret>' -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"initialize\",\"params\":{\"protocolVersion\":\"2025-11-25\",\"capabilities\":{},\"clientInfo\":{\"name\":\"probe\",\"version\":\"0.0.1\"}}}' | head -c 1200",
    "curl -s -X POST http://127.0.0.1:3111/mcp -H 'Authorization: <secret>' -H 'Content-Type: application/json' -H 'Accept: application/json, text/event-stream' -d '{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/call\",\"params\":{\"name\":\"get_project_url\",\"arguments\":{\"project_id\":\"abcdefghijklmnopqrst\"}}}' | head -c 1500; echo; echo ---; cat <guest-path>",
    "pkill -f \"dist/cli.js --http --port 3111\"; sleep 1; (ss -ltnp 2>/dev/null | grep 3111) || echo \"port 3111 free\"; cd <guest-path> && grep -rniE \"cron|setInterval|schedule|--once|--now|webhook\" README.md CONTRIBUTING.md packages/mcp-server-supabase/src/cli.ts packages/mcp-server-supabase/src/transports/*.ts scripts/*.mjs 2>/dev/null | grep -v test | head -20",
    "for p in $(pgrep -f \"node dist/cli.js\" ); do echo \"killing $p: $(tr '\\0' ' ' < /proc/$p/cmdline)\"; kill $p; done; sleep 1; curl -s -m 3 -o /dev/null -w \"%{http_code}\\n\" http://127.0.0.1:3111/mcp || echo \"port 3111 closed\"; cd <guest-path> && grep -rniE \"cron|setInterval|schedule|--once|--now|webhook\" README.md CONTRIBUTING.md packages/mcp-server-supabase/src/cli.ts packages/mcp-server-supabase/src/transports/*.ts scripts/*.mjs 2>/dev/null | grep -v test | head -20; echo \"grep done\"",
    "for p in $(pgrep -f \"[d]ist/cli.js --http\"); do echo \"killing $p\"; kill $p; done; sleep 1; curl -s -m 3 -o /dev/null -w \"%{http_code}\\n\" http://127.0.0.1:3111/mcp || echo \"port 3111 closed\"",
    "cd <guest-path> && grep -rniE \"cron|setInterval|schedule|--once|--now|webhook\" README.md CONTRIBUTING.md packages/mcp-server-supabase/src/cli.ts packages/mcp-server-supabase/src/transports/ scripts/ 2>/dev/null | grep -v \"\\.test\\.\" | head -20; echo \"grep rc=$?\"; ls .github/workflows 2>/dev/null",
    "cd <guest-path> && export PATH=<guest-path> && eval \"$(mise activate bash)\" && touch packages/mcp-server-supabase/.env.local && timeout 900 pnpm --filter @supabase/mcp-server-supabase test:unit --run src/server 2>&1 | tail -30; echo \"rc=${PIPESTATUS[0]}\"; echo \"node=$(which node) pnpm=$(which pnpm)\"",
    "cd <guest-path> && NODE=<guest-path> && PNPM=<guest-path> && NODEBIN=<guest-path> && W=<guest-path> && cat > probe.json <<EOF\n{\"kind\":\"mcp_http\",\"argv\":[\"$NODE\",\"packages/mcp-server-supabase/dist/cli.js\",\"--http\",\"--port\",\"3111\"],\"cwd\":\"<guest-path>\",\"url\":\"http://127.0.0.1:3111/mcp\",\"headers\":{\"Authorization\":\"<secret>\"},\"tool\":\"get_project_url\",\"arguments\":{\"project_id\":\"abcdefghijklmnopqrst\"},\"expected_text\":\"https://abcdefghijklmnopqrst.supabase.co\"}\nEOF\ncat > claims.json <<EOF\n[\n{\"kind\":\"claim\",\"claim\":\"The MCP server exposes project-config tools such as fetching a project's API URL.\",\"source\":\"allows them to perform tasks like managing tables, fetching config, and querying data.\",\"input\":\"project_id abcdefghijklmnopqrst\",\"expected\":\"URL https://abcdefghijklmnopqrst.supabase.co\",\"probe_kind\":\"mcp_http\",\"argv\":[\"$NODE\",\"packages/mcp-server-supabase/dist/cli.js\",\"--http\",\"--port\",\"3111\"],\"url\":\"http://127.0.0.1:3111/mcp\",\"headers\":{\"Authorization\":\"<secret>\"},\"tool\":\"get_project_url\",\"arguments\":{\"project_id\":\"abcdefghijklmnopqrst\"},\"expected_text\":\"https://abcdefghijklmnopqrst.supabase.co\",\"cwd\":\"<guest-path>\"},\n{\"kind\":\"claim\",\"claim\":\"promise\",\"source\":\"Your MCP client will automatically prompt you to log in to Supabase during setup.\",\"testable\":false,\"reason\":\"Requires an interactive Supabase login/OAuth flow and a real Supabase account; no credential is available in this guest.\"}\n]\nEOF\ncat > examples.json <<EOF\n[\n{\"kind\":\"example\",\"claim\":\"Repository unit test suite for the Supabase MCP server runs offline\",\"source\":\"CONTRIBUTING.md Testing: pnpm --filter @supabase/mcp-server-supabase test:unit --run src/server\",\"input\":\"src/server suites\",\"expected\":\"all suites pass\",\"argv\":[\"$PNPM\",\"--filter\",\"@supabase/mcp-server-supabase\",\"test:unit\",\"--run\",\"src/server\"],\"cwd\":\"<guest-path>\",\"env\":{\"PATH\":\"$NODEBIN:/usr/local/bin:/usr/bin:/bin\"},\"expected_text\":\"284 passed (284)\"},\n{\"kind\":\"example\",\"claim\":\"Workspace build produces the dist files used by the server\",\"source\":\"package.json scripts.build (documented in CONTRIBUTING.md Development setup)\",\"input\":\"pnpm build\",\"expected\":\"build succeeds\",\"argv\":[\"$PNPM\",\"build\"],\"cwd\":\"<guest-path>\",\"env\":{\"PATH\":\"$NODEBIN:/usr/local/bin:/usr/bin:/bin\"},\"expected_text\":\"Build success\"}\n]\nEOF\ncat > cycles.json <<'EOF'\n{\"detected\":false,\"reason\":\"Entry points inspected: README.md, CONTRIBUTING.md, packages/mcp-server-supabase/src/cli.ts, src/transports/*, scripts/. The product is an on-demand MCP server (stdio or local streamable HTTP) with no cron, scheduler, setInterval loop, --once/--now flag, or webhook. Only .github/workflows contain schedules, which are CI and not product cycles.\",\"checks\":[]}\nEOF\nfor f in probe.json claims.json examples.json cycles.json; do python3 -I -m json.tool $f >/dev/null && echo \"$f ok\"; done; cat probe.json",
    "cd <guest-path> && <env-var>=<guest-path> timeout 1500 python3 -I <guest-path> --validate --replay 2>&1 | tail -80; echo \"rc=${PIPESTATUS[0]}\"; pgrep -fa \"[d]ist/cli.js\" || echo \"no server left running\"",
    "cd <guest-path> && NODEBIN=<guest-path> && PNPMDIR=<guest-path> && NEWPATH=\"$PNPMDIR:$NODEBIN:/usr/local/bin:/usr/bin:/bin\" && python3 -I - \"$NEWPATH\" <<'PY'\nimport json,sys\np=sys.argv[1]\nd=json.load(open('examples.json'))\nfor e in d: e['env']={'PATH':p}\njson.dump(d,open('examples.json','w'),indent=1)\nprint('ok')\nPY\ncd <guest-path> && <env-var>=<guest-path> timeout 1500 python3 -I <guest-path> --validate --replay > <guest-path> 2>&1; echo \"rc=$?\"; python3 -I -c \"\nimport json,sys\nd=json.load(open('<guest-path>'))\nprint('valid:',d.get('valid'));print('problems:',d.get('problems'))\nr=d.get('replay',{});print('replay status:',r.get('status'))\nfor e in r.get('details',{}).get('example_checks',[]): print('example',e['returncode'],e['verdict'],e['claim'][:50])\n\" 2>&1 || tail -c 1500 <guest-path>",
    "cd <guest-path> && cat > report.json <<'EOF'\n{\"outcome\":\"working\",\"fault_owner\":null,\"operation\":\"Run the Supabase MCP server locally over streamable HTTP and call the get_project_url tool, which returns the project API URL, plus the repo's offline unit test suite and build.\",\"operation_scope\":\"Local HTTP mode only (node packages/mcp-server-supabase/dist/cli.js --http --port 3111). Tools that call the Supabase Management API (projects, SQL, branches, etc.) were not exercised because they need a real Supabase personal access token or OAuth login, which this guest does not have. The stdio transport was not exercised for the same reason (it requires SUPABASE_ACCESS_TOKEN). The local HTTP server accepts any Bearer value; get_project_url makes no API call.\",\"steps\":[\"git init; git remote add origin https://github.com/supabase/mcp; git fetch --depth 1 origin 9f0741069409169e60a7f984b4cf8e9e0d1b7397; git reset --mixed FETCH_HEAD\",\"curl -fsSL https://mise.run | sh  (installed mise to <guest-path>)\",\"mise install  (Node 24.15.0, pnpm 10.33.2, mcp-publisher 1.8.1 per mise.toml)\",\"pnpm install --frozen-lockfile\",\"pnpm build\",\"touch packages/mcp-server-supabase/.env.local  (empty file, as CONTRIBUTING.md Testing requires)\",\"pnpm --filter @supabase/mcp-server-supabase test:unit --run src/server  (284 passed)\",\"node packages/mcp-server-supabase/dist/cli.js --http --port 3111, then tools/call get_project_url with project_id abcdefghijklmnopqrst -> https://abcdefghijklmnopqrst.supabase.co\"],\"deviations\":[\"Node and pnpm were not present in the guest; installed them with mise per CONTRIBUTING.md instead of a system package.\",\"pnpm install printed a non-fatal warning that the supabase package's bin link could not be created; its postinstall then downloaded and checksum-verified the Supabase CLI, so it was ignored.\",\"The first example run failed because pnpm was not on the PATH used by the build script; fixed the example env PATH to include the pnpm install directory and re-ran validation (no product change).\",\"Stdio mode and all Supabase-account tools were not run: no Supabase PAT or OAuth login is available (needs_credentials for that part only). Claim about automatic login is recorded as testable:false.\",\"The first attempt to stop the server used pkill -f, which matched its own shell and aborted that call; the server was then stopped by PID and port 3111 confirmed closed.\"],\"stuck_step\":null,\"main_blocker\":null,\"plain_failure\":null,\"suggested_fix\":\"None required for the local HTTP path. To exercise account-backed tools, supply a Supabase access token (SUPABASE_ACCESS_TOKEN or an Authorization header) and re-run the tool calls.\"}\nEOF\npython3 -I -m json.tool report.json >/dev/null && echo \"report ok\"; cd <guest-path> && <env-var>=<guest-path> timeout 1500 python3 -I <guest-path> --validate --replay > <guest-path> 2>&1; echo \"rc=$?\"; head -c 300 <guest-path>; echo; pgrep -fa \"[d]ist/cli.js\" || echo \"no server running\"; git status --short | head",
    "cd <guest-path> && curl -s -m 3 -o /dev/null -w \"%{http_code}\\n\" http://127.0.0.1:3111/mcp || echo \"port 3111 closed\"; git diff --stat mise.lock; git diff mise.lock | head -20",
    "cd <guest-path> && git checkout -- mise.lock && git status --short && <env-var>=<guest-path> timeout 1500 python3 -I <guest-path> --validate --replay > <guest-path> 2>&1; echo \"rc=$?\"; python3 -I -c \"import json;d=json.load(open('<guest-path>'));print('valid:',d['valid'],'problems:',d['problems'],'replay:',d['replay']['status'])\""
  ],
  "stuck_step": "<guest-path> packages/mcp-server-supabase/dist/cli.js --http --port 3111",
  "error_excerpt": "The saved checks do not fully confirm documented product behavior.",
  "what_it_did": "Run the Supabase MCP server locally over streamable HTTP and call the get_project_url tool, which returns the project API URL, plus the repo's offline unit test suite and build.",
  "suggested_fix": "None required for the local HTTP path. To exercise account-backed tools, supply a Supabase access token (SUPABASE_ACCESS_TOKEN or an Authorization header) and re-run the tool calls.",
  "tokens_in": 812504,
  "tokens_out": 16128,
  "cost_usd": 0.02766138,
  "usage_complete": true,
  "checks": [
    {
      "check": "operation",
      "status": "PASS",
      "details": {
        "working": false,
        "kind": "mcp_http",
        "url": "http://127.0.0.1:3111/mcp",
        "hosting": "local",
        "transport": "streamable-http",
        "scope": "remote hosted MCP initialize + tools/list",
        "argv": [
          "<guest-path>",
          "packages/mcp-server-supabase/dist/cli.js",
          "--http",
          "--port",
          "3111"
        ],
        "serverInfo": {
          "name": "supabase",
          "title": "Supabase",
          "version": "0.14.0"
        },
        "protocolVersion": "2025-06-18",
        "tools": [
          "search_docs",
          "list_organizations",
          "get_organization",
          "list_projects",
          "get_project",
          "get_cost",
          "confirm_cost",
          "create_project",
          "pause_project",
          "restore_project",
          "list_tables",
          "list_extensions",
          "list_migrations",
          "apply_migration",
          "execute_sql",
          "query_logs",
          "get_advisors",
          "get_project_url",
          "get_publishable_keys",
          "generate_typescript_types",
          "list_edge_functions",
          "get_edge_function",
          "deploy_edge_function",
          "create_branch",
          "list_branches",
          "delete_branch",
          "merge_branch",
          "reset_branch",
          "rebase_branch",
          "submit_feedback",
          "delete_feedback"
        ],
        "tool_schema_bytes": 24197,
        "tool_result": {
          "content": [
            {
              "type": "text",
              "text": "{\"url\":\"https://abcdefghijklmnopqrst.supabase.co\"}"
            }
          ]
        },
        "tool_result_checked": true
      }
    }
  ],
  "safety": {
    "version": "z2x-1",
    "rules_version": "z2x-1",
    "summary": "Review signals: 1 connection review, 4 hardcoded secret, 86 known vulnerability. 3 static matches retained as context.",
    "findings": [
      {
        "kind": "connection-review",
        "count": 1,
        "note": "Repository processes attempted these non-loopback connections; proxies can hide the final hostname.",
        "location_count": 1,
        "path": "216.150.1.193:443",
        "process_count": 10
      },
      {
        "kind": "hardcoded-secret",
        "count": 4,
        "note": "Gitleaks found a possible hardcoded secret; value withheld.",
        "location_count": 2
      },
      {
        "kind": "known-vulnerability",
        "count": 86,
        "note": "OSV reports a known vulnerability in this dependency version.",
        "location_count": 22
      }
    ],
    "context": [
      {
        "kind": "hardcoded-secret",
        "count": 3,
        "note": "Gitleaks found a possible hardcoded secret; value withheld.",
        "location_count": 3
      }
    ],
    "limitations": [
      "A short run cannot establish that code is safe.",
      "Connections show IP addresses; proxies can hide the final hostname.",
      "Tracing covers dispatched commands and their children, not the whole OS; guest root can interfere with tracing."
    ],
    "static": {
      "dependency_note": "OSV scanned supported lockfiles; unpinned dependencies and unsupported formats are outside this check."
    },
    "evidence_url": "/safety/?run=supabase--mcp-claude-haiku-5-5-1792808459361985393",
    "evidence_file": "/data/safety/supabase--mcp-claude-haiku-5-5-1792808459361985393.json.gz"
  },
  "agent_execution": "native_agent",
  "agent_runtime": "claude-code",
  "agent_runtime_version": "2.1.300 (Claude Code)",
  "tool_transport": "mcp-assigned-vm",
  "platform": "linux",
  "reasoning": "low",
  "service_tier": null,
  "resources": {
    "cpus": 2,
    "memory_mib": 4096,
    "disk_mib": 32768
  },
  "native_tool_calls": 23,
  "native_bundle": null,
  "architecture": null,
  "backend": "hyperv",
  "platform_details": {
    "backend": "hyperv",
    "os": "linux"
  },
  "platform_conflicts": null,
  "sandbox_source": null,
  "source_pin": {
    "commit": "9f0741069409169e60a7f984b4cf8e9e0d1b7397",
    "url": "https://github.com/supabase/mcp"
  },
  "purpose": "initial",
  "profile": {
    "model": "claude-haiku-5-5",
    "reasoning": "low"
  },
  "fault": {
    "owner": "unknown",
    "status": "pending",
    "reason": "The saved checks do not fully confirm documented product behavior."
  },
  "fix_id": null,
  "verifies_run_id": null,
  "hosting": "local",
  "operation_scope": "remote hosted MCP initialize + tools/list",
  "tool_calls": 23,
  "guest_setup": null,
  "runtime": null,
  "runtime_version": null,
  "runtime_revision": null,
  "source_revision": null,
  "evidence_version": null,
  "failure_origin": null,
  "evidence_strength": "partly_checked",
  "works": "untested",
  "install_s": null,
  "first_use_s": null,
  "mcp": "local",
  "needs": [],
  "needs_which": null,
  "agent_interface": [
    "mcp"
  ],
  "license": "Apache-2.0",
  "repo_url": "https://github.com/supabase/mcp",
  "cost_to_try": null,
  "hardware": null,
  "what_failed": "The saved checks do not fully confirm documented product behavior.",
  "local_or_hosted": "local",
  "cycle_checks": [
    {
      "kind": "cycle",
      "claim": "Scheduled or looping main behavior",
      "source": "repository entry points",
      "input": "source inspection",
      "expected": "identify the product trigger",
      "verdict": "yes",
      "outcome": "Entry points inspected: README.md, CONTRIBUTING.md, packages/mcp-server-supabase/src/cli.ts, src/transports/*, scripts/. The product is an on-demand MCP server (stdio or local streamable HTTP) with no cron, scheduler, setInterval loop, --once/--now flag, or webhook. Only .github/workflows contain schedules, which are CI and not product cycles.",
      "evidence": "Entry points inspected: README.md, CONTRIBUTING.md, packages/mcp-server-supabase/src/cli.ts, src/transports/*, scripts/. The product is an on-demand MCP server (stdio or local streamable HTTP) with no cron, scheduler, setInterval loop, --once/--now flag, or webhook. Only .github/workflows contain schedules, which are CI and not product cycles.",
      "command": ""
    }
  ],
  "claims": [
    {
      "kind": "claim",
      "claim": "The MCP server exposes project-config tools such as fetching a project's API URL.",
      "source": "allows them to perform tasks like managing tables, fetching config, and querying data.",
      "input": "{\"tool\": \"get_project_url\", \"arguments\": {\"project_id\": \"abcdefghijklmnopqrst\"}}",
      "expected": "URL https://abcdefghijklmnopqrst.supabase.co",
      "command": "<guest-path> packages/mcp-server-supabase/dist/cli.js --http --port 3111 tools/call {\"tool\": \"get_project_url\", \"arguments\": {\"project_id\": \"abcdefghijklmnopqrst\"}}",
      "verdict": "yes",
      "outcome": "Real input produced the expected result: https://abcdefghijklmnopqrst.supabase.co",
      "evidence": "https://abcdefghijklmnopqrst.supabase.co\\\"}\"}]}",
      "source_checked": true,
      "source_file": "README.md"
    },
    {
      "kind": "claim",
      "claim": "promise",
      "source": "Your MCP client will automatically prompt you to log in to Supabase during setup.",
      "input": "",
      "expected": "",
      "command": "",
      "verdict": "blocked",
      "outcome": "Requires an interactive Supabase login/OAuth flow and a real Supabase account; no credential is available in this guest.",
      "evidence": "Requires an interactive Supabase login/OAuth flow and a real Supabase account; no credential is available in this guest.",
      "source_checked": true,
      "source_file": "README.md"
    }
  ],
  "claims_note": null,
  "example_checks": [
    {
      "kind": "example",
      "claim": "Repository unit test suite for the Supabase MCP server runs offline",
      "source": "CONTRIBUTING.md Testing: pnpm --filter @supabase/mcp-server-supabase test:unit --run src/server",
      "input": "src/server suites",
      "command": "<guest-path> --filter @supabase/mcp-server-supabase test:unit --run src/server",
      "evidence": "\n \u2713 |unit| src/server.test.ts (43 tests) 2395ms\n   \u2713 tools > tool result content is valid JSON 1302ms\n   \u2713 project scoped tools > listing tables implicitly uses the scoped project_id 719ms\n \u2713 |unit| src/server.account.test.ts (36 tests) 605ms\n \u2713 |unit| src/server.debugging.test.ts (14 tests) 315ms\n \u2713 |unit| src/server.storage.test.ts (4 tests) 162ms\n \u2713 |unit| src/server.development.test.ts (2 tests) 114ms\n\n Test Files  9 passed (9)\n      Tests  284 passed (284)\n   Start at  02:32:37\n   Duration  77.83s (transform 1.04s, setup 4.47s, collect 24.47s, tests 42.53s, environment 1ms, prepare 2.64s)",
      "deferred": false,
      "expected": "all suites pass",
      "returncode": 0,
      "verdict": "yes",
      "outcome": "command completed successfully"
    },
    {
      "kind": "example",
      "claim": "Workspace build produces the dist files used by the server",
      "source": "package.json scripts.build (documented in CONTRIBUTING.md Development setup)",
      "input": "pnpm build",
      "command": "<guest-path> build",
      "evidence": "server-supabase build: DTS dist/platform/api-platform.d.cts 582.00 B\npackages/mcp-server-supabase build: DTS dist/index.d.cts                 94.66 KB\npackages/mcp-server-supabase build: DTS dist/platform/index.d.cts        21.51 KB\npackages/mcp-server-supabase build: DTS dist/cli.d.ts                    20.00 B\npackages/mcp-server-supabase build: DTS dist/platform/api-platform.d.ts  581.00 B\npackages/mcp-server-supabase build: DTS dist/index.d.ts                  94.66 KB\npackages/mcp-server-supabase build: DTS dist/platform/index.d.ts         21.51 KB\npackages/mcp-server-supabase build: Done",
      "deferred": false,
      "expected": "build succeeds",
      "returncode": 0,
      "verdict": "yes",
      "outcome": "command completed successfully"
    }
  ],
  "does_what_it_says": "partly",
  "maintenance": {
    "last_commit_at": "2026-10-23T12:58:30Z",
    "commits_90d": 66,
    "merged_prs_90d": 66,
    "open_issues": 72,
    "open_prs": 58,
    "reply_share": 0.5,
    "reply_threads": 34,
    "median_reply_hours": 99.4,
    "last_release_at": "2026-10-14T15:26:54Z",
    "archived": false,
    "verdict": "maintained",
    "note": "actively maintained: last commit 0 days ago; 66 commits and 66 merged PRs in 90 days; 72 open issues, 58 open PRs; 17 of 34 recent threads got a maintainer reply, median first reply 99.4h; latest release 2026-10-14"
  },
  "maintenance_verdict": "maintained",
  "maintenance_note": "actively maintained: last commit 0 days ago; 66 commits and 66 merged PRs in 90 days; 72 open issues, 58 open PRs; 17 of 34 recent threads got a maintainer reply, median first reply 99.4h; latest release 2026-10-14",
  "maintained": "active",
  "maintained_note": "last commit 0 days ago; 2 open issues, 5 answered or closed",
  "last_commit_at": "2026-10-23T15:10:20Z",
  "last_release_at": "2026-10-14T15:26:54Z",
  "open_issues": 2,
  "answered_issues": 5,
  "platforms_claimed": [
    "linux"
  ],
  "topic": "mcp-server",
  "agent_interfaces": [
    {
      "interface": "mcp",
      "evidence": "independent checker",
      "observed": true,
      "operation_checked": false
    },
    {
      "interface": "cli",
      "evidence": "README metadata",
      "observed": false,
      "operation_checked": false
    }
  ],
  "agent_interfaces_note": "README metadata is a discovery hint, not pinned documentation proof. Observed interfaces were exercised in this run. An empty list means unknown.",
  "mcp_context": {
    "tool_count": 31,
    "schema_bytes": 24197,
    "tokens_approx": 6050,
    "estimate_method": "ceil(compact UTF-8 tools/list JSON bytes / 4)",
    "scope": "returned tools/list page only; excludes client framing and tool results"
  },
  "tested_at": "2026-10-24T02:34:39.091922+00:00",
  "tested_commit": "9f0741069409169e60a7f984b4cf8e9e0d1b7397",
  "tested_with": {
    "agent": "claude-code",
    "agent_version": "2.1.300 (Claude Code)",
    "model": "claude-haiku-5-5",
    "model_route": "claude-haiku-5-5",
    "reasoning": "low",
    "os": "linux",
    "backend": "hyperv",
    "transport": "mcp-assigned-vm"
  },
  "setup_identity": {
    "repo": "supabase/mcp",
    "source": "https://github.com/supabase/mcp",
    "commit": "9f0741069409169e60a7f984b4cf8e9e0d1b7397",
    "source_revision": null,
    "os": "linux",
    "architecture": null,
    "backend": "hyperv",
    "model": "claude-haiku-5-5",
    "model_version": "claude-haiku-5-5",
    "agent_execution": "native_agent",
    "agent_runtime": "claude-code",
    "agent_runtime_version": "2.1.300 (Claude Code)",
    "tool_transport": "mcp-assigned-vm",
    "runtime": null,
    "runtime_version": null,
    "runtime_revision": null,
    "sandbox_source": null,
    "guest_setup": null,
    "source_pin": {
      "commit": "9f0741069409169e60a7f984b4cf8e9e0d1b7397",
      "url": "https://github.com/supabase/mcp"
    },
    "platform_details": {
      "os": "linux",
      "backend": "hyperv"
    },
    "platform_conflicts": null,
    "reasoning": "low",
    "service_tier": null,
    "resources": {
      "cpus": 2,
      "memory_mib": 4096,
      "disk_mib": 32768
    },
    "operation": "Run the Supabase MCP server locally over streamable HTTP and call the get_project_url tool, which returns the project API URL, plus the repo's offline unit test suite and build.",
    "operation_scope": "remote hosted MCP initialize + tools/list",
    "hosting": "local",
    "kind": "mcp",
    "test_version": "readme-bdc1b9b3c0d2673aef87e076d14084a8123ddcf09d520c1ee2e364a37c3f4bb9",
    "evidence_version": null
  },
  "other_model": null,
  "other_run_id": null,
  "models_agree": null,
  "furthest_model": null,
  "transcript_url": null,
  "report_url": "/reports/supabase--mcp-claude-haiku-5-5-1792808459361985393.json"
}
