Local MCP server for complete App Store and Google Play screenshot sets: multi-target media, composition, background images and generated patterns, localization, preflight, brand kits, custom outputs, and release updates.
Truepane MCP has 21 well-named tools with consistent verb_noun patterns (create_project, set_style, render, etc.). All tools have descriptions (avg ~120 chars, within baseline 34-392 range). Input schemas are present and mostly complete with type definitions and enums. However, output schemas are NOT documented, critical gap for LLM planning. Many parameter descriptions lack actionable constraints (ranges, formats, dependencies). Error handling and recovery guidance are absent from tool definitions. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear WRITE vs READ_ONLY risk classifications in metadata.
Add a new slide to a project with title, subhead, and optional screenshot image.
Import multiple slides from a CSV or structured data format. Maps columns to slide fields.
Compare the current project state against a release baseline to identify changes.
Create a new screenshot project with a given name. Returns the project ID and initial state.
Create a baseline snapshot of the current project for release comparison and tracking.
Remove a slide from a project by index.
Export a project as JSON for backup or sharing. Returns the complete project state as a JSON string.
Output schemas not documented. Tools return data but LLMs cannot plan downstream calls without knowing response structure (fields, types, pagination). Critical for tool chaining.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear WRITE vs READ_ONLY risk metadata. LLMs cannot distinguish safe from destructive operations without explicit hints.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Generate a background style from a text prompt using an LLM service.
Retrieve the full state of a project by ID.
List all available options for platforms, fonts, shapes, fills, ring layouts, composition presets, and output formats. Returns reference data for configuring projects.
List all saved projects with their metadata (name, last modified, slide count).
Load a project from exported JSON. Creates or updates a project from a JSON export.
Render the project to PNG images for all configured platforms. Returns preview data URLs and file paths.
Upload and set a background image for the project. Accepts PNG/JPEG files and stores them content-addressed.
Upload and apply a brand kit (colors, fonts, logos) to a project. Accepts ZIP files with brand assets.
Update the composition (text and device placement) for a slide or globally.
Configure custom output dimensions and format for a project.
Update the global background style for a project (fill, shape, colors, gradients, opacity, density, seed, ring layout).
Translate slide titles and subheads to a target language using an LLM service.
Update a slide's title, subhead, screenshot, or composition within a project.
Run preflight checks on a project. Returns validation issues and warnings.
Parameter descriptions lack actionable constraints. E.g., 'slideIndex' has no bounds; 'density' says '1..8' in schema but description is vague. Constraints should be in description text for LLM readability.
No error handling or recovery guidance in tool definitions. Tools like delete_slide, render, and load_project offer no guidance on what to do if they fail (retry? ask user? fatal?).
Complex nested schemas (set_style.background, set_composition.composition) lack inline documentation of sub-fields. LLMs struggle to construct deeply nested payloads without field-level descriptions.