MCP server for Flutter project asset and localization management, providing tools to audit assets, generate constants, manage translations, and inspect running Flutter applications
AssetGenie has 5 tools with complete schemas and descriptions, but significant quality gaps limit production readiness. Tool names lack clear action verbs (audit_health, sync_localization, generate_constants are acceptable but generic). Descriptions are present (avg ~150 chars) but lack actionable context for LLM selection. Parameter descriptions exist but are sparse, many lack format constraints, ranges, or dependency documentation. No output schemas documented. Error handling is minimal; handlers return generic TextContent without structured recovery guidance. The app_harness tool's handler code is incomplete in the provided source, making full assessment impossible.
Connects to a running Flutter application via its VM Service to inspect widgets, retrieve console logs, or capture live UI screenshots.
Scans the target Flutter project's pubspec.yaml and physical assets directories to identify unused images, missing file references, or excessively large files.
Scans the target Flutter project's ARB localization files to identify missing translations, extra keys, mismatched placeholders, or unused translation keys.
Scans the physical assets directory and auto-generates a clean, modern Dart class containing string constants inside lib/generated/.
Directly updates or injects missing translation keys into local Application Resource Bundle (.arb) files, sorted alphabetically.
No output schemas documented. LLMs cannot plan downstream calls or extract structured data from tool responses. All 5 tools lack documented return types.
Parameter descriptions lack format constraints and ranges. E.g., 'max_size_kb' has no min/max bounds; 'locale' lacks format pattern (should be BCP 47); 'kv_pairs' lacks structure documentation (object with string keys/values?).
Error handling is generic. Handler returns TextContent with isError=true but no recovery guidance. LLMs cannot determine if errors are retryable, user-fixable, or fatal.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | 2026-07-28+ | v2 |
Tool names are generic. 'audit_health' and 'audit_localization' do not clearly distinguish their purposes. 'sync_localization' is ambiguous, does it merge, overwrite, or validate? Rename to 'merge_translations', 'validate_translations', or 'update_translations' for clarity.
app_harness handler code is incomplete in source. Cannot verify full implementation, parameter validation, or error handling.