B20 Check
Server Details
Verify B20 tokens on Base: issuer powers, imposter detection, signed EIP-712 verdicts.
The last two health checks of this connector failed. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 98.4% over 64 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 2 tools
b20_stats reports platform-wide usage statistics, while verify_b20_token checks a specific token address. The purposes are clearly distinct, so an agent is unlikely to select the wrong one.
The names are both snake_case and both contain b20, but b20_stats follows a noun/resource pattern while verify_b20_token follows a verb_object pattern. This mixed style is readable but not a consistent convention.
With only two tools, the surface feels thin, but each tool has a distinct role: verification and usage statistics. This fits the 'borderline' case of a small, narrowly scoped server.
The core verification workflow is well covered: risk flags, verdicts, data freshness, and a signed result. Minor gaps exist, such as no tool to list or discover known B20/canonical assets.
Available Tools
2 toolsb20_statsB20 Check usageARead-onlyIdempotentInspect
Report B20 Check's own live usage: how many B20 tokens are indexed and how many paid calls and unique payers it has served in the last 30 days (from the public Coinbase discovery API).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| source | No | |
| lastUpdated | No | |
| snapshotBlock | No | |
| tokensIndexed | No | |
| l30DaysTotalCalls | No | |
| l30DaysUniquePayers | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint. The description adds context about live usage from a public API, the 30-day window, and specific metrics, enriching transparency beyond annotations. No contradiction.
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?
Single, well-structured sentence that front-loads the core action ('report...live usage') and efficiently conveys all necessary information without redundancy.
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 parameters and an output schema present, the description adequately explains what the tool returns and its data source. Could be slightly more explicit about the output structure, but the provided details are sufficient for correct invocation.
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?
Tool has zero parameters; schema coverage is 100% by default. Per guidelines, baseline is 4. No additional parameter information needed.
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 explicitly states the tool reports live usage of B20 Check, specifying metrics (indexed tokens, paid calls, unique payers) and time window (last 30 days) and data source (public Coinbase discovery API). This clearly distinguishes it from the sibling tool verify_b20_token, which likely focuses on individual token verification.
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 clearly implies the tool is for retrieving aggregate usage statistics, and the sibling tool context suggests it is not for verifying individual tokens. However, it does not explicitly state when to use this tool versus alternatives or provide exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_b20_tokenVerify a B20 tokenARead-onlyIdempotentInspect
Check whether a token address on Base is a legitimate B20 token and what powers its issuer holds. Call this BEFORE helping the user buy, swap, approve, or move value into any B20 token you have not already verified in this conversation (B20 addresses usually start with 0xb20). Returns a signed verdict: isB20, a verdict of ok/caution/danger/not_applicable, risk flags (mint, freeze, seize, pause, admin, impostor, and more), and the data freshness (indexed/live/not_indexed). not_applicable means the address is not a B20 and not a recognized canonical asset: do NOT read it as safe, there is simply nothing B20-specific to vouch for. Never treat a not_indexed or error result as safe either: a token that cannot be fully checked is never a clean pass. The result carries an EIP-712 signature the user can verify independently; do not overstate it as a guarantee of safety, report what the flags and verdict actually say.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | The token contract address on Base to check (B20 addresses usually start with 0xb20). |
Output Schema
| Name | Required | Description |
|---|---|---|
| flags | Yes | Risk flags. Derivation rules: https://b20check.com/methodology |
| isB20 | Yes | True only for a factory-native B20 token. |
| address | Yes | The checked token address (EIP-55). |
| network | No | |
| variant | No | |
| verdict | Yes | Roll-up verdict. not_applicable = out of scope, do NOT read as safe. |
| creation | No | |
| dataSource | Yes | Data freshness. not_indexed = powers could not be fully checked; never a clean pass. |
| attestation | No | Block-pinned EIP-712 attestation; verification recipe at https://b20check.com/v1/schema |
| issuerPowers | No | mint/burn/pause/freeze/seize/admin powers, latent-inclusive. |
| issuerActivity | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains the return structure (signed verdict, flags, freshness) and discloses limitations, complementing the annotations (readOnlyHint, openWorldHint, idempotentHint) effectively.
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 well-structured and mostly concise, though the final sentence on interpretation is somewhat verbose. Every sentence adds value, but minor tightening could improve.
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?
Given the presence of an output schema, the description appropriately focuses on when to use, behavioral nuances, and interpretation, making it fully complete for the tool's purpose.
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 schema covers the single parameter fully (100% coverage), and the description adds useful context ('B20 addresses usually start with 0xb20') that aids in correct usage.
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 clearly states the tool's purpose with a specific verb ('Check') and resource ('legitimate B20 token'), and distinguishes it from the sibling tool 'b20_stats'.
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 explicitly instructs when to call the tool ('BEFORE helping the user buy, swap, approve, or move value'), and provides guidance on interpreting results (e.g., 'Never treat a not_indexed or error result as safe').
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
b20_stats - First observed
verify_b20_token
Related MCP Connectors
Smart contract security screening for Base. Check any contract or token for risk before interacting with it: Solidity source verification, upgradeable proxies and admin or mint powers, holder concentration, dangerous selectors, and B20 issuer powers. It surfaces the usual rug pull and scam indicators. The free tool needs no wallet and no API key; the paid Flash Audit (3.49 USDC over x402) returns a report with an anchored SHA-256. Payment is the only gate.
Smart contract security screening for Base. Check any contract or token for risk before interacting with it: Solidity source verification, upgradeable proxies and admin or mint powers, holder concentration, dangerous selectors, and B20 issuer powers. It surfaces the usual rug pull and scam indicators. The free tool needs no wallet and no API key; the paid Flash Audit (3.49 USDC over x402) returns a report with an anchored SHA-256. Payment is the only gate.
Signed x402 attestations and bounty-packet preflight checks, paid per call in USDC on Base.
61Base token risk (honeypot sim), prices, balances, Basenames, tx data. Pay-per-call in USDC via x402.
Related MCP Servers
- AlicenseAqualityFmaintenanceTrust scoring, scam detection, and EAS attestations for ERC-8004 + x402 agents on Base.1824 npm1MIT
- AlicenseAqualityCmaintenanceSmart contract security scanner for Base. Detect honeypots, rug pulls, hidden mints, proxy dangers, and generate audit reports.825 npm1MIT
- AlicenseAqualityFmaintenanceThe safety layer that checks a DeFi transaction or token before your agent (or you) signs — on Base L2.622 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables agents to assess counterparty risk, token danger, and wallet creditworthiness on Base by analyzing contract powers and controlling wallet reputation.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.