MCP adapter that bridges BubuStack Story steps to MCP servers via two transport modes: streamable_http (external MCP server) or stdio (Kubernetes runner Pod)
This adapter server exposes 6 tools that proxy calls to a connected MCP server. Tool names follow verb_noun convention (listTools, callTool, readResource, getPrompt, reconcile), which is good. However, descriptions are minimal (10-50 chars), parameter descriptions are sparse or missing, and input schemas lack proper type definitions and constraints. The callTool and reconcile tools have the most critical gaps: callTool accepts arbitrary 'arguments' as an untyped object with no validation guidance, and reconcile's boolean parameter lacks context. No output schemas are documented. Error handling is not visible in the provided code. The adapter pattern itself is sound, but the tool definitions fall short of production quality.
Execute a tool on the connected MCP server with optional retry logic for transient errors
Retrieve a prompt template from the connected MCP server by name
List all available resources from the connected MCP server
List all available MCP tools from the connected MCP server
Read a specific resource from the connected MCP server by URI
No-op reconciliation action for Kubernetes resource management
callTool accepts 'arguments' as an untyped object with no schema, validation rules, or description of expected structure. LLMs cannot infer what keys/values are valid.
Tool descriptions are 10 - 50 characters, below the 50 - 200 char baseline for LLM-optimized descriptions. They lack context on WHEN to use each tool and what it returns.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., tool IDs from listTools, resource URIs from listResources).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |
reconcile tool's boolean 'reconcile' parameter has no description explaining what reconciliation does, when to trigger it, or what side effects occur.
No error handling guidance visible. Tools do not document retryable vs. fatal errors, or provide actionable recovery steps for LLMs.