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 domainassay_preflight에서
  • MEDIUMTool description contains URL to non-standard domainassay_probe에서
  • MEDIUMTool description contains URL to non-standard domainassay_verify_delivery에서
  • MEDIUMTool description contains URL to non-standard domainassay_get_ledger_policy에서

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~1,852토큰 (도구 정의)
~2.8 KB일반적인 응답 크기
중간 정도의 주의 영향 (128k 컨텍스트의 1.45%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`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개