addrbookFor publishers
← The evidence ledger

Evidence row 3957748

Observed , by sync.mcp_registry/1.

Kind
listing
About
source_record mcp_registry:io.github.thyn-ai/codna
Recorded
Previous row
#3953795
Body SHA-256
7efec676908e20ca907c42807e5f531463303406dc88eec2154422a10a25f841
Leaf
0x94fdd56eff7ddfd53a9265b32e418dc6fceed141c12929d5e163eced74559947

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-07T17:28:06.873069Z",
        "status": "active",
        "statusChangedAt": "2026-11-07T17:28:06.873069Z",
        "updatedAt": "2026-11-07T17:28:06.873069Z"
      }
    },
    "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.112"
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/thyn-ai/codna-cli"
      },
      "title": "Codna — repository intelligence",
      "version": "0.2.112",
      "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":"7efec676908e20ca907c42807e5f531463303406dc88eec2154422a10a25f841","id":3957748,"kind":"listing","method":"sync.mcp_registry/1","observed_us":1794075883923637,"prev":3953795,"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. 0x94fc7e697ac6a929fe65a987f450ccc7d6110458511b740c02aa2a96971c32c1
  2. 0x66e5cd9ecd9c808b94fb99537bc2501918722de6e4c7f8b85c577e0e154b8579
  3. 0x444808fa23cb16b1362e3f327dc7bf48b8d3dc8ed3267dabfb6101978edebf94
  4. 0x7b87e031f49e59f67db2a037e8b8eabe2b74042744ab3dd64c1785f162f1aed9
  5. 0x41d0aa6671c65ead4400ddb07a365d565538f72774e88ee7e56fa42e1acbaff5
  6. 0x1a53e02b4e892ac626241031b1340a9777c15f4088eee691820e6112671b8df0
  7. 0xd90d8602038dfbfe6b92f32a1e65b7806c62820f22c2038e72b13a85c59986bd
  8. 0x8614b3796b7e2c6022954cf4edcc7e053200fe67ae589f80381370f49c0260d1
  9. 0x5f582adfb94a147ad8892975d9a96507a8ec60ae2b95e5d675fd872ec7b0a834
  10. 0x25e432fe3784881d990a61d18882e11602138237da27bb47b8cf4e45c4019f2a
  11. 0x6b8fa54afbda7afc2d592dae4921318e740cb76ee034373577329fe9e3531fa1
  12. 0xc87607ebe8ea6e0aaba5b5bcdc80638af1d3f1d7e6161eb0d0bb34ae0e66f5e5
  13. 0x9d998981d9f849ea8e81ea4bb2031c78cf35b24b765b86374501ded7431af2d4
  14. 0x7fdbd47e4134db735f3e6c3439146d858995f8da72a5028572de4b4477efdbf1
  15. 0xd41994358bb34b15f062df47abfbb736ac4887eb6ef21ce32a5d581e6ae47e6e
  16. 0x39ddab61a3a1eeffcb2f54acf6ff87eaec375674f3e77f00c342826d4e1bf071
  17. 0x3b69f6d98c91b21287021db092e52491474f0d08438393ac130d6a3c273bcd4a
  18. 0xff23fa8a9de3f957315ef0dfe7e8d8f6b1a51dae05fef7615c59794e019ff05c
Day root
0x17da9e85e1b138541355d33543ff34e3503cd3a49d37728fb53643e2a0416a2d
Chained
0xed34bd4af17282643de8cb9591c84d0aa1b39e1e9ae9864941e543f5a15718cb
Published
On Arc Testnet, block 71280839: 0xc3f6784179e0ca32236ba89472473e882a81d03fcc5ce27ca58ded2e01e112aa

How to check it · This row as JSON