addrbookFor publishers
← The evidence ledger

Evidence row 3459422

Observed , by sync.mcp_registry/1.

Kind
listing
About
source_record mcp_registry:io.github.thyn-ai/codna
Recorded
Previous row
#3437933
Body SHA-256
eb04a17a39af6838244e83e2a2719e84c14bfe613b7b1e9b149aa8fc31ae695b
Leaf
0xd457959b990b38ef0da375dd3552cd353b7c62467e6a86146046568c52586911

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-05T21:17:58.243704Z",
        "status": "active",
        "statusChangedAt": "2026-11-05T21:17:58.243704Z",
        "updatedAt": "2026-11-05T21:17:58.243704Z"
      }
    },
    "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.106"
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/thyn-ai/codna-cli"
      },
      "title": "Codna — repository intelligence",
      "version": "0.2.106",
      "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":"eb04a17a39af6838244e83e2a2719e84c14bfe613b7b1e9b149aa8fc31ae695b","id":3459422,"kind":"listing","method":"sync.mcp_registry/1","observed_us":1793913712794864,"prev":3437933,"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. 0xd45784915fea95a50344a6aac3b9e84d6c77f22a68de97ab081096cf4221d1af
  2. 0xa51f206a2be1939f25bb6eec629c6de39ac23e2c784c559b0e838d062cd34357
  3. 0xf80d470563b405f181541099b836fb50c7403315f440ddfd5cc6d809a47505a3
  4. 0x75e1bfdf81f4c49ab53b00d40f1e7d6cfecb1a4891d736256fb7621b351bb818
  5. 0xf2d0c855c97128667fb8055628a779681549b159c1c558cd3e280532bec5539c
  6. 0x6986e16e3aa80a19e6fa1b7cf25c3b43d7794e9e95a968bd3397445052a308a6
  7. 0x22456a6d6ceb9bb05cc1cb67212c534061cd5a1a05b0a43c6cba66a52018df9b
  8. 0x16960ad7c16df60151f03ff8c1dba75b43c9a676e07a2538e58bb0a450f0c97a
  9. 0x46283cae83f5d7e8ee4a025d18c8655423b54c2da77c118f92b5fc0c724e1d50
  10. 0xd84ac8d614390fa4111762a1e88923ad182ea077781829ab387ec111f054c0c7
  11. 0x5daf623f932bb3d5ae3e082471b84ac8401257b3a5194ac3d7dd15a75f1d0836
  12. 0xf0b38d47f92fac87855ba2693c97beea5ac1d6bdf929af5e15a306c6892a3685
  13. 0xc98ea9e7a31315529c80bf8f8a649e06ea1b1b599b9fcf599a46b2653a85c322
  14. 0x4c7b7f3f42e860af0292451afd96bceb26eb41ca5c810766a3ab2c07c3919b93
  15. 0x84cc0709bdcf43a76bb38852cd824bccc42d1167214eaa0cc6f5136bc9060566
  16. 0x706c875c10714e921f12357b889e8f8c61b62dcf68745f3b7e23aa127226e76c
  17. 0x595efddb5b196a921c775c54d0aa541065f1802bfefb8bd003a60b16925c4b58
Day root
0x9f0215efb0252701dc86d5600ce95f276cccc716759bf112525ae863f698d128
Chained
0xc54ddff800630c6cd9656f99e7d6a61adce99bf1cea37121600598b0a9a720d2
Published
On Arc Testnet, block 70942081: 0x88f612ad94ca63af4e4e9faab9f34b665b41f03828afac1571ad013cc62bba94

How to check it · This row as JSON