addrbookFor publishers
← The evidence ledger

Evidence row 296801

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 51f8265d-c798-400d-9016-1abaccd9eb86
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
33c9184129ea59857336c6e18ddd7c4c92b8fc4440aa0947dd190b7c93729f2f
Leaf
0x60d4d513f06cacf9f9bedc1fe2f64209e579c33b676c7a24e7d00fe8f52219ab

What was observed

{
  "count": 6,
  "tools": [
    {
      "description": "Can this GPU run this open-weight LLM? Returns fits, tight or no, the memory split (weights, KV cache, overhead), a decode-speed ceiling, the longest context that fits and, on a no, every change that would make it fit: quantisation, KV cache, context, another card or a smaller model. Model: a name or id from list_models, any Hugging Face repo id, or its architecture. GPU: a name or id from list_gpus, or vram_gb for any other card.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "active_params_b": {
            "description": "Parameters read per token, billions, for a mixture-of-experts model read from Hugging Face (from its model card). Sets the speed ceiling.",
            "exclusiveMinimum": 0,
            "maximum": 10000,
            "type": "number"
          },
          "apple_silicon": {
            "description": "vram_gb is Apple unified memory; the GPU can use about 75% of it by default.",
            "type": "boolean"
          },
          "architecture": {
            "description": "A model described by its config.json values instead of a name.",
            "properties": {
              "active_params_b": {
                "description": "Parameters read per token, billions (mixture-of-experts only).",
                "exclusiveMinimum": 0,
                "maximum": 10000,
                "type": "number"
              },
              "fixed_state_gb": {
                "description": "Fixed recurrent state of linear-attention or Mamba layers, GB.",
                "maximum": 100,
                "minimum": 0,
                "type": "number"
              },
              "head_dim": {
                "description": "head_dim, or hidden_size ÷ num_attention_heads",
                "exclusiveMinimum": 0,
                "maximum": 4096,
                "type": "integer"
              },
              "kv_groups": {
                "description": "Only for non-standard attention: one entry per group of layers that cache the same way. Replaces layers × kv_heads × head_dim.",
                "items": {
                  "properties": {
                    "layers": {
                      "exclusiveMinimum": 0,
                      "maximum": 9007199254740991,
                      "type": "integer"
                    },
                    "values_per_token": {
                      "description": "Values each layer caches per token: 2 × KV heads × head dim, or the latent width for MLA.",
                      "exclusiveMinimum": 0,
                      "type": "number"
                    },
                    "window_tokens": {
                      "description": "Sliding window: these layers keep only this many tokens.",
                      "exclusiveMinimum": 0,
                      "maximum": 9007199254740991,
                      "type": "integer"
                    }
                  },
                  "required": [
                    "layers",
                    "values_per_token"
                  ],
                  "type": "object"
                },
                "maxItems": 8,
                "type": "array"
              },
              "kv_heads": {
                "description": "num_key_value_heads",
                "exclusiveMinimum": 0,
                "maximum": 1024,
                "type": "integer"
              },
              "layers": {
                "description": "num_hidden_layers",
                "exclusiveMinimum": 0,
                "maximum": 1000,
                "type": "integer"
              },
              "native_context": {
                "description": "The context window the model supports, tokens.",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991,
                "type": "integer"
              },
              "params_b": {
                "description": "Total parameters, billions; all experts for a mixture-of-experts model.",
                "exclusiveMinimum": 0,
                "maximum": 10000,
                "type": "number"
              }
            },
            "required": [
              "params_b",
              "layers",
              "kv_heads",
              "head_dim"
            ],
            "type": "object"
          },
          "bandwidth_gb_s": {
            "description": "Memory bandwidth from the maker's spec, GB/s, for a speed ceiling.",
            "exclusiveMinimum": 0,
            "maximum": 100000,
            "type": "number"
          },
          "context": {
            "default": 8192,
            "description": "Tokens held in context: prompt plus conversation.",
            "maximum": 10000000,
            "minimum": 1,
            "type": "integer"
          },
          "gpu": {
            "description": "A GPU from list_gpus (id or name, e.g. \"rtx-4090\", \"4090\" or \"M4 Max\").",
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "kv_cache": {
            "default": "fp16",
            "description": "KV cache precision. fp16 is what most runtimes use; q8 halves the cache.",
            "enum": [
              "fp16",
              "q8"
            ],
            "type": "string"
          },
          "model": {
            "description": "A model from list_models (id or name, e.g. \"llama-3.3-70b\" or \"Llama 3.3 70B\"), or any Hugging Face repo id (e.g. \"Qwen/Qwen3-8B\"), read live from its config.json.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "quant": {
            "default": "q4",
            "description": "Weight quantisation: fp16 (FP16 / BF16), q8 (Q8_0), q6 (Q6_K), q5 (Q5_K_M), q4 (Q4_K_M), q3 (Q3_K_M). q4 is the common default.",
            "enum": [
              "fp16",
              "q8",
              "q6",
              "q5",
              "q4",
              "q3"
            ],
            "type": "string"
          },
          "vram_gb": {
            "description": "Memory of a card not in list_gpus, GB. For a Mac, its unified memory with apple_silicon: true.",
            "exclusiveMinimum": 0,
            "maximum": 4096,
            "type": "number"
          }
        },
        "type": "object"
      },
      "name": "can_i_run"
    },
    {
      "description": "Reads any Hugging Face model repo's config.json and parameter count and estimates its memory: the attention layout found (standard, sliding-window, hybrid or latent), how much each 1,000 tokens of context costs, and weights + KV cache + overhead at every quantisation. For models nodegrove.io has not reviewed; anything the reader cannot model is listed in warnings.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "active_params_b": {
            "description": "Parameters read per token, billions, for a mixture-of-experts model read from Hugging Face (from its model card). Sets the speed ceiling.",
            "exclusiveMinimum": 0,
            "maximum": 10000,
            "type": "number"
          },
          "context": {
            "default": 8192,
            "description": "Tokens held in context: prompt plus conversation.",
            "maximum": 10000000,
            "minimum": 1,
            "type": "integer"
          },
          "kv_cache": {
            "default": "fp16",
            "description": "KV cache precision. fp16 is what most runtimes use; q8 halves the cache.",
            "enum": [
              "fp16",
              "q8"
            ],
            "type": "string"
          },
          "repo": {
            "description": "Hugging Face repo id, e.g. \"Qwen/Qwen3-8B\", or its huggingface.co URL.",
            "maxLength": 200,
            "minLength": 3,
            "type": "string"
          }
        },
        "required": [
          "repo"
        ],
        "type": "object"
      },
      "name": "estimate_from_hf_repo"
    },
    {
      "description": "How much memory an LLM needs: weights + KV cache + overhead at each quantisation (or one), at a given context, and the smallest common card class that holds each. Model: a name or id from list_models, any Hugging Face repo id, or its architecture (params_b, layers, kv_heads, head_dim).",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "active_params_b": {
            "description": "Parameters read per token, billions, for a mixture-of-experts model read from Hugging Face (from its model card). Sets the speed ceiling.",
            "exclusiveMinimum": 0,
            "maximum": 10000,
            "type": "number"
          },
          "architecture": {
            "description": "A model described by its config.json values instead of a name.",
            "properties": {
              "active_params_b": {
                "description": "Parameters read per token, billions (mixture-of-experts only).",
                "exclusiveMinimum": 0,
                "maximum": 10000,
                "type": "number"
              },
              "fixed_state_gb": {
                "description": "Fixed recurrent state of linear-attention or Mamba layers, GB.",
                "maximum": 100,
                "minimum": 0,
                "type": "number"
              },
              "head_dim": {
                "description": "head_dim, or hidden_size ÷ num_attention_heads",
                "exclusiveMinimum": 0,
                "maximum": 4096,
                "type": "integer"
              },
              "kv_groups": {
                "description": "Only for non-standard attention: one entry per group of layers that cache the same way. Replaces layers × kv_heads × head_dim.",
                "items": {
                  "properties": {
                    "layers": {
                      "exclusiveMinimum": 0,
                      "maximum": 9007199254740991,
                      "type": "integer"
                    },
                    "values_per_token": {
                      "description": "Values each layer caches per token: 2 × KV heads × head dim, or the latent width for MLA.",
                      "exclusiveMinimum": 0,
                      "type": "number"
                    },
                    "window_tokens": {
                      "description": "Sliding window: these layers keep only this many tokens.",
                      "exclusiveMinimum": 0,
                      "maximum": 9007199254740991,
                      "type": "integer"
                    }
                  },
                  "required": [
                    "layers",
                    "values_per_token"
                  ],
                  "type": "object"
                },
                "maxItems": 8,
                "type": "array"
              },
              "kv_heads": {
                "description": "num_key_value_heads",
                "exclusiveMinimum": 0,
                "maximum": 1024,
                "type": "integer"
              },
              "layers": {
                "description": "num_hidden_layers",
                "exclusiveMinimum": 0,
                "maximum": 1000,
                "type": "integer"
              },
              "native_context": {
                "description": "The context window the model supports, tokens.",
                "exclusiveMinimum": 0,
                "maximum": 9007199254740991,
                "type": "integer"
              },
              "params_b": {
                "description": "Total parameters, billions; all experts for a mixture-of-experts model.",
                "exclusiveMinimum": 0,
                "maximum": 10000,
                "type": "number"
              }
            },
            "required": [
              "params_b",
              "layers",
              "kv_heads",
              "head_dim"
            ],
            "type": "object"
          },
          "context": {
            "default": 8192,
            "description": "Tokens held in context: prompt plus conversation.",
            "maximum": 10000000,
            "minimum": 1,
            "type": "integer"
          },
          "kv_cache": {
            "default": "fp16",
            "description": "KV cache precision. fp16 is what most runtimes use; q8 halves the cache.",
            "enum": [
              "fp16",
              "q8"
            ],
            "type": "string"
          },
          "model": {
            "description": "A model from list_models (id or name, e.g. \"llama-3.3-70b\" or \"Llama 3.3 70B\"), or any Hugging Face repo id (e.g. \"Qwen/Qwen3-8B\"), read live from its config.json.",
            "maxLength": 200,
            "minLength": 1,
            "type": "string"
          },
          "quant": {
            "description": "Weight quantisation: fp16 (FP16 / BF16), q8 (Q8_0), q6 (Q6_K), q5 (Q5_K_M), q4 (Q4_K_M), q3 (Q3_K_M). Omit it for all 6.",
            "enum": [
              "fp16",
              "q8",
              "q6",
              "q5",
              "q4",
              "q3"
            ],
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "estimate_vram"
    },
    {
      "description": "The GPUs and machines nodegrove.io covers: memory, the memory a runtime can use and bandwidth, from the makers' specs, with each one's page.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "search": {
            "description": "Words to filter by, e.g. \"qwen\" or \"24 GB\".",
            "maxLength": 100,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "list_gpus"
    },
    {
      "description": "The open-weight LLMs nodegrove.io has verified against their config.json (data version 2026-10-16): id, size, attention design, native context, licence, memory at Q4 with 8k context and each model's page.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "search": {
            "description": "Words to filter by, e.g. \"qwen\" or \"24 GB\".",
            "maxLength": 100,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "list_models"
    },
    {
      "description": "Which open-weight LLMs fit this GPU: every model in list_models checked at one quantisation and context, with a recommended everyday model (the biggest class that fits with room for context at conversational speed), the largest that fits, the best at Q8 and the first out of reach. GPU: a name or id from list_gpus, or vram_gb for any other card.",
      "inputSchema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "apple_silicon": {
            "description": "vram_gb is Apple unified memory; the GPU can use about 75% of it by default.",
            "type": "boolean"
          },
          "bandwidth_gb_s": {
            "description": "Memory bandwidth from the maker's spec, GB/s, for a speed ceiling.",
            "exclusiveMinimum": 0,
            "maximum": 100000,
            "type": "number"
          },
          "context": {
            "default": 8192,
            "description": "Tokens held in context: prompt plus conversation.",
            "maximum": 10000000,
            "minimum": 1,
            "type": "integer"
          },
          "gpu": {
            "description": "A GPU from list_gpus (id or name, e.g. \"rtx-4090\", \"4090\" or \"M4 Max\").",
            "maxLength": 100,
            "minLength": 1,
            "type": "string"
          },
          "quant": {
            "default": "q4",
            "description": "Weight quantisation: fp16 (FP16 / BF16), q8 (Q8_0), q6 (Q6_K), q5 (Q5_K_M), q4 (Q4_K_M), q3 (Q3_K_M). q4 is the common default.",
            "enum": [
              "fp16",
              "q8",
              "q6",
              "q5",
              "q4",
              "q3"
            ],
            "type": "string"
          },
          "vram_gb": {
            "description": "Memory of a card not in list_gpus, GB. For a Mac, its unified memory with apple_silicon: true.",
            "exclusiveMinimum": 0,
            "maximum": 4096,
            "type": "number"
          }
        },
        "type": "object"
      },
      "name": "what_fits"
    }
  ]
}

