Are you the author? Sign in to claim
A complete, local Model Context Protocol (MCP) server written in pure Dart to automate, audit, and optimize Flutter proj
A complete, local Model Context Protocol (MCP) server written in pure Dart to automate, audit, and optimize Flutter project assets and localization structure. Connect it to AI clients like Cursor or Claude Desktop to let the AI interact directly with your project's assets and translation structures.
AssetGenie exposes five powerful tools to the LLM context:
assetgenie_audit_healthScans the project's pubspec.yaml and physical folders to identify asset anomalies:
pubspec.yaml.pubspec.yaml (undeclared assets).lib/ source code.assetgenie_sync_localizationSafely updates or injects translation keys into local Application Resource Bundle (.arb) files:
@key) next to their respective properties.assetgenie_generate_constantsAuto-generates clean, modern Dart constants from physical asset files:
camelCase variable names.Assets inside lib/generated/ to prevent typos and hardcoded string values.assetgenie_audit_localizationAudits the project's ARB localization files to ensure quality and consistency:
{name}) match between translations to prevent runtime formatting crashes.lib/ to identify unused translation keys.assetgenie_app_harnessConnects to a running Flutter application via its Dart VM Service to inspect layout, capture state, or stream logs:
Ensure you have Dart SDK installed on your system.
Clone the repository:
git clone https://github.com/aditzeb/AssetGenie.git
cd AssetGenie
Download package dependencies:
dart pub get
Run the verification/tests to make sure everything is ready:
dart test test/assetgenie_test.dart
To use AssetGenie inside your favorite AI assistant or development environment, configure it as a local stdio MCP server.
Antigravity automatically discovers MCP servers configured in its global MCP configuration file:
C:\Users\<Your-Username>\.gemini\antigravity-ide\mcp_config.json~/.gemini/antigravity-ide/mcp_config.jsonAdd the following under the "mcpServers" object:
{
"mcpServers": {
"assetgenie": {
"command": "dart",
"args": [
"run",
"C:\\path\\to\\AssetGenie\\bin\\main.dart"
]
}
}
}
To bring AssetGenie's capabilities into IntelliJ IDEA or Android Studio, you can use the Continue plugin or the Cline / Roo Cline plugins.
Add the following to your global Continue configuration (~/.continue/config.yaml or C:\Users\<Your-Username>\.continue\config.yaml) under the mcpServers block:
mcpServers:
- name: assetgenie
type: stdio
command: dart
args:
- "run"
- "C:\\path\\to\\AssetGenie\\bin\\main.dart"
[!NOTE] Make sure to switch Continue to Agent Mode in your chat panel to enable tool execution.
Add the following to your settings file (roo_cline_mcp_settings.json):
{
"mcpServers": {
"assetgenie": {
"command": "dart",
"args": [
"run",
"C:\\path\\to\\AssetGenie\\bin\\main.dart"
]
}
}
}
You can use the Continue, Cline, or Roo Cline extensions in VS Code by applying the same configurations as JetBrains IDEs.
C:\Users\<Your-Username>\AppData\Roaming\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json (Windows) or ~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json (macOS).Add the following to your claude_desktop_config.json configuration file:
C:\Users\<Your-Username>\AppData\Roaming\Claude\claude_desktop_config.json~/Library/Application Support/Claude/claude_desktop_config.json{
"mcpServers": {
"assetgenie": {
"command": "dart",
"args": [
"run",
"C:\\path\\to\\AssetGenie\\bin\\main.dart"
]
}
}
}
Go to Settings -> Features -> MCP, click Add New MCP Server:
AssetGeniestdiodart run C:\path\to\AssetGenie\bin\main.dartassetgenie_audit_healthproject_path (string, required): Absolute path to the Flutter root directory.max_size_kb (number, optional): Size threshold in KB (default: 500).assetgenie_sync_localizationproject_path (string, required): Absolute path to the Flutter root directory.locale (string, required): Target language code (e.g. 'en', 'de').kv_pairs (object, required): A JSON map of translation pairs (e.g., {"loginButton": "Sign In"}).assetgenie_generate_constantsproject_path (string, required): Absolute path to the Flutter root directory.output_filename (string, optional): Target file name (default: 'generated_assets.dart').assetgenie_audit_localizationproject_path (string, required): Absolute path to the Flutter root directory.primary_locale (string, optional): The base locale to compare other locales against (default: 'en').unused_keys_check (boolean, optional): Whether to check for unused keys in lib/**/*.dart (default: true).assetgenie_app_harnessvm_service_uri (string, required): The Dart VM Service WebSocket or HTTP URI (e.g., http://127.0.0.1:8181/T9n3k_04gA=/).action (string, required): The instrumentation action to perform on the running Flutter application ('get_widget_tree', 'capture_screenshot', 'get_logs').This project is open-source and licensed under the MIT License. See LICENSE for more details.
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
Google's universal MCP server supporting PostgreSQL, MySQL, MongoDB, Redis, and 10+ databases
Official GitHub integration for repos, issues, PRs, and CI/CD workflows