Remote MCP server exposing search + execute over a unified Stellar service catalog (Cloudflare Workers + Dynamic Worker isolates).
Two tools with comprehensive schemas and detailed descriptions. Both tools have well-structured input parameters with type definitions, enums, and constraints. Descriptions are substantive (200+ chars) and explain purpose, parameters, and behavior. However, output schemas are not explicitly documented in the visible code, and error handling guidance is minimal. Tool composition is sound: search and execute are complementary, not redundant. Security considerations (sandbox isolation, read-only search) are evident but not formally declared in tool metadata.
Run Stellar research code in a Dynamic Worker sandbox. The runner executes LLM JavaScript with access to codemode.spec(), codemode.search(), codemode.catalog(), and codemode.skill.run()/codemode.skill.read() for in-execute discovery. Errors are returned as structured data, never thrown across the tool boundary. Code length is bounded by model policy.
Discover Stellar tools and skills via ranked search over the generated catalog. Returns operation hits with rendered TypeScript signatures callable from execute, recovery candidates for prior failed operations, and advisory wider candidates. Supports filtering by kind (operation or skill), service namespace, and retrieval reason (empty, weak, adjacent, ambiguous, partial).
Output schemas not documented. Tool descriptions explain inputs but do not specify what fields/structure the response contains. LLMs cannot plan downstream calls or extract required data without knowing response shape.
Error handling lacks recovery guidance. No description of how LLMs should respond to failures (e.g., 'If search returns no hits, try a broader query' or 'If execute times out, reduce code length'). Agents cannot self-correct without explicit guidance.
Tool permissions not declared. Neither tool declares required scopes (e.g., 'read:catalog', 'execute:sandbox'). This prevents least-privilege agent configuration and audit clarity.
execute tool name is generic. 'execute' alone does not convey that it runs JavaScript in a sandbox. Rename to 'execute_code' or 'run_javascript' to clarify intent and distinguish from other execution tools.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | B | 72 | 2026-07-28+ | v2 |
search parameter 'reason' enum values lack descriptions. LLMs must infer what 'empty', 'weak', 'adjacent', 'ambiguous', 'partial' mean from context alone. Add per-value guidance in the parameter description.