addrbookFor publishers
← The evidence ledger

Evidence row 586726

Observed , by probe.mcp/1.

Kind
mcp.tools
About
endpoint 9c010668-884c-4e3d-ae22-64b8faa1c5ca
Recorded
Previous row
None: the first of its kind about this subject
Body SHA-256
4c3836091e9c1cb4a3219bb42e706f83bd47071b56277bdfac051ba0ff248d39
Leaf
0x219fdb0df3b995260dd7dae1fab3dbef45def7cca6496010ac5a49bbf66daa9a

What was observed

{
  "count": 12,
  "tools": [
    {
      "description": "The published HTTP contract shared by Claspine Atlas and the self-hosted engine (paths under /api/v1). Without path: every operation. With path (and method): parameters, request body and responses with schemas resolved.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "method": {
            "description": "HTTP method (default: the path's first).",
            "enum": [
              "GET",
              "POST",
              "PUT",
              "PATCH",
              "DELETE"
            ],
            "type": "string"
          },
          "path": {
            "description": "For example /payments/orders/{orderId}/refund.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "api_reference"
    },
    {
      "description": "Runs Claspine's Agent Shield rules on files or a unified diff: hardcoded or client-exposed secrets, SQL built from strings, unscoped tenant queries, secrets in logs, buffered uploads, imports of platform internals. Returns file, line, rule and the fix. Code is analysed in memory and not stored. A clean result is not proof of safety; Spring Boot builds also run ProductBoundaryTest.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "diff": {
            "description": "A unified diff (only added lines are checked).",
            "type": "string"
          },
          "files": {
            "description": "Files to check (path decides browser vs server code).",
            "items": {
              "properties": {
                "content": {
                  "type": "string"
                },
                "path": {
                  "type": "string"
                }
              },
              "required": [
                "path",
                "content"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "name": "check_code"
    },
    {
      "description": "Checks application.yml / application.properties or the engine's environment variables: empty values that switch providers on, sandbox sign-in in STAGING/PRODUCTION, IP addresses as hosts, secrets written into settings, and misspelled setting names. Content is not stored.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "content": {
            "description": "The settings file's content.",
            "type": "string"
          },
          "format": {
            "description": "yaml, properties or env (default: guessed).",
            "enum": [
              "yaml",
              "properties",
              "env"
            ],
            "type": "string"
          }
        },
        "required": [
          "content"
        ],
        "type": "object"
      },
      "name": "check_config"
    },
    {
      "description": "Finds the Claspine version in project files (pom.xml, build.gradle, package.json, docker-compose.yml) or takes it as given, and lists the checklist items of every upgrade note up to the target.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "current": {
            "description": "Current version, if known.",
            "type": "string"
          },
          "files": {
            "description": "Project files to read the current version from (path and content).",
            "items": {
              "properties": {
                "content": {
                  "type": "string"
                },
                "path": {
                  "type": "string"
                }
              },
              "required": [
                "path",
                "content"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "target": {
            "description": "Target version (default: the latest release).",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "check_upgrade"
    },
    {
      "description": "What a Claspine error code means and how to fix it: HTTP status, the messages it is raised with, where, and the fix for common ones. Every Claspine error response carries its code.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "code": {
            "description": "The error's code, for example HOST_NOT_AVAILABLE.",
            "type": "string"
          }
        },
        "required": [
          "code"
        ],
        "type": "object"
      },
      "name": "explain_error"
    },
    {
      "description": "The full text of one Claspine guide: steps, code, settings, safety notes and troubleshooting.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "slug": {
            "description": "The guide's slug, for example \"sign-in-engine\" (see search_docs).",
            "type": "string"
          }
        },
        "required": [
          "slug"
        ],
        "type": "object"
      },
      "name": "get_guide"
    },
    {
      "description": "Copy-ready HTTP calls for a common task on Claspine Atlas or the self-hosted engine, in curl, Node.js, Python, Go or Java, checked against Claspine's API on every build. Without task: the list.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "form": {
            "description": "Where Claspine runs (default: the first the recipe supports).",
            "enum": [
              "cloud",
              "engine"
            ],
            "type": "string"
          },
          "language": {
            "description": "Code language (default curl; \"all\" for every language).",
            "enum": [
              "curl",
              "node",
              "python",
              "go",
              "java",
              "all"
            ],
            "type": "string"
          },
          "task": {
            "description": "Recipe slug or words, for example \"file-upload\" or \"refund\".",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "get_recipe"
    },
    {
      "description": "The public Java types of a Claspine capability (its api package) and of the foundation, with methods and record fields, from the current platform build. Without arguments: the capabilities.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "capability": {
            "description": "For example payments, files, llm, notifications, authorization, foundation.",
            "type": "string"
          },
          "type": {
            "description": "A type name, for example Payments or RefundPaymentCommand.",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "java_api"
    },
    {
      "description": "An exact, ordered plan for adding Claspine to this project: what the person must do first, then each step with the files and settings to change (current release pinned) and how to prove it worked. Call it after you know the stack, new or existing, and the person's decisions (Atlas or self-hosted, whose login, which features), and follow it step by step.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "current_version": {
            "description": "Only if the project already uses Claspine: its version now (grahmur.platform.version or the BOM version), for example 0.12.0. The plan then upgrades first.",
            "type": "string"
          },
          "database": {
            "description": "Self-hosted: where Claspine keeps its own tables (default postgres).",
            "enum": [
              "postgres",
              "mongo",
              "firestore"
            ],
            "type": "string"
          },
          "features": {
            "description": "What to add first.",
            "items": {
              "enum": [
                "sign-in",
                "email",
                "sms",
                "whatsapp",
                "push",
                "files",
                "ai",
                "payments"
              ],
              "type": "string"
            },
            "type": "array"
          },
          "form": {
            "description": "Where Claspine runs: the person's choice.",
            "enum": [
              "atlas",
              "self-hosted"
            ],
            "type": "string"
          },
          "login": {
            "description": "Self-hosted: keep the app's own login, or move sign-in to Claspine (default: claspine when sign-in is a feature).",
            "enum": [
              "keep",
              "claspine"
            ],
            "type": "string"
          },
          "project": {
            "description": "new: little or no code yet; existing: an app that already runs.",
            "enum": [
              "new",
              "existing"
            ],
            "type": "string"
          },
          "stack": {
            "description": "The backend.",
            "enum": [
              "spring-boot",
              "node",
              "python",
              "go",
              "other"
            ],
            "type": "string"
          },
          "uses_spring_security": {
            "description": "Spring Boot: the project already uses Spring Security.",
            "type": "boolean"
          }
        },
        "required": [
          "stack",
          "project",
          "form",
          "features"
        ],
        "type": "object"
      },
      "name": "plan_integration"
    },
    {
      "description": "Search Claspine's guides, recipes, capability table and error fixes with a plain question or keywords. Returns the best matches first, with links; follow up with get_guide or get_recipe.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "limit": {
            "description": "Maximum results, 1 to 10 (default 5).",
            "minimum": 1,
            "type": "integer"
          },
          "query": {
            "description": "A question or keywords, for example \"add sign-in and email to my existing Spring Boot app\".",
            "type": "string"
          }
        },
        "required": [
          "query"
        ],
        "type": "object"
      },
      "name": "search_docs"
    },
    {
      "description": "Every Claspine upgrade note after one version up to another, oldest first, with what changed, the checklist for product code and what to do before deploying. Read them all before changing the Claspine version.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "from": {
            "description": "The version the application uses now, for example 0.26.0.",
            "type": "string"
          },
          "to": {
            "description": "The target version (default: the latest release).",
            "type": "string"
          }
        },
        "required": [
          "from"
        ],
        "type": "object"
      },
      "name": "upgrade_notes"
    },
    {
      "description": "Which Claspine capabilities exist on Claspine Atlas, the self-hosted engine (any language over HTTP) and self-hosted Spring Boot. Check this before planning any Claspine integration: they differ (for example, Claspine Atlas has no sign-in, permissions or push).",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "capability": {
            "description": "Optional words to filter by, for example \"sign-in\" or \"payments\".",
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "what_runs_where"
    }
  ]
}

