# CanaryGuard 402 (io.github.ak10082247-max/canaryguard-402): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/io.github.ak10082247-max%2Fcanaryguard-402/versions/latest)
- Connected to: https://canaryguard-402.onrender.com/mcp
- Homepage: https://canaryguard-402.onrender.com/
- Repository: https://github.com/ak10082247-max/canaryguard-402
- Scoring rules: v2
- Tools: 26
- Average: 41.0 / 100 (Cloudy)
- Near-identical pairs: 2

This page shows how CanaryGuard 402 (io.github.ak10082247-max/canaryguard-402)'s tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

Forecall asked the URL this server lists in the official MCP Registry for its tools/list once, on the date above, without calling any tool. The server may have changed since.

## Across the server

- Minor: 26 tools. Above 25, models start to tell tools apart less well.
- Minor: The server has no instructions. Say there, once, what the server is for and when to use it: Claude Code and Gemini CLI read the instructions before the tool descriptions.

## Tools

- `auditEip712Signature`: 32 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: typed_data, typed_data.domain, typed_data.types, typed_data.primaryType, typed_data.message.
  - Minor: String arguments with no constraint or example: typed_data.primaryType.
  - Minor: The description mentions none of its 3 or more arguments.
- `auditEip712SignaturePayload`: 32 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: typed_data, typed_data.domain, typed_data.types, typed_data.primaryType, typed_data.message.
  - Minor: String arguments with no constraint or example: typed_data.primaryType.
  - Minor: The description mentions none of its 3 or more arguments.
- `decodeBaseTxStatus`: 32 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: tx_hash.
  - Minor: String arguments with no constraint or example: tx_hash.
- `auditMcpToolPoisoning`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: tool_name, tool_description, input_schema.
  - Minor: String arguments with no constraint or example: tool_name, tool_description.
  - Minor: The description mentions none of its 3 or more arguments.
- `auditMcpToolSchema`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: tool_name, tool_description, input_schema.
  - Minor: String arguments with no constraint or example: tool_name, tool_description.
  - Minor: The description mentions none of its 3 or more arguments.
- `auditUrlAgentReadiness`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: url.
  - Minor: String arguments with no constraint or example: url.
- `repairAndSanitizeJson`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: raw_json.
  - Minor: String arguments with no constraint or example: raw_json.
- `verifyAgentAttestation`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: agent_wallet, service_domain, message, signature, signed_at.
  - Minor: String arguments with no constraint or example: agent_wallet, service_domain, message, signature.
  - Minor: The description mentions none of its 3 or more arguments.
- `getOndemandMarketSnapshot`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: assets, include_polymarket.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The meaning of the boolean argument include_polymarket is unclear.
- `getSafeYieldAllocation`: 37 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: capital_usdc, risk_tolerance, chains.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
- `analyzeEvmWallet`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: chain_id.
- `checkSmartContractHoneypot`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: chain_id.
- `getCryptoPriceOnchain`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: symbol.
  - Minor: String arguments with no constraint or example: symbol.
- `canary_sanitize`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: strict_mode.
  - Minor: The meaning of the boolean argument strict_mode is unclear.
- `checkWalletDrainer`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: chain_id.
- `inspectContractInfo`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: chain_id.
- `getSafeBaseTrending`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: min_liquidity_usd, limit.
  - Minor: No `required` list, so every argument is optional.
- `getSafeDefiYields`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: asset.
  - Minor: No `required` list, so every argument is optional.
- `guardAgentMemory`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: session_id.
- `inspectUniswapPoolState`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: quote_token.
- `runFullEnterpriseRiskAudit`: 45 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: chain_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `calculateLlmTokenPricing`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: model.
  - Minor: No `required` list, so every argument is optional.
- `getTokenHistoryAndSpread`: 49 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: quote, window.
  - Minor: No `required` list, so every argument is optional.
- `checkWalletSanctions`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
- `inspectBaseToken`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.
- `inspectPhishingUrl`: 50 / 100
  - Major: Says nothing about when to use it, or when not to.

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

[All scored servers](https://forecall.dev/en/servers)
