Resolve EVM wallet addresses to the X (Twitter) and Farcaster accounts their owners published
This MCP server has critical definition quality gaps. While both tools are named with action verbs (wallet_socials, batch), the descriptions lack specificity for LLM decision-making. The wallet_socials tool description (53 chars) is borderline adequate but doesn't explain WHEN to use it vs batch, or what the output structure contains. The batch tool description (76 chars) is similarly vague about expected output format and pagination behavior. Most critically: NO input parameter descriptions are visible in the provided source code. The wallet_socials input shows 'address' parameter with type string and a brief hex format note, but lacks context (e.g., checksummed vs lowercase, what happens with invalid input). The batch tool's 'wallets' parameter has no description beyond the array declaration. Output schemas are completely undocumented, we cannot see what fields are returned by each tool. The WalletLookupTool.tsx component reveals the response structure includes fields like 'wallet', 'found', 'checked_at', 'data.twitter', 'data.farcaster', etc., but this is inferred from UI code, not explicit in tool definitions. No error handling guidance is documented. No pagination parameters despite batch operation. The server appears to be primarily a Next.js frontend with embedded MCP tools, not a proper MCP server with formal tool registration.
Batch lookup of multiple EVM wallet addresses to resolve social accounts
Look up social accounts (Twitter/X and Farcaster) linked to an EVM wallet address
Input parameter descriptions are completely missing. 'address' parameter in wallet_socials has only a terse hex format note; 'wallets' in batch has none. LLMs cannot infer when checksummed input is required, error cases, or format constraints beyond the brief fragments shown.
Output schemas are not documented. The WalletLookupTool.tsx component reveals response structure (wallet, found, checked_at, data.twitter, data.farcaster, data.ens_name, etc.), but this is inferred from UI code, not declared in tool definitions. LLMs have no formal specification of what fields to expect or how to chain downstream operations.
batch tool accepts an array of wallets but provides no pagination, limit, or result-capping guidance. For bulk lookups, responses could be arbitrarily large, risking context window exhaustion. No documentation of per-item vs blanket error handling.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 38 | 2026-07-28+ | v2 |
Tool descriptions are too brief (53 chars for wallet_socials, 76 chars for batch). They state WHAT but not WHEN to use each tool, dependencies, or prerequisites. No guidance on which tool to select given a scenario (e.g., single address vs bulk vs batch operation).
No error classification or recovery guidance. No documentation of when errors are retryable, user-fixable, or fatal. Invalid EVM addresses, rate limits, service outages, and no-data cases appear to be handled only in the UI component, not in the tool contract.
No tool composition guidance. The wallet_socials and batch tools both look up social accounts but are not documented as to their relationship, is batch idempotent? Does it call wallet_socials internally? Can outputs be chained? Unclear.