addrbookFor publishers
← The evidence ledger

Evidence row 3953795

Observed , by sync.mcp_registry/1.

Kind
listing
About
source_record mcp_registry:io.github.thyn-ai/codna
Recorded
Previous row
#3774907
Body SHA-256
09d7bfc73f8d7840d9ce42f666965507fd2a76310ca56f151a8d6971e37f43c4
Leaf
0x46410254fa670f41ce2c2e32146c342bbc0592f08e48ebb8c6223572904cc659

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-07T14:41:31.612634Z",
        "status": "active",
        "statusChangedAt": "2026-11-07T14:41:31.612634Z",
        "updatedAt": "2026-11-07T14:41:31.612634Z"
      }
    },
    "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.111"
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/thyn-ai/codna-cli"
      },
      "title": "Codna — repository intelligence",
      "version": "0.2.111",
      "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":"09d7bfc73f8d7840d9ce42f666965507fd2a76310ca56f151a8d6971e37f43c4","id":3953795,"kind":"listing","method":"sync.mcp_registry/1","observed_us":1794065067217547,"prev":3774907,"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 (195826 rows).

  1. 0x46410a23c45ea4b57f1e166338554201dfe68e251d630793f111e589121555f8
  2. 0x21146fc537294bc44a68566be6f12132160298366c46f9ee12703bb5e19f2804
  3. 0x92742329bea83e38f8c02b042e8b2b170d0f82fce312e759efe251cd15a75ba7
  4. 0x7f9a3a1f1d7e1199934ca23854e1fb8fcbf0b30cc4a97802c7e63c9a2f7ca0cf
  5. 0x5e78db4f993c7534452ca505a33e4eac0066000b8fcc724a5cede5ba956ccaf6
  6. 0x7dc211629b4a03707523a5ba405de1e30d4cba2ca09a64b5aec003e5f3e1cb22
  7. 0x9366fc56bd32d2cfbd396ba7336793b00c8864acacecf7ec6309e28614497f7d
  8. 0x7e801d3e092233b96ab5afec52c71d148eb2177d1c90e9a8eeb586fb138c3bc5
  9. 0xf81b7a88558df375728f8dc78e7309dd665df6919fb04ad2f15471621da9bc72
  10. 0x47ee80ac836833b687a7ec627f2df0df26e35e44523d26b98358d3dda6a7c288
  11. 0x471971882459a8f7bc97dd3ecd4326b5910da98c86235d76ffd6b6c009379b5a
  12. 0x7fa0c6c6e1a9c83e2499d02f17ed9f86e34e12e026ca9d7690e468391f79b500
  13. 0x2581262e285739180c2a2399a20b661474ed5d555cb7236b3270458825248da2
  14. 0x62f69e19a85a01019b04cf82cf89e7ecaed4f1828e18c1a83c33f808b13e077f
  15. 0x1440bd4864ece4f3cb1a2fc48e88ddbd78cefd359ae16ceeb69a13e36b55021a
  16. 0xf0a56561418cd0342a328707933cc222d8fa725efff7ffd081e0226ee8c46c0b
  17. 0x54292a94f447f1fd33c01b5c99da465043f11022958626a2ea562c457fef697a
  18. 0xff23fa8a9de3f957315ef0dfe7e8d8f6b1a51dae05fef7615c59794e019ff05c
Day root
0x17da9e85e1b138541355d33543ff34e3503cd3a49d37728fb53643e2a0416a2d
Chained
0xed34bd4af17282643de8cb9591c84d0aa1b39e1e9ae9864941e543f5a15718cb
Published
On Arc Testnet, block 71280839: 0xc3f6784179e0ca32236ba89472473e882a81d03fcc5ce27ca58ded2e01e112aa

How to check it · This row as JSON