addrbookFor publishers
← The evidence ledger

Evidence row 3431745

Observed , by sync.mcp_registry/1.

Kind
listing
About
source_record mcp_registry:io.github.thyn-ai/codna
Recorded
Previous row
#3426368
Body SHA-256
afe7183cae6f976811ccf43330fe912e3291b4fb44e4f12f879086452f4dd3a8
Leaf
0x5e338d5284b1988aee43298869e28dd58dde79ba6d3f7181ebf343bcdddf80a0

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-05T16:56:43.501903Z",
        "status": "active",
        "statusChangedAt": "2026-11-05T16:56:43.501903Z",
        "updatedAt": "2026-11-05T16:56:43.501903Z"
      }
    },
    "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.102"
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/thyn-ai/codna-cli"
      },
      "title": "Codna — repository intelligence",
      "version": "0.2.102",
      "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":"afe7183cae6f976811ccf43330fe912e3291b4fb44e4f12f879086452f4dd3a8","id":3431745,"kind":"listing","method":"sync.mcp_registry/1","observed_us":1793899306755676,"prev":3426368,"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 (322504 rows).

  1. 0x5e338ebd64df86f0494ede3226162f6afbc9472b5fe59f85bdf822f45d7783d0
  2. 0x112de2295d1c66cf2c11eb379ad10c4c6a17e36ab542a2023622fba1459d45ef
  3. 0xff3be3661e3d587bd0b77992f077133cd2d6cf59fc18bc58370ba06676deb531
  4. 0x4d423566cc030e268c89136ac7d5a10986b632ff8273f030d049402e1109acb0
  5. 0xcdc1fd5b2c4df4abfb645932278570539c4a53f805136ccada2e8cbacd3d4ab3
  6. 0x44cc1e314068ef65c3027d4ae08eec2aed8f6e66829ca8c9d0d33fa49d2a28ca
  7. 0x02e35497d8beb5fb4906bb4fbc130e7318aadb176b3845de88adf746d945d041
  8. 0x2c3bdb13b77a8e179f0260658780bb3ecbc1d3bbc43080b690785111e3679013
  9. 0x8e7ef2657f935451c8be9456f9e18ad2c73f8612beca9db8fcb354e9f3521f72
  10. 0x1684f842be0cb3c845642b8b6a34f4628661b41ffaf13404b2a4fd2e689baa83
  11. 0x82d96c124be58a79ee2311ef118bf55f259d0417c46e1aebffa3773bf1048bc6
  12. 0x40d7850bc154ac27455e1b3c9b8f2c9814d1cb44b420b89a844a68a84cb09953
  13. 0xe87a0ce6101e0e2ffe4c6ae4b4ce479481e520c0524e7d43696e9521834ab9e1
  14. 0xa2dc8f96b204e9ca3e547eaad92221ac78dc5f058c6959b821d49395bfe96c5a
  15. 0xd1b826c1036e86032791eb321451282a424bfed64c08ff605cb756a1f89d4ee1
  16. 0x01716548fb56e8e74ac29a1a638626afc662ed7e187bafcf089344de82365b83
  17. 0xddde0b0de5219c91c717b03cab5216193dc0f26fb006aa8ba17020a71dbd997a
  18. 0xa9caf228b42660818160afb416ff04cb014f57c4d8ee75ea3452fb76c3d8c645
  19. 0xf72fe7c4860b9addb17aac4a00b8afc2f8085836173f10f31697c3d192df119b
Day root
0x9f0215efb0252701dc86d5600ce95f276cccc716759bf112525ae863f698d128
Chained
0xc54ddff800630c6cd9656f99e7d6a61adce99bf1cea37121600598b0a9a720d2
Published
On Arc Testnet, block 70942081: 0x88f612ad94ca63af4e4e9faab9f34b665b41f03828afac1571ad013cc62bba94

How to check it · This row as JSON