assay

A2A & MCP Pre-Flight Security: SHA-256 tool schema rug-pull detection and liveness grades.

我該用這個嗎

品質與安全性

B
說明品質
100%
結構描述完整度
100%
命名品質
80%
汙染風險
20%
權限相符程度
100%
協定合規性
100%

發現項目(5)

  • HIGHTool poisoning patterns detected
  • MEDIUMTool description contains URL to non-standard domain在 assay_preflight 中
  • MEDIUMTool description contains URL to non-standard domain在 assay_probe 中
  • MEDIUMTool description contains URL to non-standard domain在 assay_verify_delivery 中
  • MEDIUMTool description contains URL to non-standard domain在 assay_get_ledger_policy 中

根據工具定義與協定合規性的自動化分析。

上下文成本

~1,852Token(工具定義)
~2.8 KB典型回應大小
中等的注意力影響(128k 上下文的 1.45%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "assay": {
      "url": "https://assay-207908449630.us-central1.run.app/mcp"
    }
  }
}

遠端端點

https://assay-207908449630.us-central1.run.app/mcpstreamable-http

它能做什麼

工具清單

工具(4)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢assay_preflight(target, expected_tools_hash)

Gate a remote MCP, A2A, or x402 endpoint before calling or paying it by probing live JSON-RPC reachability, hashing tools/list (SHA-256), and scanning for prompt-injection poisoning. When expected_tools_hash is provided, any mismatch against the live tools/list digest forces verdict='deny' to block silent schema rug-pulls; when omitted, verdict reflects liveness and injection safety alone. Read-only gate; first 5 calls/IP are free and quota-exceeded calls return a 402 top-up prompt. Use before tool execution or payment; to register or refresh public leaderboard telemetry use assay_probe; to read or pin stored policy hashes use assay_get_ledger_policy; after payment use assay_verify_delivery. Example: target='https://agentdiet-72343955726.us-central1.run.app/mcp'.

輸入結構描述

{
  "type": "object",
  "properties": {
    "target": {
      "type": "string",
      "minLength": 8,
      "maxLength": 512,
      "examples": [
        "https://agentdiet-72343955726.us-central1.run.app/mcp"
      ],
      "description": "Public HTTPS URL of the remote MCP server, A2A agent, or x402 endpoint to inspect (e.g. 'https://tandem.ac/mcp'). Private and loopback IPs are blocked."
    },
    "expected_tools_hash": {
      "type": "string",
      "minLength": 0,
      "maxLength": 128,
      "description": "Optional 64-char SHA-256 hex digest of the canonical MCP tools/list schema from mcp-lock.json. Omit to read or auto-pin the current live digest; pass a 64-hex digest to enforce zero-drift gating."
    }
  },
  "required": [
    "target"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "target": "https://agentdiet-72343955726.us-central1.run.app/mcp"
    }
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string"
    },
    "error": {
      "type": [
        "string",
        "null"
      ]
    },
    "verdict": {
      "type": "string"
    },
    "reason": {
      "type": "string"
    },
    "receipt": {
      "type": "string"
    },
    "dossier": {
      "type": "object"
    }
  },
  "required": [
    "verdict",
    "receipt"
  ]
}
🟡assay_probe(target)

Register a new remote MCP, A2A, or x402 endpoint or refresh its public Assay Observatory dossier by running a live HTTP, agent-card, and JSON-RPC tools/list inspection without policy gating. Target must be a public HTTPS origin (private IPs are rejected with a 400 error); each call appends a timestamped observation and increments rug_pulls if tools_hash drifted since the prior stored observation. Writes to the public ledger; first 5 calls/IP are free and retries are idempotent on steady schemas. Use to onboard or re-index a server; for pre-call allow/deny gating use assay_preflight; for historical observations or hash pinning use assay_get_ledger_policy; for post-payment disputes use assay_verify_delivery. Example: target='https://agentdiet-72343955726.us-central1.run.app/mcp'.

輸入結構描述

{
  "type": "object",
  "properties": {
    "target": {
      "type": "string",
      "minLength": 8,
      "maxLength": 512,
      "examples": [
        "https://agentdiet-72343955726.us-central1.run.app/mcp"
      ],
      "description": "Public HTTPS URL of the remote MCP server, A2A agent, or x402 endpoint to inspect (e.g. 'https://tandem.ac/mcp'). Private and loopback IPs are blocked."
    }
  },
  "required": [
    "target"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "target": "https://agentdiet-72343955726.us-central1.run.app/mcp"
    }
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string"
    },
    "error": {
      "type": [
        "string",
        "null"
      ]
    },
    "verdict": {
      "type": "string"
    },
    "reason": {
      "type": "string"
    },
    "receipt": {
      "type": "string"
    },
    "dossier": {
      "type": "object"
    }
  },
  "required": [
    "verdict",
    "receipt"
  ]
}
🟢assay_verify_delivery(target, tx_hash, status_code)

