MCP server that provides live data access from multiple sources including search, finance, crypto, ecommerce, and social media
This server has ONE tool: 'execute_skill_action'. The tool definition is INFERRED from a string in the supported_tools list, NOT explicitly registered with a schema. No input schema is visible in the source code. The description is a single sentence (59 chars) explaining it executes a skill action for the live data gateway, but provides no guidance on what parameters it accepts, what the action names are, what data it returns, or when to use it. The mcp_server.py file only prints a JSON blob declaring the tool exists, it does not implement the MCP protocol for tool invocation. The client.py AgentKeyLiveDataGatewayClient class has a fetch() method, but there is no bridge connecting MCP tool calls to this client. The server is non-functional as an MCP server: it cannot receive tool call requests, execute them, or return results. It is a skeleton outline.
Execute skill action for live data gateway (declared in mcp_server.py supported_tools list)
Tool definition is inferred, not explicitly registered with schema. Only a string 'execute_skill_action' appears in the supported_tools list. No JSON Schema, no parameter definitions, no input validation visible anywhere in the source.
No input schema exists. Tool accepts unknown parameters (possibly 'action' and 'query'?) but this is guessed from client.py, the MCP server provides no schema definition.
Tool description is 59 characters: 'Execute skill action for live data gateway (declared in mcp_server.py supported_tools list)'. This is below the 100-char minimum actionable threshold and provides no context on parameters, return format, prerequisites, or use cases.
No output schema documented. The client.fetch() method returns {results, source, latency_ms}, but the MCP server does not declare this structure, field types, or whether results are always an array.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 13 | 2026-07-28+ | v2 |
MCP protocol not implemented. The run_mcp_server() function only prints a static JSON blob once and exits. It does not enter a request-response loop, does not listen for tool_call requests, and does not implement the MCP transport protocol (no JSON-RPC handling, no request/response envelope processing).
No parameter descriptions. If the tool accepts 'action' and 'query' parameters (inferred from client.py), neither has a description explaining what action names are valid, what query strings do, or any constraints.
No error handling or recovery guidance. If the tool fails (unknown action, invalid query format, data source unavailable), the LLM has no way to understand what went wrong or what to do next.
Naming: 'execute_skill_action' is vague. Does it search data? Fetch real-time quotes? Subscribe to updates? A verb like 'search_live_data' or 'fetch_market_data' would be clearer.
No pagination support declared. The client.fetch() returns a filtered list, but there is no limit parameter, no offset/page parameter, and no 'total' or 'next_cursor' field in the response. Large datasets will blow context windows.