What the leaf hashes

{"body":"33c9184129ea59857336c6e18ddd7c4c92b8fc4440aa0947dd190b7c93729f2f","id":296801,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793051998806923,"prev":null,"subject":"51f8265d-c798-400d-9016-1abaccd9eb86","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. 0x60d4b7a2a5f7b0458567c3e0f6c973181fb22f2b13d69d0b62d4ee442064812c
  2. 0xe118f931164f09dfcdd09ce18fba04151b15c7772c4c14e24d5c85bce42b4934
  3. 0x495f428ce4519bd5d06151298cc2faef9ffa0864e1767f5151d6b81bd86ee269
  4. 0x2bc605c6bbb40804a31eb027203bdc75b808b91c88810a79a048b8d52daac64e
  5. 0x5e018a4d6c960807a62209c9c9baa3adfe5d4a18a190f9546f078b63ebd06b0e
  6. 0x491ccd4b3e03a2ac8da2a20fffa689e9c6166b6c482cb398886c4e64c40c7f1b
  7. 0x7d3c9237eb8bf4e4b82d1392688dda8c8ae4dc70d79b2c45ec39d44546409d25
  8. 0x850bf292a1aa658b60949676a4a33cd2059a07cb0c90b415c8839258d415bdfb
  9. 0x8c6903777b1654f5fb12e259fed8098cda16e3130625244795d81936ec868a9c
  10. 0x490868b60140fda9b3c25d79c99d6f0d78d632ecde384aa788c6d47760ca6caa
  11. 0x52877ea072e10a1d3a921f7b54362005ad7a9baf5c99f31ec73a534bfea8930d
  12. 0xf4e3bedc99674db9d8ab4bc7655992ec76f822b327e6c89599b0baa3756fbd19
  13. 0x89fcaf55e37dd777228f271b79ea895534a66ec0d184363c2a6eb1b4d23c9ef1
  14. 0x216cebb9ae5414599109a02297c4817d7d1c6b1394afeb97efe38e32f0053974
  15. 0x7726154b91b2ad65b13849ef6cb6443b1f0ff113a3089c9bd5f2bcfc16be099d
  16. 0x47b89901b0f07938a6b9a66ddf35683903f79d756a7c7763665fd632758b08d0
  17. 0x9a83be955a206deb65b995adfd92c58fa31c95fbbf926bd199d300e70b08b26d
  18. 0x20704208aa6923d6b2450ef74ede87a6e0265d46447926038fe9506e9e154b2d
  19. 0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a
Day root
0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8
Chained
0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a
Published
On Arc Testnet, block 69251483: 0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae

How to check it · This row as JSON