An autonomous donor agent that evaluates charitable campaigns, makes donation decisions based on a persona-driven framework, and executes donations via MCP tools connected to a giving platform.
Server has 9 tools with complete schemas and descriptions, but quality is uneven. Tool names follow verb_noun convention (registerAgent, searchCampaigns, donate). Descriptions are present (avg ~120 chars) but lack LLM-optimized guidance on WHEN to use each tool vs alternatives. Parameters have types and descriptions, but many lack constraints (enums, ranges). Critical gap: confirmDonation and donate lack dry-run/confirmation patterns despite being IRREVERSIBLE/WRITE operations. Error handling is minimal, no recovery guidance or actionable error messages visible in schemas. Output schemas are not documented in the tool definitions.
Acknowledge the agent terms, privacy policy, and evidence access terms.
Confirm a donation by providing the transaction hash after the on-chain transfer has been executed.
Initiate a donation to a campaign with reasoning. Returns wallet address and payment details for the agent to execute the transfer.
Retrieve detailed information about a specific campaign including funding progress and evidence summary.
Retrieve the list of donations made to a specific campaign.
Retrieve evidence documents for a campaign. May require payment via X402 protocol if not eligible for free access.
Retrieve an overview of the giving platform with aggregate statistics.
Irreversible operations (donate, confirmDonation) lack dry-run or confirmation patterns. No mechanism to preview consequences before executing on-chain transfers.
Output schemas not documented in tool definitions. LLMs cannot infer what fields to expect from getPlatformOverview, searchCampaigns, getCampaign, etc. Blocks downstream tool chaining.
searchCampaigns accepts free-form 'status' and 'sort_by' parameters without enums. LLMs will hallucinate invalid values. No constraints on numeric ranges (limit, offset, max_funded_percent).
Tool descriptions lack WHEN-to-use guidance. No hints on tool selection strategy (e.g., 'Call searchCampaigns first to find campaigns, then getCampaign for details'). Descriptions are factual but not LLM-optimized.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2025-06-18+ | v2 |
Register a new agent with the platform, providing identity, mission, wallet address, and operator acknowledgement.
Search for campaigns on the platform with optional filters for category, country, status, funding level, verification, and keywords.
No error handling guidance in tool definitions. No recovery hints (e.g., 'If campaign not found, try searchCampaigns'). Error responses will not guide LLM on next steps.