AI-powered cryptocurrency trading terminal using LunarCrush API and Google Gemini for social intelligence and market analysis
This server has 2 tools with minimal definition quality. Both tools have descriptions but lack critical parameter documentation, proper schema definitions, and error handling guidance. Tool names are generic (Cryptocurrencies, Topic_Time_Series) without action verbs. Input schemas show empty 'required' arrays despite parameters being present (Topic_Time_Series has 'symbol' and 'name' params but neither is marked required). No output schemas are documented. The Cryptocurrencies tool has an empty input schema with no parameters at all, making its purpose ambiguous to an LLM. Error handling is absent, no recovery guidance, retryability classification, or validation messages. The server is built on Remix/Express HTTP, which is good for transport, but the tool definitions themselves are severely underspecified.
Retrieves cryptocurrency data with no limit, sorted by market cap from LunarCrush API
Retrieves one week price historical time series data for charting purposes with price metrics from LunarCrush API
Tool 'Cryptocurrencies' has an empty input schema with no parameters. This makes it impossible for an LLM to provide any input or understand what the tool does beyond the brief description. Input schemas must define at least basic parameters or explicitly document that no input is required.
Tool names lack action verbs. 'Cryptocurrencies' and 'Topic_Time_Series' do not start with verbs like 'get_', 'list_', 'search_', or 'retrieve_'. LLMs rely on verb-prefixed names to infer intent. 'Cryptocurrencies' could mean 'list cryptocurrencies', 'get cryptocurrency details', or 'search cryptocurrencies', the name alone is ambiguous.
Tool 'Topic_Time_Series' has parameters 'symbol' and 'name' but neither is marked as required, despite both being shown in the input schema properties. The 'required' array is empty. This creates ambiguity: can the tool be called with neither parameter? With only one? The schema contract is broken.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 32 | 2025-06-18+ | v2 |
| 2026-03-09 | F | 34 | - | v1 |
No output schemas are documented for any tool. LLMs cannot plan downstream tool calls or extract relevant data without knowing what fields to expect. Both tools return LunarCrush API responses, but the structure is not documented.
No error handling or recovery guidance. If an API call fails (invalid symbol, rate limit, network error), there is no indication of what the LLM should do next. No categorization of errors as retryable, user-fixable, or fatal.
Parameter descriptions for 'symbol' and 'name' in Topic_Time_Series are minimal (e.g., 'Cryptocurrency symbol (e.g., BTC, ETH)' and 'Cryptocurrency name (e.g., Bitcoin, Ethereum)'). These include example values, which LLMs may reuse literally. No constraints (enums, patterns, length limits) are defined. Should use enum constraints instead.
Tool 'Cryptocurrencies' description states 'Retrieves cryptocurrency data with no limit, sorted by market cap from LunarCrush API'. The phrase 'with no limit' is ambiguous and potentially misleading, it likely means 'without a limit on the number of results' but could be misinterpreted. Also, no limit on results risks exhausting context windows. Should cap results at a reasonable limit (20 - 50) and document pagination support.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) are present, despite both tools being marked as READ_ONLY in metadata. These hints should be included in the tool definition for explicit LLM guidance on tool safety and retry behavior.