Gradio-based MCP server for Yodlee API integration that exposes banking data as MCP tools for Claude Desktop
Server has 7 tools with complete descriptions (194-char baseline met) and clear verb-noun naming. All tools have input schemas with type definitions and parameter descriptions. However, output schemas are not formally documented, responses are JSON strings without declared field structures. Error handling is present but generic. No tool annotations (readOnlyHint/destructiveHint). Parameter descriptions lack format constraints (e.g., date format stated in description but not as regex/pattern). Missing pagination support on list_available_users despite returning arrays. Schemas are visible and well-formed, but output documentation is weak.
Generate audio spending summary using ElevenLabs Text-to-Speech. Converts spending data into a natural language script and generates audio. In demo mode (no ELEVENLABS_API_KEY), returns a pre-generated sample audio file.
Get all linked bank accounts, credit cards, investments, and other financial accounts. Use this tool to see what accounts the user has connected and their current balances.
Get the currently active Yodlee user account for this session. Use this tool to check which user account is being used for financial data queries. The active user persists throughout the session until explicitly changed with switch_user().
Get spending by category for the user's accounts. Analyzes expense transactions and groups them by category to show spending patterns.
Get transaction history for the user's accounts. Note: Yodlee sandbox uses historical test data from 2013-2014. The API has a maximum 2-year date window constraint.
Output schemas not formally documented. Tools return JSON strings but field structures, types, and required fields are not declared. LLMs cannot reliably extract nested data or plan downstream calls.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). All tools are marked READ_ONLY in metadata but MCP spec annotations are absent. Agents cannot distinguish safe vs. risky operations.
Date parameters lack format constraints. Descriptions state 'YYYY-MM-DD format' but no regex pattern or JSON Schema format field enforces it. LLMs may pass invalid dates.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
List all available Yodlee test user accounts. Use this tool to discover which user accounts are available for querying financial data. Each user account has different linked bank accounts, transactions, and spending patterns.
Switch to a different Yodlee user account for this session. After switching, all subsequent tool calls (get_accounts, get_transactions, get_spending_summary) will use the new user account until switched again.
No pagination support on list_available_users. Tool returns all users in a single response without limit/offset or next_cursor. If user list grows, response bloats context window.
Error responses are generic. format_api_error() returns structured errors but lacks recovery guidance. E.g., AUTH_TOKEN_INVALID suggests 'restart the Gradio app' but MCP agents cannot restart, should suggest switch_user() or list_available_users().