What the leaf hashes

{"body":"4c3836091e9c1cb4a3219bb42e706f83bd47071b56277bdfac051ba0ff248d39","id":586726,"kind":"mcp.tools","method":"probe.mcp/1","observed_us":1793147701530499,"prev":null,"subject":"9c010668-884c-4e3d-ae22-64b8faa1c5ca","subject_kind":"endpoint"}

Proof

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

  1. 0x219f734c0c81089af829b9369ac69ed50286c244f7a0106b8cfbaa003581b48b
  2. 0xf8f9d19aa30c35ab2b37d74b100c39bce9a2422bf7677a0ae0ae49052628b8d6
  3. 0xe84bfd3be79585b70c32a7eb97c2ef33188d53b10de2669dc09596a549dc557f
  4. 0x10e27c53c6b96175643fe1373354567479fc1644e674b9e730750371edc0335a
  5. 0xbaefab791ff6786abe7788c055e76712b60cdfc347956f4328c6748914cde11e
  6. 0x3c0cd907a611443b47f060826592ac7c5892a64e3d914a8e4429d98d1c1a92db
  7. 0xb1cc0e15d8d06ae013c43f7351cabe4398c3ff4b82e6b62121c9d1cfa0fa52fd
  8. 0xe1bafd457862dd0f66937c3a3dab13e2965318804ecb9100968ad60aa78338c5
  9. 0xdee6481be8543d475db2f794409d5dd06713893d9d1a5ae39dc752608c50fea4
  10. 0xfbc593729f50249d4803195f580f34750ca7b392f6b7c70cc62579b06e8fb9ee
  11. 0xfacf884a6c2b3e6139b10f5c7440d0885a3b19bf2389e3d4b6be90aec60612e8
  12. 0xc93ece3e0a59b69f5b389bd42331a474e675f503f26ab5494a941fa4f5327261
  13. 0x3ce83ad86ff4f1711072c47e954f682b6a67bc60b2342af27fa493f972b6b9c0
  14. 0xa45c19ee1ddfa3971a75affe2da0c01e0a09406bb4b50c48e0d9cf0e082801a3
  15. 0x4698ebc7cbcb2286f661b867355eb6a9183e884482ee16965889e886b17d19ac
  16. 0x35e8995c30094446ec790423171382fccb377081b921295b0ae3840cc2c4f52c
  17. 0xf078ea7d84d98dbeffed23d8e67b36751e60464ffd4cfdc005e0aa6f8cb9b459
  18. 0xe027395fafb7fc41921c42ca0542524ea22204cbd5908b70b27f3d5fb26f5d0f
Day root
0x2c19037464cc4c493624565f01775d6446fc78eaa118fc6865bfe2bfca9ff78e
Chained
0xd1d7dee8322ceff8f4c8d83aa1fe4a4466825c2af1c97dbde3d35db61234f7be
Published
On Arc Testnet, block 69584042: 0x8bae2b1d097834c8b458513862d70d29ee807e98dc2e863b27250131c15b35ae

How to check it · This row as JSON