MCP server for COTI v2 blockchain network integration, providing tools for wallet management, token transfers, ERC20 token creation, and security checks
Critical gaps across all dimensions. Tool names lack clear action verbs (Transfer_Native_Token uses underscores inconsistently; Create_ERC20_Token mixes verb_noun with capitalization). Descriptions are present but generic (10-50 chars, well below 50-200 char baseline for LLM optimization). Input schemas visible but severely incomplete: parameters lack type definitions (all params show only 'string' type with no format, pattern, or constraint info). No output schemas documented. No error handling guidance. No parameter validation rules. Irreversible operations (transfers, token creation) lack confirmation/dry-run patterns. Security-critical: private key handling not visible in code review, wallet initialization unclear.
🔨Create a new ERC20 standard token on COTI v2 network
Create a new privacy-enabled ERC20 token on COTI v2 network with encrypted transactions
Retrieve wallet information including balance and address details
Perform security analysis on token contracts using GoPlus security API
Transfer ERC20 tokens from wallet to recipient address
Transfer native COTI tokens from wallet to recipient address
No input parameter type definitions beyond 'string'. Missing format, pattern, minLength, maxLength, enum constraints. LLMs cannot validate inputs or understand constraints.
Irreversible operations (all transfers and token creation) lack confirmation/dry-run pattern. Agents can execute destructive blockchain transactions without safeguards.
No output schemas documented. LLMs cannot plan downstream calls or extract required fields (e.g., transaction hash, token address for chaining).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 27 | 2026-07-28+ | v2 |
Tool descriptions are 25-35 characters (well below 50-200 char baseline). Descriptions lack WHEN to use, prerequisites, and return value hints. Generic text like 'Retrieve wallet information' does not guide LLM selection.
No error handling guidance. No recovery hints (e.g., 'Insufficient balance, check Get_Wallet_Info first'). No categorization of retryable vs fatal errors.