Multi-service MCP proxy server integrating Habitify, Strava, Hevy, and other fitness/accountability services with OAuth token management and automatic refresh
This server acts as a proxy to an upstream Habitify MCP server. Only 2 tools are defined: list_tools (READ_ONLY) and call_tool (WRITE). Both have minimal descriptions and the call_tool schema is extremely generic. list_tools lacks any input schema documentation. call_tool's 'arguments' parameter is typed as 'object' with no structure, validation, or guidance on what fields are valid. No output schemas are documented for either tool. Error handling is absent, no guidance on recovery, retryability, or what failures mean. The descriptions are under 100 chars and lack context on when to use each tool or what they return. This is a thin wrapper with no agent-optimization.
Call any tool from the upstream Habitify MCP server with automatic OAuth token refresh and retry logic
Discover and list all available tools from the upstream Habitify MCP server
call_tool accepts 'arguments' as a bare object with no schema, validation, or documentation of valid fields. LLMs cannot infer what parameters the upstream tool expects.
No output schemas documented for either tool. LLMs cannot plan downstream calls or extract required fields (e.g., tool names from list_tools, result structure from call_tool).
list_tools has no input schema visible in source. Cannot verify parameter types or constraints.
Descriptions are generic and under 100 chars. 'Discover and list all available tools' does not explain when to call this vs call_tool, or what structure is returned.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 32 | <=2025-11-25 | v2 |
No error handling guidance. If call_tool fails (invalid tool name, auth error, timeout), LLM has no recovery path or retry strategy.