x402-contract-scan
Contract Scan: Scan a smart contract for vulnerabilities.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Chain to process | |
| address | No | Address to process | |
| contract | No | Contract to process |
Contract Scan: Scan a smart contract for vulnerabilities.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | No | Chain to process | |
| address | No | Address to process | |
| contract | No | Contract to process |
Changes observed during successful MCP inspections.
Input schema / properties / chainAdded value: +{
+ "description": "Chain to process",
+ "type": "string"
+}Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full disclosure burden, and it discloses almost nothing: no indication of whether the scan is read-only, whether it requires an API key or paid x402 access, whether it is safe/destructive, expected latency, or what the result contains. For a third-party contract security scan this is a significant omission.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is a single short, front-loaded sentence with no padding, which is good, but the "Contract Scan:" prefix merely restates the tool name and the sentence is so terse that it under-specifies a security-critical operation rather than being efficiently concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no annotations, no output schema, and three ambiguously defined optional parameters, the description should explain inputs, preconditions, and result shape. It does none of these, leaving an agent unable to confidently construct a call or interpret the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is nominally 100%, but the three parameter descriptions are placeholder text ("Chain to process", "Address to process", "Contract to process") that conveys no real semantics. The description does not clarify the critical ambiguity of the all-optional parameter set — e.g. is `contract` source code or an address, and is `address` a deployment target — so it fails to compensate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb (scan) and resource (smart contract) with the outcome (vulnerabilities), which is clearer than a tautology. However, it offers no differentiation from close siblings such as x402-smart-contract-audit, x402-token-security, x402-contract-triage, or x402-allowance-scan, so an agent cannot tell which security tool to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. Given an enormous sibling list containing several overlapping contract/security tools, the absence of any routing signal is a real gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.