An MCP server for the Carrot Protocol, enabling users to manage CRT assets (deposit/mint stablecoins, redeem/withdraw, and check yield)
The Carrot MCP server demonstrates solid definition quality with clear, action-oriented naming and comprehensive descriptions. All 7 tools follow verb_noun patterns (get_*, issue_*, redeem_*), making intent immediately obvious. Descriptions are well-crafted (150-200 chars each), explicitly stating what the tool does, when to use it, and consequences (e.g., 'requires a transaction signature', 'includes 0.05% fee'). All parameters have descriptions and types. However, output schemas are not documented in the provided source, and error handling guidance is sparse. Tool composition is excellent, each tool has one clear responsibility, and the issue/redeem tool pairs provide good complementary coverage. No tools combine multiple concerns (e.g., no 'issue_and_send' tools). Security-critical wallet parameters are properly documented as user-provided inputs. The main gap is absence of explicit output schema definitions and error recovery guidance.
Gets the current Annual Percentage Yield (APY) for the Carrot Protocol Token (CRT). This value represents the real-time, weighted average yield being earned from all underlying lending protocols.
Mints CRT by depositing the entire USDC balance from the user's wallet. Use this for a 'max deposit' action. This action requires a transaction signature.
Mints a specific amount of CRT by depositing an equivalent value of USDC. The server calculates the required USDC based on the current CRT price. This action requires a transaction signature.
Mints CRT by depositing a specific amount of USDC. This is for users who want to invest a fixed amount of stablecoin. This action requires a transaction signature.
Redeems the entire CRT balance from the user's wallet in exchange for USDC plus all accrued yield. Use this for a complete withdrawal. A 0.05% redemption fee applies. This action requires a transaction signature.
Redeems a specific amount of CRT, burning the tokens in exchange for the underlying stablecoin (e.g., USDC) plus any accrued yield. A 0.05% redemption fee applies. This action requires a transaction signature.
Output schemas not documented. Tool descriptions reference what they return (APY, transaction confirmation, balance changes) but formal output schema definitions are missing from source. LLMs cannot infer return field names, types, or structure.
Error handling lacks recovery guidance. No documentation of what errors these tools can raise (insufficient USDC, wallet not found, transaction failure) or how the agent should respond. Descriptions mention 'requires a transaction signature' but don't explain what happens if the signature is invalid or wallet is disconnected.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 64 | <=2025-11-25 | v2 |
| 2026-03-09 | D | 54 | 1.13.0+ | v1 |
Redeems CRT to receive a specific target amount of USDC. The server calculates the required CRT to burn based on the current price. Includes accrued yield. A 0.05% redemption fee applies. This action requires a transaction signature.
No confirmation or dry-run pattern for destructive/write operations. Tools like redeem_all_crt and issue_all_crt operate on entire wallet balances, but descriptions do not mention any confirmation step or ability to preview the transaction before signing.
Parameter 'walletStr' is vague. Description says 'Solana wallet address' but does not specify format (base58? length?), whether it must exist on-chain, or whether the agent should validate it. LLMs may pass invalid addresses without guidance.