Audit a paid x402 or A2A provider after payment to confirm delivery or prove an SLA breach with an HMAC-SHA256 signed receipt. Passing status_code >= 500 forces verdict='sla_breach_confirmed' even if the live re-probe succeeds, while passing tx_hash cryptographically binds your Base or Solana payment signature into the receipt (omitting tx_hash still verifies liveness and issues a probe-bound receipt). Non-destructive; first 5 calls/IP are free and failed target connections do not throw tool errors. Use only after paying a provider; before payment use assay_preflight; for public indexing use assay_probe; for policy history use assay_get_ledger_policy. Example: target='https://agentdiet-72343955726.us-central1.run.app/mcp'.

輸入結構描述

{
  "type": "object",
  "properties": {
    "target": {
      "type": "string",
      "minLength": 8,
      "maxLength": 512,
      "examples": [
        "https://agentdiet-72343955726.us-central1.run.app/mcp"
      ],
      "description": "Public HTTPS URL of the remote MCP server, A2A agent, or x402 endpoint to inspect (e.g. 'https://tandem.ac/mcp'). Private and loopback IPs are blocked."
    },
    "tx_hash": {
      "type": "string",
      "minLength": 0,
      "maxLength": 128,
      "description": "Optional on-chain payment transaction hash (0x Base USDC hash or base58 Solana signature) to bind into the signed SLA receipt. Omit to run an unsigned post-call SLA check."
    },
    "status_code": {
      "type": "string",
      "minLength": 0,
      "maxLength": 8,
      "description": "Optional HTTP status code returned by the paid endpoint (e.g. '200', '502', '504'). Codes >= 500 force verdict='sla_breach_confirmed' even if a retry probe succeeds."
    }
  },
  "required": [
    "target"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "target": "https://agentdiet-72343955726.us-central1.run.app/mcp"
    }
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string"
    },
    "error": {
      "type": [
        "string",
        "null"
      ]
    },
    "verdict": {
      "type": "string"
    },
    "reason": {
      "type": "string"
    },
    "receipt": {
      "type": "string"
    },
    "dossier": {
      "type": "object"
    }
  },
  "required": [
    "verdict",
    "receipt"
  ]
}
🟡assay_get_ledger_policy(target, expected_tools_hash)

Retrieve historical conformance observations and manage pinned SHA-256 tools/list policy hashes in the Assay ledger for a target endpoint. When expected_tools_hash is provided, it pins that 64-hex digest as the target's baseline policy and compares it against the latest stored observation; when omitted, it returns the stored dossier and last 20 drift observations without network probing unless the target is unindexed. Idempotent; first 5 calls/IP are free. Use to audit historical drift or pin mcp-lock.json hashes; for live pre-execution gating use assay_preflight; for live re-indexing use assay_probe; for post-payment SLA receipts use assay_verify_delivery. Example: target='https://agentdiet-72343955726.us-central1.run.app/mcp'.

輸入結構描述

{
  "type": "object",
  "properties": {
    "target": {
      "type": "string",
      "minLength": 8,
      "maxLength": 512,
      "examples": [
        "https://agentdiet-72343955726.us-central1.run.app/mcp"
      ],
      "description": "Public HTTPS URL of the remote MCP server, A2A agent, or x402 endpoint to inspect (e.g. 'https://tandem.ac/mcp'). Private and loopback IPs are blocked."
    },
    "expected_tools_hash": {
      "type": "string",
      "minLength": 0,
      "maxLength": 128,
      "description": "Optional 64-char SHA-256 hex digest of the canonical MCP tools/list schema from mcp-lock.json. Omit to read or auto-pin the current live digest; pass a 64-hex digest to enforce zero-drift gating."
    }
  },
  "required": [
    "target"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "target": "https://agentdiet-72343955726.us-central1.run.app/mcp"
    }
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string"
    },
    "error": {
      "type": [
        "string",
        "null"
      ]
    },
    "verdict": {
      "type": "string"
    },
    "reason": {
      "type": "string"
    },
    "receipt": {
      "type": "string"
    },
    "dossier": {
      "type": "object"
    }
  },
  "required": [
    "verdict",
    "receipt"
  ]
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本4 個工具