addrbookFor publishers
← The evidence ledger

Evidence row 3774907

Observed , by sync.mcp_registry/1.

Kind
listing
About
source_record mcp_registry:io.github.thyn-ai/codna
Recorded
Previous row
#3764386
Body SHA-256
a3d3f7f32dd86466ce4142db20ee219d0838925cb26d9a74090ae3bddf26a7c5
Leaf
0x639696017e2663c18229c98c9e4b990a6a5b405b564a9ebf411be94db1ede0a4

What was observed

{
  "endpoints": [
    [
      "web",
      "https://codna.ai/"
    ]
  ],
  "name": "Codna — repository intelligence",
  "owner_address": null,
  "raw": {
    "_meta": {
      "io.modelcontextprotocol.registry/official": {
        "isLatest": true,
        "publishedAt": "2026-11-06T21:03:47.869058Z",
        "status": "active",
        "statusChangedAt": "2026-11-06T21:03:47.869058Z",
        "updatedAt": "2026-11-06T21:03:47.869058Z"
      }
    },
    "server": {
      "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
      "description": "Repo intelligence: triage, fix PRs, SARIF reachability, recall. Free codna login to execute.",
      "name": "io.github.thyn-ai/codna",
      "packages": [
        {
          "environmentVariables": [
            {
              "description": "Provider key for codna_fix's planner — any one of ANTHROPIC_API_KEY (Anthropic), OPENAI_API_KEY (OpenAI/ChatGPT), or GEMINI_API_KEY (Gemini) works (or store one with `codna key set <provider>`). Every tool also requires the one-time free `codna login` device authorization before executing; introspection (initialize/tools/list) needs no credentials.",
              "isSecret": true,
              "name": "ANTHROPIC_API_KEY"
            },
            {
              "description": "Alternative provider key (OpenAI/ChatGPT) for codna_fix's planner — see ANTHROPIC_API_KEY.",
              "isSecret": true,
              "name": "OPENAI_API_KEY"
            },
            {
              "description": "Alternative provider key (Gemini) for codna_fix's planner — see ANTHROPIC_API_KEY.",
              "isSecret": true,
              "name": "GEMINI_API_KEY"
            },
            {
              "description": "Write token, only for codna_fix with open_pr=true (opens a pull request) and codna_report_bug (files an issue).",
              "isSecret": true,
              "name": "GITHUB_TOKEN"
            },
            {
              "description": "Codna key from the one-time free `codna login` (device authorization, free community license). Required to execute any of the five tools; introspection (initialize/tools/list) needs none.",
              "isSecret": true,
              "name": "CODNA_API_KEY"
            }
          ],
          "identifier": "codna",
          "packageArguments": [
            {
              "description": "Run the Codna MCP stdio server (`codna mcp`).",
              "type": "positional",
              "value": "mcp"
            }
          ],
          "registryType": "pypi",
          "transport": {
            "type": "stdio"
          },
          "version": "0.2.108"
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/thyn-ai/codna-cli"
      },
      "title": "Codna — repository intelligence",
      "version": "0.2.108",
      "websiteUrl": "https://codna.ai"
    }
  },
  "source": "mcp_registry",
  "summary": "Repo intelligence: triage, fix PRs, SARIF reachability, recall. Free codna login to execute."
}

What the leaf hashes

{"body":"a3d3f7f32dd86466ce4142db20ee219d0838925cb26d9a74090ae3bddf26a7c5","id":3774907,"kind":"listing","method":"sync.mcp_registry/1","observed_us":1794000213028539,"prev":3764386,"subject":"mcp_registry:io.github.thyn-ai/codna","subject_kind":"source_record"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (303443 rows).

  1. 0x6396aee4316a67c4e850ddd625df0b9714e7122a89c3a05c21129323955f6cba
  2. 0xd440e3ce2fdf4351db1406c6faa49e9430639ae191a7e88bac2499991979e649
  3. 0xe39cad6d6e758dd43add79ee9df77c8807ae2d653839ceb4dde745633993d124
  4. 0x3b66ee12214b0adf6b876ea5dfffac4192887801adbec08231a0be77d6b5814d
  5. 0x692ad73599c08afdb80d1f1b9c1936bb66c3266c540edbe7905d2434e2b4767a
  6. 0x734a17dec071e1fe22df08ab8d0803b67d726b7409bb09dc8e4b6d0ca0b3e55c
  7. 0xe9dfa531b28397754a9c56e1285fbc263934247b271cdfaa4bcd6d8031e8481a
  8. 0x816e1dae6638ee7aa692ac4e275c678f8a01c14d6dfd775b441c3989f7cd9a7f
  9. 0xe2e9777f8be933efd7c3a4cba528f7ecb45587a0f0dfc75947ce91a8bed37e92
  10. 0x5995c46c12174251adf19f33c62639eb45c72bf42f86cd1d71e72d5090743a43
  11. 0x7449a1c31f793d3708bed5da063c7597554e5e1f21c5202201d184de9c3b1d35
  12. 0x07e761859155192fcc7c94cbabb59e2e107a66e128a5c8102d548eb0d095a0bb
  13. 0xa05429b0e4df48c30f49ace963446c878eac43d6b983b915a31be4c33ab3dcf8
  14. 0xb127712f60d35ebf9394e769405258ca2f7a8338151d93fb5ef9288554fbff59
  15. 0xf2bc30db87e2aa2afe08f16c1943f967ac74b2e32364ad0b7cb45d2ffee7e447
  16. 0x7a2e5c8104eb5015bfa08d52a9278aa0b4da48bd2fb98690cc2d1c225b5dc691
  17. 0x4a618d78b1cebba8beec4ef22aaac9187dcdfb39064e0be537ca2600abb90740
  18. 0x119743aadcddb571b28b442b62196d4a0afc4e1c9979c2d477d34fcc9413deaf
  19. 0xc0d08d48601d1be90bcfc025e66bcaa0030120d688dd9c919b36c2c4446f4948
Day root
0xb30ccefe7182c6f767e1fcbfb5f64ffd649da831f665f65c5ff39cd40512284f
Chained
0xc383f7ef68d2914082484765aa09e42c12c59a74a096ae64127c562618c506d3
Published
On Arc Testnet, block 71111178: 0xfba13cb7ee4ada7f2fee3702a786a2201596be2ffea37dfc281ab4c8e9942fe1

How to check it · This row as JSON