addrbookFor publishers
← The evidence ledger

Evidence row 3149898

Observed , by sync.mcp_registry/1.

Kind
listing
About
source_record mcp_registry:io.github.thyn-ai/codna
Recorded
Previous row
#1541056
Body SHA-256
d6615f356e008bac802c5be40d8b25ea0d4fb44fc28717f423def3202c71d673
Leaf
0x96b12e3f1b07d7bb6f377f20161f43322270da5fbd9551eb1e066e981ee1e9ac

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-04T23:00:23.09368Z",
        "status": "active",
        "statusChangedAt": "2026-11-04T23:00:23.09368Z",
        "updatedAt": "2026-11-04T23:00:23.09368Z"
      }
    },
    "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.97"
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/thyn-ai/codna-cli"
      },
      "title": "Codna — repository intelligence",
      "version": "0.2.97",
      "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":"d6615f356e008bac802c5be40d8b25ea0d4fb44fc28717f423def3202c71d673","id":3149898,"kind":"listing","method":"sync.mcp_registry/1","observed_us":1793834468771632,"prev":1541056,"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 (424109 rows).

  1. 0x96b128d943ddc76dcb39f7ee0ba59331beabdf2f6d9526979359b5a99e798306
  2. 0x98890c8e9e5d823f6538da558a51c6baa7a9e72e4c3aff969642bb0e79387c82
  3. 0x97d6a848ee061e14956d5196950aab543aa985b92d55e879b3db606e333f16fd
  4. 0x938a83a1a130ff9861869847edde408d503a91b2e747409acae75822e375da68
  5. 0x6129a2d3c3162b593965399cddd64772afb8f16fdf70bbecc975a8ab15c30a2c
  6. 0x465b9abf98adf12a8e1608038913a6e254fd83782382dc571a5e80f0759ab8d9
  7. 0x4d0476bb752c4a12cd95302e0f82aa4d2fb185f1b47134b6bf0a35f2daf7d165
  8. 0xadbf5dfa91a744d224f1d24cd503aba66aa5b5ff0496c41b4c6a0edd7596949a
  9. 0x14df11fa5f7cb80a89b896bd7e8f76cc5580a4ebe5da2488fd97118d21b68b19
  10. 0x8c35ad7b1c8f554847fc38822a245ebe564bf55279a0a7b1b5787c3fca6b0553
  11. 0xd8de578ff4de8327a2169adf960b7852e604e284e6380753a099309bb892b037
  12. 0x528f4696251a6dc27e968e7ad28c05b52b4a47804c2e479a78418da0dd97ad53
  13. 0xddd9fefbcb8feccc6b8816c027215504869d88525cba5ddd54428b6a30b8a9b9
  14. 0xfe32433fc05c44d98e3005b6e487e2a2ec83c2cb3d472d4110f101e7fbe88f06
  15. 0xcce6f2f7e4f40c7f768552ae3da9c9aed1be84ca300fbff8a25083a9399680f9
  16. 0xcbeab7cdfbe295c259acb96245f397030a1d41f25243d4de19e7709db50be49e
  17. 0x7f4f557ace8b62cd85774371e24477cdc34df4d2aa68c04511d8678e3978a343
  18. 0xc3c363818e1d5142c4629be55f1c9e168a7466e628cfd2a858fe171aff1e91ca
  19. 0x10067354f57fa0cd86b7423e67cc1c7d107d7c9c6823df5246c4fb63b60575e5
Day root
0xd4eed8c0ea3c90ec6f262b19fcc3b849f30cb82a0f84b8b89569e48af7d0c1ee
Chained
0x59305749c32724a02a23c368834d8a36ae9908da93a915e2962fffe01b4e591b
Published
On Arc Testnet, block 70772483: 0x813d56041c1efd407e56047129b597b154a1cb26458bb2768fd0a4630ac97345

How to check it · This row as JSON