PlainText Wallet Approval Checker
Server Details
Checks a wallet's token/NFT approvals via GoPlus and explains risk in plain language.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: one performs a live on-chain lookup for wallet approvals, while the other explains an already-provided approval JSON payload. No overlap or ambiguity between them.
Both tools follow a consistent verb_noun pattern: 'check_wallet_approvals' and 'explain_approval'. The verbs are clear and distinct, and the nouns are appropriately descriptive.
With only 2 tools, the server feels thin for the domain of wallet approvals. While the stated purpose is 'checker', it borders on insufficient, but the scope is narrow enough that the count is not egregiously wrong.
The server covers checking and explaining approvals but lacks critical operations like listing all approvals, revoking approvals, or fetching approval history. This leaves significant gaps for a full wallet approval workflow.
Available Tools
2 toolscheck_wallet_approvalsCheck Wallet ApprovalsAInspect
Check an EVM wallet's live token/NFT approvals via GoPlus Security and get a plain-language safety verdict (SAFE, CAUTION, or RISK) with an explanation.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Approval type to check (default: token) | |
| chain | No | Chain to check approvals on (default: ethereum) | |
| address | Yes | EVM wallet address to check, e.g. 0x... |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden of behavioral disclosure. It adds genuinely useful traits: data is 'live', sourced from the external GoPlus Security API, and returns a tri-state plain-language verdict. However, it omits the implications of that external dependency — rate limits, failure/error behavior, or how a wallet with no approvals is reported.
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?
A single ~25-word sentence with zero filler: action, resource, service, and output format are all front-loaded. Every clause earns its place, and nothing is repeated from the title or schema.
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?
For a 3-parameter tool with full schema coverage, the description covers the core picture, and naming the SAFE/CAUTION/RISK verdict partially compensates for the missing output schema. It is incomplete on sibling routing and external-API failure behavior, and it doesn't describe edge cases like a wallet with zero approvals.
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 description coverage is 100%, so all three parameters are already documented: kind and chain have enums with defaults, and address has a regex pattern plus example. The description adds only the EVM framing and the token/NFT distinction, providing no per-parameter meaning beyond what the schema already gives.
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 uses a specific verb ('Check'), a concrete resource ('an EVM wallet's live token/NFT approvals'), a named method ('via GoPlus Security'), and an explicit output contract (SAFE, CAUTION, or RISK verdict with explanation). This clearly differentiates from the sibling explain_approval — checking versus explaining.
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?
The description implies its context — use it when an agent needs a wallet-approval safety assessment — but it never states when to prefer this over the sibling explain_approval, nor any exclusion conditions. Routing between check and explain is left to inference from the tool names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
explain_approvalExplain Approval PayloadAInspect
Explain an arbitrary approval/permission JSON payload in plain language, when you already have the data instead of needing an on-chain lookup.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | Arbitrary approval/permission JSON payload to explain |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description carries the behavioral burden. It discloses that the tool does not perform an on-chain lookup (it works on data you already have) and that its output is a plain-language explanation, which conveys the core behavior for a stateless read/explain operation. It omits edge-case behaviors like error handling or validation, but these are secondary for this simple tool.
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 a single sentence that leads with the action and object, then appends the key usage qualifier ('when you already have the data...'). There is no redundant wording or filler, though the sentence is longer than necessary and could be split for emphasis.
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?
The definition covers the core what and when but leaves out any mention of payload constraints, expected output format beyond 'plain language,' or behavior on invalid input. Since there is no output schema, slightly more detail about what the explanation contains would improve completeness, but the tool is simple and mostly self-explanatory.
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 input schema already documents the single 'data' parameter at 100% coverage, describing it as an arbitrary approval/permission JSON payload. The tool description adds no additional parameter-level detail, so the schema does the heavy lifting; 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?
The description uses a specific verb ('Explain') and a clear resource ('arbitrary approval/permission JSON payload') and distinguishes this tool from the sibling check_wallet_approvals by noting it applies when you already have the data rather than needing an on-chain lookup. This is enough for an agent to identify what the tool does and separate it from the alternative.
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?
The definition explicitly frames when to use the tool: 'when you already have the data instead of needing an on-chain lookup,' which implies the alternative scenario belongs to check_wallet_approvals. It does not name the sibling tool or provide a full when-not-to-use list, but the context is clear.
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.
2 tool updates
- First observed
check_wallet_approvals - First observed
explain_approval
Related MCP Connectors
Read-only crypto safety: token honeypot checks, EIP-712 signature decode, approval scans.
Solana wallet & token reputation lookup. Risk verdict, score, DefiLlama TVL, Rugcheck.
Multi-chain wallet intelligence: balances, transactions, ENS, OFAC screening across 7 chains.
Instant rug-check for any EVM or Solana token, distilled to one clear 0-10 risk verdict.
Related MCP Servers
- AlicenseAqualityCmaintenanceAnalyzes a wallet's active ERC-20 token approvals and provides prioritized risk assessment along with revoke calldata.2MIT
- FlicenseNot gradedqualityNot gradedmaintenanceEnables blockchain security analysis using GoPlus Security API, providing rug pull detection, phishing site detection, NFT security analysis, and token security assessment across 14+ blockchain networks. Supports comprehensive security analysis for addresses, tokens, and smart contracts through natural language queries.2-

mcp-token-riskofficial
AlicenseNot gradedqualityCmaintenanceProvides live on-chain rug-pull and honeypot risk screening for EVM and Solana tokens, returning computed red flags and raw GoPlus Security data for contract or mint addresses.MIT- AlicenseAqualityCmaintenanceDecodes Ethereum calldata and returns a safety verdict with plain-English explanations of what the transaction does, flagging dangerous actions like unlimited approvals or gasless permits.2MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.