MCP server for managing subscriptions and files with rendering, conversion, and processing capabilities
Sandrone has 11 tools with basic schemas and descriptions, but significant gaps limit production readiness. All tools have descriptions (10-100 chars, mostly adequate), and input schemas are present with type definitions. However, output schemas are entirely undocumented, LLMs cannot predict what fields to expect from responses, breaking tool chaining. Parameter descriptions are minimal (5-30 chars), lacking format constraints, ranges, or dependency hints. Error handling is absent from tool definitions. Tool naming follows verb_noun convention (get_, put_, delete_, list_) but lacks clarity on mutual exclusivity and parameter relationships. No evidence of pagination metadata (total_count, next_cursor) in list_resources despite cursor support. Destructive tools (delete_file, delete_subscription) lack confirmation or dry-run patterns.
Convert subscription or file content between different formats.
Delete a stored file by name.
Delete a stored subscription by name.
Get a stored file as rendered content, source content, or a FileSpec.
Get traffic statistics for a stored subscription.
Inspect the lightweight runtime summary and discover capability and schema catalogs.
List current stored subscription and file summaries with restart-stable cursor pagination.
Output schemas completely undocumented. LLMs cannot predict response structure, breaking tool chaining and forcing agents to guess field names for downstream calls.
Parameter descriptions are minimal (5-30 chars) and lack format constraints, ranges, or enums. E.g., 'mode' in sandrone_get_file accepts 'render|source|spec' but no enum constraint; 'limit' in sandrone_list_resources lacks min/max bounds.
Destructive tools (sandrone_delete_file, sandrone_delete_subscription) lack confirmation, dry-run, or recovery guidance. No error handling documented to guide LLM recovery.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2025-06-18+ | v2 |
Preview a subscription without storing it, showing rendered output.
Create or update a stored file with specification and optional processors.
Create or update a stored subscription.
Render a stored subscription with specified format.
sandrone_list_resources accepts 'cursor' and 'limit' but no documentation of pagination metadata (total_count, next_cursor, has_more) in response. LLMs cannot determine when to stop paginating.
Parameter relationships undocumented. E.g., sandrone_put_file has 'source' and 'config' as objects but no guidance on required vs optional fields, mutual exclusivity, or valid combinations.