Check if an MCP server changed its tools: signed history, per-server coverage, offline proofs.
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
One-call summary for an MCP server registry id (e.g. "ai.alphaquantlabs/propertycheck"): tool-list fingerprint history observed by LEGION, last change, per-server coverage from the signed COVERAGE_V1 register (COMPLETE only if observed in every register cycle, UNKNOWN if partial), proof references and a command that verifies everything offline. Read-only. Unknown id -> state UNKNOWN (absence from the log is not a verdict). A change is not an attack; this log does not certify that a server is secure.
One-call summary for an MCP server registry id (e.g. "ai.alphaquantlabs/propertycheck"): tool-list fingerprint history observed by LEGION, last change, per-server coverage from the signed COVERAGE_V1 register (COMPLETE only if observed in every register cycle, UNKNOWN if partial), proof references and a command that verifies everything offline. Read-only. Unknown id -> state UNKNOWN (absence from the log is not a verdict). A change is not an attack; this log does not certify that a server is secure.
| Argument | Type | Description |
|---|---|---|
| server_id* | string |
{
"type": "object",
"title": "check_mcp_serverArguments",
"required": [
"server_id"
],
"properties": {
"server_id": {
"type": "string",
"title": "Server Id"
}
}
}Latest signed tree head of the LEGION MCP transparency log. The signature is checked against the keyring, anchored on the pinned root key fingerprint. Read-only. Returns tree_size, root_sha256, timestamp, signer and signature_valid. For a trustless check, verify it yourself (see `how_to_verify_yourself`).
No arguments.
{
"type": "object",
"title": "get_checkpointArguments",
"properties": {}
}Signed tool-list history of one MCP server as observed by LEGION (registry id, e.g. "xyz.signomy/civitae"), newest first, at most `limit` (1-50) changes, plus an evidence bundle for the latest record (record + RFC 9162 inclusion proof + signed tree head + keyring) that `verify_evidence_bundle` checks offline. A change is not a fault; history = what LEGION observed, not what other clients see.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| server_id* | string |
{
"type": "object",
"title": "get_server_changesArguments",
"required": [
"server_id"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 10
},
"server_id": {
"type": "string",
"title": "Server Id"
}
}
}Verify an evidence bundle OFFLINE (no network call): keyring chain from the pinned root fingerprint, record signature and integrity, signed tree head, RFC 9162 inclusion proof. If `approved_tools_sha256` is given, also reports whether the signed tool list still matches the version you approved (UNAPPROVED_CHANGE if not). Bundle = {record, proof, sth, keyring} as returned by get_server_changes (max 256 KB).
| Argument | Type | Description |
|---|---|---|
| bundle* | object | |
| approved_tools_sha256 | string |
{
"type": "object",
"title": "verify_evidence_bundleArguments",
"required": [
"bundle"
],
"properties": {
"bundle": {
"type": "object",
"title": "Bundle",
"additionalProperties": true
},
"approved_tools_sha256": {
"type": "string",
"title": "Approved Tools Sha256",
"default": ""
}
}
}Check an MCP server URL against LEGION's signed transparency log. Read-only. For each registry server at this URL: latest signed tool definition (leaf index, date, tools_sha256), number of tool changes (total and 30 days), date of the last change, RFC 9162 inclusion proof + signed tree head (re-verified here from the pinned root key), an evidence bundle for `verify_evidence_bundle`, and — if live=true — whether the tool list served NOW differs from the signed one (live check by LEGION: initialize + tools/list only, public addresses only, NOT signed). A change is not a fault; history = what LEGION observed, not what other clients see.
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| live | boolean |
{
"type": "object",
"title": "verify_mcp_serverArguments",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"title": "Url"
},
"live": {
"type": "boolean",
"title": "Live",
"default": true
}
}
}