⚠ MVP PreviewReport a Bug

Troubleshooting

Most MCP issues fall into one of five buckets: bad credentials, disabled accounts, rate limits, schema mismatches, or client config problems.

Common errors

| Error | Where it appears | Meaning | Fix | | --- | --- | --- | --- | | 401 invalid_key / 401 key_invalid | Initial HTTP request to /v1/mcp | The API key is missing, revoked, or unknown | Check that the client is sending the right key in X-API-Key | | 403 account_disabled | Initial HTTP request to /v1/mcp | The FinanceDataAPI user account behind the key is disabled | Re-enable the account in FinanceDataAPI before retrying | | 429 rate_limited / Rate limit exceeded | Tool call | The per-key token bucket is empty | Wait for the Retry-After period, then retry | | 429 Monthly quota exhausted | Tool call | A free-tier monthly quota has been exhausted | Wait for the monthly reset or upgrade the account plan | | 400 schema_mismatch / invalid params | Tool call or HTTP validation | The arguments do not match the tool input schema | Re-check required fields, date formats, arrays, and nested object shapes |

Claude Desktop: "No tools are showing up"

Work through this exact checklist:

  1. Confirm the config points to .../v1/mcp, not the REST API root.
  2. Confirm the X-API-Key header is present and contains your raw FinanceDataAPI API key.
  3. Fully quit Claude Desktop and reopen it.
  4. If you changed network or VPN settings, verify the FinanceDataAPI host is reachable.
  5. Try a very direct prompt such as "List the available tools from FinanceDataAPI." That gives the client a strong reason to refresh tool discovery.

Schema mismatch examples

These shapes are invalid:

{ "name": "get_rsi", "arguments": { "symbol": "AAPL" } }

get_rsi also requires start_date and end_date.

{ "name": "run_signals", "arguments": { "symbols": "AAPL", "signal_names": "RSI" } }

run_signals expects symbols and signal_names to be arrays.

Backtest requests stuck in pending

If the agent keeps polling:

  • prefer wait_for_backtest over repeated get_backtest
  • keep the timeout realistic for the requested date range
  • verify that the symbol list and entry signal names are valid before resubmitting