|
| 1 | +{ |
| 2 | + "$schema": "https://raw.githubusercontent.com/anthropics/mcpb/main/schemas/mcpb-manifest-v0.4.schema.json", |
| 3 | + "manifest_version": "0.4", |
| 4 | + "name": "flutter-probe", |
| 5 | + "display_name": "FlutterProbe", |
| 6 | + "version": "@@VERSION@@", |
| 7 | + "description": "End-to-end testing for Flutter apps. Manage devices, author and run ProbeScript tests, capture screenshots, generate reports — directly from Claude Desktop.", |
| 8 | + "long_description": "FlutterProbe is a high-performance E2E testing framework for Flutter mobile apps. This extension exposes 18 tools to Claude:\n\n- **Device lifecycle** — list, start, and shut down iOS simulators and Android emulators.\n- **Test authoring** — read and write `.probe` files, dump the live widget tree, take screenshots.\n- **Execution** — run tests on a single device, in parallel, or as multi-device composite tests.\n- **Reporting** — read JSON results, generate HTML reports.\n- **Project management** — initialize a new project, record interactions, AI-generate tests from a prompt.\n\nAfter install, Claude can read your widget tree and write tests that target real selectors — no manual JSON config or PATH setup required.", |
| 9 | + "author": { |
| 10 | + "name": "Alpha Wave Systems", |
| 11 | + "url": "https://alphawavesystems.com" |
| 12 | + }, |
| 13 | + "homepage": "https://flutterprobe.dev", |
| 14 | + "repository": { |
| 15 | + "type": "git", |
| 16 | + "url": "https://github.com/AlphaWaveSystems/flutter-probe" |
| 17 | + }, |
| 18 | + "documentation": "https://flutterprobe.dev/tools/mcp/", |
| 19 | + "support": "https://github.com/AlphaWaveSystems/flutter-probe/issues", |
| 20 | + "license": "BSL-1.1", |
| 21 | + "keywords": ["flutter", "testing", "e2e", "probe", "mobile", "android", "ios"], |
| 22 | + "server": { |
| 23 | + "type": "binary", |
| 24 | + "entry_point": "@@ENTRY_POINT@@", |
| 25 | + "mcp_config": { |
| 26 | + "command": "@@COMMAND@@", |
| 27 | + "args": [], |
| 28 | + "env": { |
| 29 | + "PROBE_PROJECT_DIR": "${user_config.projectRoot}" |
| 30 | + } |
| 31 | + } |
| 32 | + }, |
| 33 | + "user_config": { |
| 34 | + "projectRoot": { |
| 35 | + "type": "directory", |
| 36 | + "title": "Flutter project directory", |
| 37 | + "description": "Path to the Flutter app you want to test. Should contain probe.yaml and a tests/ folder. Tools like run_tests and get_report resolve paths against this directory.", |
| 38 | + "default": "${HOME}", |
| 39 | + "required": true |
| 40 | + } |
| 41 | + }, |
| 42 | + "compatibility": { |
| 43 | + "platforms": ["@@PLATFORM@@"] |
| 44 | + }, |
| 45 | + "tools_generated": false, |
| 46 | + "tools": [ |
| 47 | + {"name": "list_devices", "description": "List connected/booted simulators, emulators, and physical devices."}, |
| 48 | + {"name": "list_simulators", "description": "List all iOS simulators (booted + shutdown)."}, |
| 49 | + {"name": "list_avds", "description": "List Android Virtual Device names."}, |
| 50 | + {"name": "start_device", "description": "Boot an Android emulator or iOS simulator."}, |
| 51 | + {"name": "shutdown_device", "description": "Shut down an iOS simulator or Android emulator."}, |
| 52 | + {"name": "get_widget_tree", "description": "Dump the live Flutter widget tree from the running app."}, |
| 53 | + {"name": "take_screenshot", "description": "Capture the current screen and return it as an image."}, |
| 54 | + {"name": "read_test", "description": "Read the contents of a .probe test file."}, |
| 55 | + {"name": "write_test", "description": "Create or overwrite a .probe file. Validates ProbeScript syntax before writing."}, |
| 56 | + {"name": "run_script", "description": "Execute inline ProbeScript without creating a file."}, |
| 57 | + {"name": "run_tests", "description": "Run .probe test files. Supports composite multi-device tests."}, |
| 58 | + {"name": "list_files", "description": "List all .probe files in a directory."}, |
| 59 | + {"name": "lint", "description": "Validate .probe files for syntax errors."}, |
| 60 | + {"name": "get_report", "description": "Read the most recently modified JSON test run report."}, |
| 61 | + {"name": "generate_report", "description": "Generate a standalone HTML report from a JSON results file."}, |
| 62 | + {"name": "generate_test", "description": "AI-generate a .probe test from a natural language prompt."}, |
| 63 | + {"name": "init_project", "description": "Scaffold a new probe.yaml and tests/ directory."}, |
| 64 | + {"name": "record", "description": "Record user interactions and generate a .probe file."} |
| 65 | + ] |
| 66 | +} |
0 commit comments