addrbookFor publishers
← The evidence ledger

Evidence row 3426368

Observed , by sync.mcp_registry/1.

Kind
listing
About
source_record mcp_registry:io.github.thyn-ai/codna
Recorded
Previous row
#3363890
Body SHA-256
04cea0e6cf8a65fc6b1e92c4965f62556563e3c6b70920b9bfd2ee0b121142ab
Leaf
0xee5fa775c095502e4f0b51709255590e14b8ea9744ea2159fa008f2d30864173

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-05T15:49:40.422869Z",
        "status": "active",
        "statusChangedAt": "2026-11-05T15:49:40.422869Z",
        "updatedAt": "2026-11-05T15:49:40.422869Z"
      }
    },
    "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.100"
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/thyn-ai/codna-cli"
      },
      "title": "Codna — repository intelligence",
      "version": "0.2.100",
      "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":"04cea0e6cf8a65fc6b1e92c4965f62556563e3c6b70920b9bfd2ee0b121142ab","id":3426368,"kind":"listing","method":"sync.mcp_registry/1","observed_us":1793895703679510,"prev":3363890,"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. 0xee5fd2cd97716821e46b1f26d49bb1b0668e656bfddea3f229306f87e234c989
  2. 0x5a15083d1a7fe7f481cbf4c786ef4c150334b00b6511e127f42286448cbd4b17
  3. 0x9f822008e8e56b2425b78969f7a390bb2d23cb1775de9d215088e28b94b6baec
  4. 0x94a7b503d2b17c365774c790e576f49613d6d46407c0d273efc871883fb6ccd6
  5. 0x959ce0d9060d830653b474d38108deea8b2db6a43b7ada499051f34ab1be7864
  6. 0x5acec59849d6871fd2f852b8a6cc05ca59ac90ecde68ff20f83f354e6e54684e
  7. 0x8c4459eb0bc1fdb7ecf7947db2152201f4c5f00ff48e50a4a09816c68d8e92ab
  8. 0xfd08bccbfc7a80d55edc3331294b6eec0dc7cc679e3fb21b7efce023b1722d99
  9. 0xc192587de6ba21eefe49c95c8a34028042312c2ea13496ed03c075c627606c1f
  10. 0xf742736bd31f55855e265e4f1a9fc4baf5fddf673595c3d650a0bcef3547973c
  11. 0x4f9af9dce9ab6d2b83b3f3ddc0d97899d3a4bbf08596d7863bdbe4a0cedca6cb
  12. 0x284f8b62b472894329ccdd379ce3cc4d046f82559cd68861fb7b4eff319c4d03
  13. 0xfaa856fa45d324dbec90751edcb37879c5cd0b9a9a07ec9cc6362fa88d28f200
  14. 0xed84001e6f67c5df966efea1d4c436e935aff300dda7a7c21bfabca6d7f867fe
  15. 0x0f89b13f204fe566641bee24955c02233efcbd2fce2017340ed06cf3c4c4503b
  16. 0x46e57eb471bdfedc5371f9f8dd93e03a0ef82a84f79b917a40533d34f61e890c
  17. 0x595efddb5b196a921c775c54d0aa541065f1802bfefb8bd003a60b16925c4b58
Day root
0x9f0215efb0252701dc86d5600ce95f276cccc716759bf112525ae863f698d128
Chained
0xc54ddff800630c6cd9656f99e7d6a61adce99bf1cea37121600598b0a9a720d2
Published
On Arc Testnet, block 70942081: 0x88f612ad94ca63af4e4e9faab9f34b665b41f03828afac1571ad013cc62bba94

How to check it · This row as JSON