Magneta Contract Risk
Server Details
Smart-contract risk reports for AI agents on 20 EVM chains, paid per call via x402 ($0.02 USDC).
- Status
- Healthy
- Uptime
- 100.0% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- Bosacks/magneta-risk-x402
- GitHub Stars
- 0
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 4 tools
Each tool has a clearly distinct role: free bytecode-only preview, paid full risk report, scoring rubric, and supported chains. The descriptions explicitly distinguish quick_flags from risk_summary by cost and depth, leaving no realistic misselection between them.
All names are snake_case and readable, but the pattern is noun-phrase based rather than a uniform verb_noun convention, and the contract_ prefix is only applied to two of the four tools. Still, the style is predictable enough for an agent to follow.
Four tools is well-scoped for a contract risk-analysis server: one free preview, one paid report, one rubric explainer, and one chain-coverage lookup. Each tool earns its place without redundancy or bloat.
The surface covers the core workflow: preview, full paid analysis, score interpretation, and supported-chain discovery. Minor gaps exist (e.g., no batch/history or standalone source-verification tool), but agents can work around them easily.
Available Tools
4 toolscontract_quick_flagsContract quick flags (free)ARead-onlyIdempotentInspect
Free, no payment: bytecode-only preview of a deployed smart contract. Covers proxy/upgradeability, ERC-20 probe (name, symbol, owner, paused), risky selectors found in the bytecode (mint, blacklist, fee/tax setters, pause, upgrade), SELFDESTRUCT/DELEGATECALL opcodes, and a partialScore/partialLevel computed from those on-chain signals only. Does NOT cover source verification (Blockscout, Sourcify) nor aderyn static analysis, so partialScore can be lower than the real risk. contract_risk_summary ($0.01 in USDC via x402) is the full report. Read-only, no side effects; an EOA is rejected; identical requests within 10 minutes return the cached result; the HTTP twin GET /v1/flags/:chainId/:address is rate limited to 30 requests per minute per IP.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Contract address, 0x followed by 40 hex characters | |
| chainId | Yes | EVM chain id, one of: 1, 10, 56, 100, 130, 137, 146, 480, 5000, 8453, 42161, 42220, 43114, 59144, 81457, 84532, 421614, 534352, 11155111, 11155420 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, it discloses important behavioral details: no payment required, EOA addresses are rejected, identical requests within 10 minutes return cached results, and the HTTP twin has a 30 requests/minute/IP rate limit. It also explains that partialScore can understate real risk because it excludes source verification and static analysis.
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?
The description is dense but front-loaded and well organized: it starts with the free bytecode preview scope, then coverage, exclusions, paid alternative, and operational behavior. Every sentence adds decision-relevant information.
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?
Although there is no output schema, the description explains the main returned concepts (proxy/upgradeability, ERC-20 probe, risky selectors, opcodes, partialScore/partialLevel) and the important limitations. With only two fully documented parameters and clear safety/operational notes, an agent has enough context to call it correctly and interpret the caveats.
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 already 100%, so the schema documents address format and allowed chain IDs. The description adds one meaningful constraint beyond the schema: an EOA is rejected, meaning the address must be a deployed contract rather than any valid 0x address.
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 states a specific verb and resource: a bytecode-only preview of a deployed smart contract. It enumerates the exact coverage areas and explicitly distinguishes itself from the paid sibling contract_risk_summary, which provides the full report.
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?
It clearly positions this as the free quick preview and names the full paid alternative, contract_risk_summary ($0.01 via x402). It also states what the tool does not cover (source verification and aderyn static analysis), so an agent can decide when this preview is sufficient versus when to use the fuller report.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
contract_risk_summaryContract risk summaryARead-onlyIdempotentInspect
Analyze a deployed smart contract and return a deterministic risk report: 0-100 score with level (low/medium/high/critical), proxy/upgradeability, owner and pause state, risky selectors found in the bytecode (mint, blacklist, fee/tax setters, pause, upgrade), SELFDESTRUCT/DELEGATECALL opcodes, source verification (Blockscout, Sourcify) and aderyn static-analysis findings. Use it before trading, bridging, approving or integrating a token or protocol contract; Use contract_quick_flags first for a free bytecode-only preview when you are not sure the full report is worth paying for. Use supported_chains first if you are unsure the chain id is covered, and scoring_rubric to interpret the score. Paid: $0.01 in USDC on Base per call via x402. The first call answers with an x402 payment challenge; an x402-enabled client pays automatically and the same call then returns the report. Read-only, no side effects. Error cases (unsupported chain, invalid address, address is not a contract, upstream data source failure or timeout) return an isError result with an error message and are not charged; identical requests within 10 minutes return the cached report.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Contract address, 0x followed by 40 hex characters (an EOA is rejected without charge) | |
| chainId | Yes | EVM chain id, one of: 1, 10, 56, 100, 130, 137, 146, 480, 5000, 8453, 42161, 42220, 43114, 59144, 81457, 84532, 421614, 534352, 11155111, 11155420 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only/idempotent profile, and the description goes far beyond them with pricing ($0.01 USDC on Base via x402), the payment-challenge flow, a 10-minute cache on identical requests, and an explicit no-charge policy for error cases. This is exactly the extra context annotations cannot express.
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?
Front-loads the report contents before usage and payment mechanics, and every sentence carries information. It is dense and runs long, but the length is justified by the payment flow and error/caching details rather than padding.
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 output schema, the description fully specifies return shape, payment handshake, caching, and error behavior for a complex paid analysis tool. An agent has everything needed to decide and invoke correctly.
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 100%, so address format and the full chainId enumeration are already documented in the schema. The description adds no syntax or format detail beyond it, so the baseline 3 applies.
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?
States a specific verb (analyze) and resource (deployed smart contract) and enumerates exactly what the report contains: score/level, proxy state, owner/pause, risky selectors, opcodes, verification sources, and static analysis. It explicitly distinguishes itself from siblings contract_quick_flags, scoring_rubric, and supported_chains.
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?
Gives concrete when-to-use triggers (before trading, bridging, approving, integrating) and names two alternatives with the exact conditions that select them: contract_quick_flags for a free preview, supported_chains if the chain is uncertain, scoring_rubric to interpret the score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scoring_rubricScoring rubricARead-onlyIdempotentInspect
Return the exact rubric behind contract_risk_summary scores: points per flag, the level thresholds and what each flag means. Free, read-only, no parameters. Call it to explain a score to a user or to decide your own threshold before acting on a report.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so repeating 'read-only' earns little. The description does add value beyond them by disclosing cost ('Free'), the absence of parameters, and what the returned rubric contains, though it omits the output format.
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?
Three short sentences, front-loaded with what is returned, then safety/cost, then call conditions. Nothing is redundant or padded.
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 output schema and no parameters, the description carries the burden and does list the rubric components an agent will receive. It stops short of describing the return shape or formatting, a minor gap for a pure lookup tool.
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?
The tool takes zero parameters, so the baseline is 4. The description confirms this explicitly ('no parameters'), which is the only parameter-level information an agent needs here.
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?
Specific verb and resource: 'Return the exact rubric behind contract_risk_summary scores', with the content enumerated (points per flag, level thresholds, flag meanings). It is clearly distinguishable from the sibling contract_risk_summary, which produces scores rather than explaining them.
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?
Gives two concrete call conditions: explaining a score to a user, or deciding your own threshold before acting on a report. It states the tool is free, read-only and parameterless, but never says when not to call it or explicitly routes away from a sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
supported_chainsSupported chainsARead-onlyIdempotentInspect
List the EVM chains contract_risk_summary can analyze, as { chainId, name, testnet } objects. Free, read-only, no payment and no parameters. Call it when you need to map a chain name to its id or to check coverage before paying for a report.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false. The description adds material context beyond them: it is free, requires no payment and no parameters, and returns { chainId, name, testnet } objects. The only small overlap is restating 'read-only', but the cost and return-shape disclosures are genuinely additive.
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?
Three tight sentences, front-loaded with the resource and return shape, then cost/behavior, then the call condition. Every sentence earns its place.
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 output schema, the description supplies the return shape ({ chainId, name, testnet }) and the free/no-payment behavior. Combined with the annotations, an agent has everything needed to call it correctly.
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?
Zero parameters, so the baseline is 4. The description confirms 'no parameters', which sets correct expectations, though there is nothing further to disambiguate.
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?
States a specific verb ('List') and resource ('EVM chains contract_risk_summary can analyze'), and ties itself to the sibling contract_risk_summary by naming which chains it covers. An agent can distinguish this catalog tool from the analysis tool and the rubric tool without opening any schema.
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?
Gives explicit trigger conditions: mapping a chain name to its id, or checking coverage before paying for a report. This routes the agent correctly and even connects the tool to the paid sibling workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Added
contract_quick_flags
2 tool updates
- Changed
contract_risk_summary2 fields changed- changed
Input schema / properties / address / descriptionPrevious value: -"Contract address (0x...)"New value: +"Contract address, 0x followed by 40 hex characters (an EOA is rejected without charge)" - changed
Input schema / properties / chainId / descriptionPrevious value: -"EVM chain id"New value: +"EVM chain id, one of: 1, 10, 56, 100, 130, 137, 146, 480, 5000, 8453, 42161, 42220, 43114, 59144, 81457, 84532, 421614, 534352, 11155111, 11155420"
- Added
scoring_rubric
2 tool updates
- First observed
contract_risk_summary - First observed
supported_chains
Publisher details
- Operator
- Magneta Finance · Publisher source
- Operator website
- https://magneta.finance · Publisher source
- Vendor relationship
- First-party
- Documentation
- https://magneta.finance · Publisher source
- Trust center
- Not applicable
- Restrictions
- Pay-per-call: $0.02 USDC on Base via x402. No account, no API key, no regional limit; the client needs an x402-enabled wallet with USDC on Base. · Publisher source
Related MCP Connectors
Solana address risk grades and token scans for AI agents. Pay-per-call via x402 (USDC on Base).
Free token-safety scans + paid x402 verdicts, signals, radar & EVM swap quotes for AI agents.
Free token-safety scans + paid x402 verdicts, signals, radar & EVM swap quotes for AI agents.
Token swaps and honeypot/rug checks for AI agents on 8 chains, paid per-call in USDC via x402.
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables AI agents to check an EVM address on Base for risk (safe, caution, danger) before sending funds, with reasons, paid per call via x402 from the user's own wallet.7309 npm1MIT
- -licenseNot gradedqualityNot gradedmaintenanceEnables AI agents to perform token risk checks across BNB Smart Chain, Ethereum, Base, and Arc by simulating real buys and sells plus 70+ contract checks, with tools for reports, feeds, trade simulation, liquidity analysis, and fund tracing. Successful paid calls settle automatically in USDC on Base via x402, with no account or API key required.-
- AlicenseNot gradedqualityCmaintenanceChecks token contract safety for honeypot, tax, proxy, blacklist, ownership risks, and returns a risk score, enabling rug-pull protection for agents via pay-per-call x402 micropayments.MIT
- FlicenseNot gradedqualityDmaintenancePay-per-use AI security and research tools for autonomous agents on Base, enabling honeypot detection, risk assessment, wallet analysis, and yield optimization via the x402 protocol.1-
Glama MCP Gateway
Add one secure layer between your agents and this server.