addrbookFor publishers
← The evidence ledger

Evidence row 3437933

Observed , by sync.mcp_registry/1.

Kind
listing
About
source_record mcp_registry:io.github.thyn-ai/codna
Recorded
Previous row
#3431745
Body SHA-256
716fbc8fcf97755f8d68d0c0113db22292e7929540e46c70dd0ad67143d225b8
Leaf
0xc255cb9ec1833151a8571e3bc10b75f2bf7b5d73b3fa303c9d8d93d01311ef64

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-05T18:16:57.825746Z",
        "status": "active",
        "statusChangedAt": "2026-11-05T18:16:57.825746Z",
        "updatedAt": "2026-11-05T18:16:57.825746Z"
      }
    },
    "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.104"
        }
      ],
      "repository": {
        "source": "github",
        "url": "https://github.com/thyn-ai/codna-cli"
      },
      "title": "Codna — repository intelligence",
      "version": "0.2.104",
      "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":"716fbc8fcf97755f8d68d0c0113db22292e7929540e46c70dd0ad67143d225b8","id":3437933,"kind":"listing","method":"sync.mcp_registry/1","observed_us":1793902907942607,"prev":3431745,"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. 0xc25616847823b3a9f5df8dc0eb260a49d6b5ee90238db7bbfe2217d6bb4a6cee
  2. 0xc09d7ac4f190d155cafef9da2bee022ce863538fe00a3e6747504255335d76e5
  3. 0x56967221d3c0d67bbb59513f8aa71d628b22f92f106a71bef15043cd5835627d
  4. 0x79624aacc5c505c99a0090b44d2174f301d31059f67d34d795e81043a1bbff90
  5. 0xfe41d5ef3fbb9e6d9950022092ff45a5df0f9670c4edc578f06c671bb434d04f
  6. 0x8ca769d9d68f60e9b9283adff4504110bc3e3656ee707bde2c551486a558f9b8
  7. 0x2016358b87692a527ce3a295581884be9a071dc25ad140189a1095f5e0b3f398
  8. 0xabecffc4fa98e633a09d2ee0350bbbb7bc64ee7e82dbbb9b2d21b674492b27d0
  9. 0xbf31ae9b4539f30cf00e05f773aad73f07a92553b0e1c42aa76debd7004c051b
  10. 0x92182c3c326ec43311c0000cfb96e937e51746b603c819fe3ad2f80459fcf972
  11. 0xd08b6492e52c4e02981dd4efa03fb63f01f9e5cda3954cb99ab8d5b1e956e52e
  12. 0x830a6cdf61fc95c6216fdd7d5651c77a5073a29d94e8b148d2d77585f839aa59
  13. 0x55867a06fdd11e86c7d431d312f147a1f70e6e8ac2c492ac84f0e660d4b68e1e
  14. 0x876741791494e92b6f75db13043598085795215fa5ba6b39a6d004eb9c7632fa
  15. 0xbce07c8bedec3bbed9a22d7f4e8aca180f479ed562779a14791c5e82f052e9c8
  16. 0x308711d37f87ac2fb79802c45aba249411861d2d093068d1718f039b506d2a02
  17. 0x25f3843b1f8d3ded906cf440101c0137d8f897b0b72f946f0d5bc12c3da6b136
  18. 0xfb4e1f4d701ae273fb0cd57757f659e327608e5561a752b2099b436618493c84
  19. 0xf72fe7c4860b9addb17aac4a00b8afc2f8085836173f10f31697c3d192df119b
Day root
0x9f0215efb0252701dc86d5600ce95f276cccc716759bf112525ae863f698d128
Chained
0xc54ddff800630c6cd9656f99e7d6a61adce99bf1cea37121600598b0a9a720d2
Published
On Arc Testnet, block 70942081: 0x88f612ad94ca63af4e4e9faab9f34b665b41f03828afac1571ad013cc62bba94

How to check it · This row as JSON