{
  "run_id": "motherduckdb--mcp-server-motherduck-claude-haiku-5-5-1792802350219012146",
  "date": "2026-10-24T00:53:12.091872+00:00",
  "repo": "motherduckdb/mcp-server-motherduck",
  "kind": "mcp",
  "source": "https://github.com/motherduckdb/mcp-server-motherduck",
  "commit": "41acb581d9bc04e427655ba5178b2c5c01f68cd2",
  "model": "claude-haiku-5-5",
  "model_version": "claude-haiku-5-5",
  "test_version": "readme-bdc1b9b3c0d2673aef87e076d14084a8123ddcf09d520c1ee2e364a37c3f4bb9",
  "pass": true,
  "outcome": "pass",
  "time_to_working_s": 804.3153488290263,
  "total_s": 841.8728392124176,
  "steps": [
    "cd <guest-path> && pwd && ls -la && id -u && python3 --version && cat README.md | head -200; ls <guest-path> /inputs 2>&1",
    "cd <guest-path> && sed -n 200,400p README.md; cat .python-version; cat makefile; ls -la .coldpass; git status 2>&1 | head -2; which uv uvx; uv --version 2>&1",
    "cd <guest-path> && python3 -m venv <guest-path> && <guest-path> install -q uv 2>&1 | tail -3; <guest-path> --version; cd <guest-path> && git init -q && git remote add origin https://github.com/motherduckdb/mcp-server-motherduck && git fetch --depth 1 origin 41acb581d9bc04e427655ba5178b2c5c01f68cd2 2>&1 | tail -3 && git reset --mixed FETCH_HEAD 2>&1 | tail -2; git log --oneline -1",
    "sudo -n apt-get update -qq 2>&1 | tail -2; sudo -n DEBIAN_FRONTEND=noninteractive apt-get install -y -qq python3.12-venv 2>&1 | tail -3; rm -rf <guest-path>; python3 -m venv <guest-path> && <guest-path> install -q uv 2>&1 | tail -3; <guest-path> --version",
    "cd <guest-path> && export PATH=<guest-path> && make install 2>&1 | tail -15; echo \"rc=$?\"; ls .venv/bin | grep -i motherduck",
    "sudo -n DEBIAN_FRONTEND=noninteractive apt-get install -y -qq make 2>&1 | tail -2; cd <guest-path> && export PATH=<guest-path> && make install 2>&1 | tail -15; ls .venv/bin | grep -i motherduck",
    "cd <guest-path> && export PATH=<guest-path> && timeout 600 make test-unit 2>&1 | tail -8; echo; timeout 600 make test-e2e 2>&1 | tail -8",
    "cd <guest-path> && ls tests tests/*; export PATH=<guest-path> && timeout 300 uv run pytest tests/e2e/test_s3_duckdb.py -x -q 2>&1 | grep -iE \"error|assert|Exception|s3|http\" | head -30",
    "cd <guest-path> && grep -rniE \"cron|schedul|while True|webhook|--once|--now|interval\" src/ | head; ls src/mcp_server_motherduck; grep -n \"def execute_query\\<email>\\|async def \\|def execute\" -r src/mcp_server_motherduck/*.py | head -30",
    "cd <guest-path> && mkdir -p .coldpass && cat > .coldpass/probe.json <<'EOF'\n{\"kind\":\"mcp\",\"argv\":[\"<guest-path>\",\"--directory\",\"<guest-path>\",\"run\",\"mcp-server-motherduck\",\"--db-path\",\":memory:\",\"--read-write\"],\"cwd\":\"<guest-path>\",\"tool\":\"execute_query\",\"arguments\":{\"sql\":\"SELECT 'duck-probe-7319' AS marker\"},\"expected_text\":\"duck-probe-7319\"}\nEOF\ncat > .coldpass/claims.json <<'EOF'\n[{\"kind\":\"claim\",\"claim\":\"execute_query runs a DuckDB SQL query and returns the result\",\"source\":\"Execute SQL query (DuckDB dialect)\",\"input\":\"SELECT 'duck-probe-7319' AS marker\",\"expected\":\"the query result containing duck-probe-7319\",\"probe_kind\":\"mcp\",\"argv\":[\"<guest-path>\",\"--directory\",\"<guest-path>\",\"run\",\"mcp-server-motherduck\",\"--db-path\",\":memory:\",\"--read-write\"],\"tool\":\"execute_query\",\"arguments\":{\"sql\":\"SELECT 'duck-probe-7319' AS marker\"},\"expected_text\":\"duck-probe-7319\",\"cwd\":\"<guest-path>\"}]\nEOF\ncat > .coldpass/examples.json <<'EOF'\n[{\"kind\":\"example\",\"claim\":\"Local in-memory DuckDB tests pass (documented e2e suite, memory DB file)\",\"source\":\"makefile test-e2e target / tests/e2e/test_memory_duckdb.py\",\"input\":\"tests/e2e/test_memory_duckdb.py\",\"expected\":\"pytest exits 0\",\"argv\":[\"<guest-path>\",\"run\",\"--directory\",\"<guest-path>\",\"pytest\",\"tests/e2e/test_memory_duckdb.py\",\"-q\"],\"cwd\":\"<guest-path>\",\"env\":{},\"expected_text\":\"passed\"},\n{\"kind\":\"example\",\"claim\":\"make test-unit target\",\"source\":\"makefile test-unit target\",\"reason\":\"makefile runs tests/unit/ but that directory does not exist in this snapshot (only tests/e2e/); not runnable. Ran make test-e2e instead: 91 passed, 56 skipped, 2 failed (S3 tests need s3://md-test-bucket-user-1 credentials not available in this guest).\"}]\nEOF\ncat > .coldpass/cycles.json <<'EOF'\n{\"detected\":false,\"reason\":\"Entry points inspected (src/mcp_server_motherduck/server.py, __init__.py, database.py) and grep for cron/schedule/loop/webhook/--once/--now found nothing. The product is a request-driven stdio/streamable-HTTP MCP server with no product scheduler or loop; no cycle was triggered.\",\"checks\":[]}\nEOF\nexport PATH=<guest-path>; timeout 600 uv run pytest tests/e2e/test_memory_duckdb.py -q 2>&1 | tail -2; <env-var>=<guest-path> timeout 900 python3 -I <guest-path> --validate --replay 2>&1 | tail -40",
    "cd <guest-path> && cat > .coldpass/report.json <<'EOF'\n{\"outcome\":\"working\",\"fault_owner\":null,\"operation\":\"Run the MCP server (stdio) from source and call execute_query to run a DuckDB SQL query in an in-memory database\",\"operation_scope\":\"Local stdio MCP server, in-memory DuckDB (:memory:), read-write. Requires uv (installed via pip into a venv) and python3.12 (venv module installed via apt). S3 e2e tests need S3 credentials/bucket and were not run successfully.\",\"steps\":[\"git init; git remote add origin https://github.com/motherduckdb/mcp-server-motherduck; git fetch --depth 1 origin 41acb581d9bc04e427655ba5178b2c5c01f68cd2; git reset --mixed FETCH_HEAD\",\"pip install uv (README Quick Start prerequisite), installed in <guest-path>\",\"make install (uv sync --all-extras)\",\"make test-e2e (documented test target)\",\"uv --directory <guest-path> run mcp-server-motherduck --db-path :memory: --read-write (README Development section, stdio MCP)\",\"MCP tools/call execute_query with sql SELECT 'duck-probe-7319' AS marker\"],\"deviations\":[\"python3-venv was missing; installed with sudo apt-get install python3.12-venv, then created venv for uv.\",\"make was missing; installed with sudo apt-get install make.\",\"make test-unit fails: makefile target points at tests/unit/, which does not exist in this snapshot (only tests/e2e/). Recorded as an example with reason; ran make test-e2e instead.\",\"make test-e2e: 91 passed, 56 skipped, 2 failed. Both failures are tests/e2e/test_s3_duckdb.py (test_s3_simple_select, test_s3_show_tables), which need the s3://md-test-bucket-user-1 bucket and credentials not present in this guest. Prerequisite gap, not run successfully.\",\"Used absolute uv path <guest-path> instead of uvx because the README's uvx entry was not in PATH and the source-run form was used.\",\"Cycle: no product scheduler, loop, webhook or --once/--now found; detected=false.\"],\"stuck_step\":null,\"main_blocker\":null,\"plain_failure\":null,\"suggested_fix\":\"Fix makefile test-unit target (tests/unit/ does not exist). For full e2e, provide S3 test bucket credentials to run the two S3 tests.\"}\nEOF\npython3 -c \"import json;json.load(open('.coldpass/report.json'));print('ok')\"; <env-var>=<guest-path> python3 -I <guest-path> --validate --replay 2>&1 | python3 -c \"import sys,json; t=sys.stdin.read(); d=json.loads(t[:t.index('\\n')] if t.startswith('{') and '\\n' in t else t); print(d.get('valid'), d.get('problems'), d.get('replay',{}).get('status'))\" 2>&1 | tail -3; ps aux | grep -c \"[m]cp-server-motherduck\"",
    "ps -eo pid,ppid,etime,cmd | grep \"[m]cp-server-motherduck\" | cut -c1-200",
    "cd <guest-path> && export PATH=<guest-path> && timeout 600 uv run pytest tests/e2e/test_memory_duckdb.py -q 2>&1 | tail -4",
    "cd <guest-path> && <env-var>=<guest-path> timeout 900 python3 -I <guest-path> --validate --replay > <guest-path> 2>&1; echo rc=$?; python3 -c \"\nimport json,sys\nt=open('<guest-path>').read()\ni=t.find('{'); d=json.loads(t[i:])\nprint('valid=',d.get('valid'),'problems=',d.get('problems'),'replay=',d.get('replay',{}).get('status'))\n\"; ps -eo cmd | grep -c \"[m]cp-server-motherduck\"",
    "cd <guest-path> && grep -n \"uv\\|command\\|StdioTransport\\|env\\|HOME\" tests/e2e/conftest.py | head -30; export PATH=<guest-path>; timeout 300 env -i HOME=/tmp PATH=/usr/bin:/bin <guest-path> run --directory <guest-path> pytest tests/e2e/test_memory_duckdb.py -q -x 2>&1 | grep -E \"RuntimeError|Error|passed|failed\" | head -8",
    "sudo -n ln -sf <guest-path> /usr/local/bin/uv && cd <guest-path> && env -i HOME=<host-path> PATH=/usr/local/bin:/usr/bin:/bin <env-var>=<guest-path> timeout 900 python3 -I <guest-path> --validate --replay > <guest-path> 2>&1; echo rc=$?; python3 -c \"\nimport json\nt=open('<guest-path>').read()\ni=t.find('{'); d=json.loads(t[i:])\nprint('valid=',d.get('valid'),'problems=',d.get('problems'),'replay=',d.get('replay',{}).get('status'))\n\"; ps -eo cmd | grep -c \"[m]cp-server-motherduck\"",
    "cd <guest-path> && python3 - <<'EOF'\nimport json\np='.coldpass/report.json'\nr=json.load(open(p))\nr['deviations'].append(\"The e2e fixtures launch a bare 'uv' command (tests/e2e/conftest.py), so uv had to be on PATH for the checker's replay; created symlink sudo ln -sf <guest-path> /usr/local/bin/uv. Before this the replayed memory-DB example failed with FileNotFoundError: 'uv'.\")\njson.dump(r,open(p,'w'),indent=1)\nEOF\n<env-var>=<guest-path> timeout 900 python3 -I <guest-path> --validate --replay > <guest-path> 2>&1; echo rc=$?; python3 -c \"\nimport json\nt=open('<guest-path>').read(); d=json.loads(t[t.find('{'):])\nprint('valid=',d.get('valid'),'problems=',d.get('problems'),'replay=',d.get('replay',{}).get('status'))\"; ls -la .coldpass"
  ],
  "stuck_step": null,
  "error_excerpt": null,
  "what_it_did": "Run the MCP server (stdio) from source and call execute_query to run a DuckDB SQL query in an in-memory database",
  "suggested_fix": null,
  "tokens_in": 446574,
  "tokens_out": 10990,
  "cost_usd": 0.01729057,
  "usage_complete": true,
  "checks": [
    {
      "check": "operation",
      "status": "PASS",
      "details": {
        "working": true,
        "argv": [
          "<guest-path>",
          "--directory",
          "<guest-path>",
          "run",
          "mcp-server-motherduck",
          "--db-path",
          ":memory:",
          "--read-write"
        ],
        "kind": "mcp",
        "serverInfo": {
          "name": "mcp-server-motherduck",
          "version": "1.1.0",
          "icons": [
            {
              "src": "data:image/png;base64,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",
              "mimeType": "image/png"
            }
          ]
        },
        "tools": [
          "execute_query",
          "list_databases",
          "list_tables",
          "list_columns"
        ],
        "tool_schema_bytes": 2914,
        "tool_result": {
          "_meta": {
            "fastmcp": {
              "wrap_result": true
            }
          },
          "content": [
            {
              "text": "{\n  \"success\": true,\n  \"columns\": [\n    \"marker\"\n  ],\n  \"columnTypes\": [\n    \"VARCHAR\"\n  ],\n  \"rows\": [\n    [\n      \"duck-probe-7319\"\n    ]\n  ],\n  \"rowCount\": 1\n}",
              "type": "text"
            }
          ],
          "isError": false,
          "structuredContent": {
            "result": "{\n  \"success\": true,\n  \"columns\": [\n    \"marker\"\n  ],\n  \"columnTypes\": [\n    \"VARCHAR\"\n  ],\n  \"rows\": [\n    [\n      \"duck-probe-7319\"\n    ]\n  ],\n  \"rowCount\": 1\n}"
          }
        },
        "tool_result_checked": true,
        "scope": "product operation"
      }
    }
  ],
  "safety": {
    "version": "z2x-1",
    "rules_version": "z2x-1",
    "summary": "Review signals: 1 connection review, 21 known vulnerability, 1 outside write.",
    "findings": [
      {
        "kind": "connection-review",
        "count": 1,
        "note": "Repository processes attempted these non-loopback connections; proxies can hide the final hostname.",
        "location_count": 46,
        "process_count": 18
      },
      {
        "kind": "known-vulnerability",
        "count": 21,
        "note": "OSV reports a known vulnerability in this dependency version.",
        "location_count": 5
      },
      {
        "kind": "outside-write",
        "count": 1,
        "note": "Repository processes attempted these writes outside documented output/cache paths.",
        "location_count": 4,
        "process_count": 1,
        "processes": [
          {
            "executable": "<guest-path>",
            "owner": "repo",
            "pid": "4965",
            "source": "mcp-server-motherduck"
          }
        ]
      }
    ],
    "context": [],
    "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=motherduckdb--mcp-server-motherduck-claude-haiku-5-5-1792802350219012146",
    "evidence_file": "/data/safety/motherduckdb--mcp-server-motherduck-claude-haiku-5-5-1792802350219012146.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": 17,
  "native_bundle": null,
  "architecture": null,
  "backend": "hyperv",
  "platform_details": {
    "backend": "hyperv",
    "os": "linux"
  },
  "platform_conflicts": null,
  "sandbox_source": null,
  "source_pin": {
    "commit": "41acb581d9bc04e427655ba5178b2c5c01f68cd2",
    "url": "https://github.com/motherduckdb/mcp-server-motherduck"
  },
  "purpose": "initial",
  "profile": {
    "model": "claude-haiku-5-5",
    "reasoning": "low"
  },
  "fault": {
    "owner": null,
    "status": "resolved",
    "reason": null
  },
  "fix_id": null,
  "verifies_run_id": null,
  "hosting": null,
  "operation_scope": "product operation",
  "tool_calls": 17,
  "guest_setup": null,
  "runtime": null,
  "runtime_version": null,
  "runtime_revision": null,
  "source_revision": null,
  "evidence_version": null,
  "failure_origin": null,
  "evidence_strength": "readme_checked",
  "works": "yes",
  "install_s": null,
  "first_use_s": null,
  "mcp": "local",
  "needs": [],
  "needs_which": null,
  "agent_interface": [
    "mcp"
  ],
  "license": "MIT",
  "repo_url": "https://github.com/motherduckdb/mcp-server-motherduck",
  "cost_to_try": "free",
  "hardware": null,
  "what_failed": null,
  "local_or_hosted": "both",
  "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 (src/mcp_server_motherduck/server.py, __init__.py, database.py) and grep for cron/schedule/loop/webhook/--once/--now found nothing. The product is a request-driven stdio/streamable-HTTP MCP server with no product scheduler or loop; no cycle was triggered.",
      "evidence": "Entry points inspected (src/mcp_server_motherduck/server.py, __init__.py, database.py) and grep for cron/schedule/loop/webhook/--once/--now found nothing. The product is a request-driven stdio/streamable-HTTP MCP server with no product scheduler or loop; no cycle was triggered.",
      "command": ""
    }
  ],
  "claims": [
    {
      "kind": "claim",
      "claim": "execute_query runs a DuckDB SQL query and returns the result",
      "source": "Execute SQL query (DuckDB dialect)",
      "input": "{\"tool\": \"execute_query\", \"arguments\": {\"sql\": \"SELECT 'duck-probe-7319' AS marker\"}}",
      "expected": "the query result containing duck-probe-7319",
      "command": "<guest-path> --directory <guest-path> run mcp-server-motherduck --db-path :memory: --read-write tools/call {\"tool\": \"execute_query\", \"arguments\": {\"sql\": \"SELECT 'duck-probe-7319' AS marker\"}}",
      "verdict": "yes",
      "outcome": "Real input produced the expected result: duck-probe-7319",
      "evidence": "duck-probe-7319\\\"\\n    ]\\n  ],\\n  \\\"rowCount\\\": 1\\n}\", \"type\": \"text\"}], \"isError\": false, \"structuredContent\": {\"result\": \"{\\n  \\\"success\\\": true,\\n  \\\"columns\\\": [\\n    \\\"marker\\\"\\n  ],\\n  \\\"columnTypes\\\": [\\n    \\\"VARCHAR\\\"\\n  ],\\n  \\\"rows\\\": [\\n    [\\n      \\\"duck-probe-7319\\\"\\n    ]\\n  ],\\n  \\\"rowCount\\\": 1\\n}\"}}",
      "source_checked": true,
      "source_file": "README.md"
    }
  ],
  "claims_note": null,
  "example_checks": [
    {
      "kind": "example",
      "claim": "Local in-memory DuckDB tests pass (documented e2e suite, memory DB file)",
      "source": "makefile test-e2e target / tests/e2e/test_memory_duckdb.py",
      "input": "tests/e2e/test_memory_duckdb.py",
      "command": "<guest-path> run --directory <guest-path> pytest tests/e2e/test_memory_duckdb.py -q",
      "evidence": "........                                                                 [100%]\n=============================== warnings summary ===============================\ntests/e2e/test_memory_duckdb.py::test_simple_select\n  <guest-path> FastMCPDeprecationWarning: Accessing `CallToolResult.isError` is deprecated; MCP SDK v2 renamed this field to `is_error`. Update your code to read `.is_error` instead.\n    assert result.isError is False\n\n-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html\n8 passed, 1 warning in 30.11s",
      "deferred": false,
      "expected": "pytest exits 0",
      "returncode": 0,
      "verdict": "yes",
      "outcome": "command completed successfully"
    },
    {
      "kind": "example",
      "claim": "make test-unit target",
      "source": "makefile test-unit target",
      "input": "",
      "command": "",
      "evidence": "makefile runs tests/unit/ but that directory does not exist in this snapshot (only tests/e2e/); not runnable. Ran make test-e2e instead: 91 passed, 56 skipped, 2 failed (S3 tests need s3://md-test-bucket-user-1 credentials not available in this guest).",
      "deferred": false,
      "expected": "documented command completes successfully",
      "verdict": "blocked",
      "outcome": "makefile runs tests/unit/ but that directory does not exist in this snapshot (only tests/e2e/); not runnable. Ran make test-e2e instead: 91 passed, 56 skipped, 2 failed (S3 tests need s3://md-test-bucket-user-1 credentials not available in this guest)."
    }
  ],
  "does_what_it_says": "yes",
  "maintenance": {
    "archived": false,
    "commits_90d": 11,
    "last_commit_at": "2026-10-07T14:42:49Z",
    "last_release_at": "2026-10-07T14:44:12Z",
    "median_reply_hours": 107.2,
    "merged_prs_90d": 4,
    "note": "actively maintained: last commit 16 days ago; 11 commits and 4 merged PRs in 90 days; 0 open issues, 3 open PRs; 24 of 27 recent threads got a maintainer reply, median first reply 107.2h; latest release 2026-10-07",
    "open_issues": 0,
    "open_prs": 3,
    "reply_share": 0.89,
    "reply_threads": 27,
    "verdict": "maintained"
  },
  "maintenance_verdict": "maintained",
  "maintenance_note": "actively maintained: last commit 16 days ago; 11 commits and 4 merged PRs in 90 days; 0 open issues, 3 open PRs; 24 of 27 recent threads got a maintainer reply, median first reply 107.2h; latest release 2026-10-07",
  "maintained": "active",
  "maintained_note": "last commit 16 days ago; 0 open issues, 8 answered or closed",
  "last_commit_at": "2026-10-07T14:42:51Z",
  "last_release_at": "2026-10-07T14:44:12Z",
  "open_issues": 0,
  "answered_issues": 8,
  "platforms_claimed": [
    "linux"
  ],
  "topic": "mcp-server",
  "agent_interfaces": [
    {
      "interface": "mcp",
      "evidence": "independent checker",
      "observed": true,
      "operation_checked": true
    }
  ],
  "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": 4,
    "schema_bytes": 2914,
    "tokens_approx": 729,
    "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-24T00:53:12.091872+00:00",
  "tested_commit": "41acb581d9bc04e427655ba5178b2c5c01f68cd2",
  "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": "motherduckdb/mcp-server-motherduck",
    "source": "https://github.com/motherduckdb/mcp-server-motherduck",
    "commit": "41acb581d9bc04e427655ba5178b2c5c01f68cd2",
    "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": "41acb581d9bc04e427655ba5178b2c5c01f68cd2",
      "url": "https://github.com/motherduckdb/mcp-server-motherduck"
    },
    "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 MCP server (stdio) from source and call execute_query to run a DuckDB SQL query in an in-memory database",
    "operation_scope": "product operation",
    "hosting": null,
    "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/motherduckdb--mcp-server-motherduck-claude-haiku-5-5-1792802350219012146.json"
}
