addrbookFor publishers
← The evidence ledger

Evidence row 264725

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 1e8a73ee-fc0b-4372-8d42-577d1c28e572
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
e0e3c5884b030a1718f6572eb27efa268e334269cd562c76a2023b1458a16bb7
Leaf
0x945b4a91e532dfc0f71e400a00a1983a4dc288ad2aea0a9cf7cba718db130ffd

What was observed

{
  "count": 6,
  "tools": [
    {
      "description": "Search nifra's framework documentation and get back ONLY the matching sections - auth, uploads, ISR, WebSockets, loaders, deployment, anything. Call with no query for the cheap section index; pass query (e.g. \"isr revalidate\") for the top matching sections. Use this instead of reading llms-full.txt (~150 KB) whole. For the EXACT TypeScript of a type/interface/function, call nifra_types instead (don't read .d.ts files).",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "limit": {
            "description": "Max sections to return (default 3, max 5).",
            "type": "number"
          },
          "query": {
            "description": "Keywords to match against doc sections (omit for the index).",
            "maxLength": 256,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "nifra_docs"
    },
    {
      "description": "Get a verified, copy-pasteable Nifra code example for a task - auth route, file upload, ISR page, loader/action, typed client, SSE, deployment, and more. Every snippet is typechecked against the installed Nifra version, so it compiles as-is. Returns code as text for direct use. Call with no query for the grouped index; pass query (e.g. \"protected route\", \"upload\", \"isr revalidate\") for matching snippets.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "limit": {
            "description": "Max examples to return (default 3, max 5).",
            "type": "number"
          },
          "query": {
            "description": "What you want an example of (omit for the index).",
            "maxLength": 256,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "nifra_example"
    },
    {
      "description": "Diagnose a client-side Nifra problem by symptom across every adapter (React, Preact, Solid, Vue, Svelte, and vanilla). Returns the likely cause, a concrete fix, and how to verify it. Covers the Nifra server/client seam, hydration mismatches, duplicated framework runtimes, loader-data typing, and adapter-specific reactivity guidance. Call with no args for the index; pass `symptom` (e.g. \"hydration mismatch\", \"value stopped updating\") and/or `adapter` to filter.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "adapter": {
            "description": "Filter to one adapter's entries (plus the adapter-independent seam entries).",
            "enum": [
              "react",
              "preact",
              "solid",
              "vue",
              "svelte",
              "vanilla"
            ],
            "type": "string"
          },
          "limit": {
            "description": "Max entries to return (default 3, max 5).",
            "type": "number"
          },
          "symptom": {
            "description": "What you observe (omit for the index).",
            "maxLength": 256,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "nifra_frontend"
    },
    {
      "description": "Open an interactive, filterable gallery of ALL of nifra's verified code examples (MCP Apps widget) - for browsing and discovering what exists. NOT for fetching one snippet as text: use nifra_example for that. Pass query to pre-filter; the widget also filters client-side.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "query": {
            "description": "Pre-filter examples by keyword.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "nifra_gallery"
    },
    {
      "description": "Walk the guided path to build a nifra app end to end - an ORDERED sequence (create → page route → loader → typed API → typed client → auth → background jobs → deploy), not the random-access search of nifra_docs/nifra_example. Call with no args for the step index; pass `step: N` for that step's goal, how to do it (which tool emits the correct artifact), and how to verify it. Use it when scaffolding a new app or learning nifra's flow - each step composes the other nifra_* tools.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "step": {
            "description": "1-based step number to expand (omit for the index).",
            "type": "number"
          }
        },
        "type": "object"
      },
      "name": "nifra_learn"
    },
    {
      "description": "Get the exact TypeScript declaration of any exported @nifrajs/* symbol - interface, type, class, function, or const. Each signature is generated from the package's built .d.ts and returns the complete declaration rather than prose. Pass `name` for an exact symbol (e.g. \"RateLimitStore\", \"RouteSchema\", \"Context\", \"rateLimit\"); pass `query` to search by keyword; omit both for the per-package index of names. A `name` lookup is always the complete declaration; a `query` returns a one-line summary plus the signature, collapsing an oversized body - pass `full: true` to override.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "full": {
            "description": "Query mode only: return whole declarations instead of collapsed ones. Off by default - a search is for picking a symbol, and one match can be tens of thousands of characters.",
            "type": "boolean"
          },
          "limit": {
            "description": "Max results for a query/search (default 5, max 8).",
            "type": "number"
          },
          "name": {
            "description": "Exact symbol name - returns its literal declaration (e.g. RateLimitStore).",
            "type": "string"
          },
          "query": {
            "description": "Keyword search over names + signatures (when you don't know the exact name).",
            "maxLength": 256,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "nifra_types"
    }
  ]
}

What the leaf hashes

{"body":"e0e3c5884b030a1718f6572eb27efa268e334269cd562c76a2023b1458a16bb7","id":264725,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793034385805835,"prev":null,"subject":"1e8a73ee-fc0b-4372-8d42-577d1c28e572","subject_kind":"endpoint"}

Proof

Fold these into the leaf in order, hashing each sorted pair with keccak256, to reach the root of (296695 rows).

  1. 0x945ba53661e9457ce78cbe73acbb971036a8f4d1aa41316f4e61823b4c78f90c
  2. 0x293a1882b691adc5665d0240d53dcb24015433cf810269dfca762390852ca505
  3. 0xfc5176652e6725375291bb9f3dd648b44e5827299597e1be7568112e96192e77
  4. 0x4a10a7bed0dc0d83a22d1edc21db3aa211f0dce4cdd81124da49d61326289ed0
  5. 0x775da73dcffb6f6c90fee6f0e9e5986be911b03269e7cb8689e3261781665e69
  6. 0x424a9599077fdd1b8c3ec9944e8cca99ec7ccdca2ae7e803e031b4ad45726bc3
  7. 0x6d8ce5644cdd764b0e3daf68edaa475af7c70ef271ef4256bde26c8fc453bd94
  8. 0x770f57292960ccbe313a2949fdbd9ebd407be5c6c561346c6ee670c254e6d59a
  9. 0x7c75f9d4cbfc1b93420f41134fe41fa02476e8f7f3a85712cb20fa231a7d4e51
  10. 0x07fa9991702d9e756ee102ffd8326f6ed64c777e9ef41d71d141c1c37856f00e
  11. 0x4c1c9421c6648584bc5a6ac33a99ef69338fb841b9063ca93df8c027794ce0e5
  12. 0x12169ac86722058ecf46a1b83c56e8b21899ab108a12c5a4429da74c5d191294
  13. 0xb314422bc93e7f1c0b706c67f5fff96c5ddf74934bb2fe8ab6291ae016907e37
  14. 0x49062da782c4f73855ddd5fdd51840749f928b5f17d1ce75ac50f2d829104e72
  15. 0xf0bd63870f0bb378fa300bd33563050dcb7b3e02b44eb3ee550c1c534ec4b246
  16. 0x1ac20d30773e1f4f2f811540e9a99b5cca9177c9e2e029acc0d80cf3f1d11f0f
  17. 0xd21942ae3214eff88e08ab04884fd4b11958b51af9a0741b7668e2d07a2c56c9
  18. 0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON