# flutter-skill

Hooks an AI agent into a running app so it can see the screen, tap buttons and type text. You describe the test in plain words.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 395
- Author: ai-dashboad
- License: MIT · policy=link-only · description only; the file stays with the author
- Source: https://github.com/ai-dashboad/flutter-skill
- Updated: 2026-09-01
- HTML: https://affpapa.org/en/nevibecode/mcp/flutter-skill

## What it does

flutter-skill is an MCP server that opens a running app to an AI agent. The agent pulls an accessibility tree, takes screenshots, taps elements, types text, presses keys and runs JavaScript. No Page Objects, no XPath, no selectors that break on every layout change.

Install it globally with npm, then point your MCP client at it. Flutter apps need two lines: import `package:flutter_skill/flutter_skill.dart` and call `FlutterSkillBinding.ensureInitialized()` inside `main()`. There is also an HTTP mode — `flutter-skill serve https://your-app.com` starts a server, and CLI commands such as `nav`, `snap`, `screenshot`, `tap` and `type` act as a client. That path suits CI pipelines and scripts.

In `server` mode Chrome launches on its own; in `serve` mode the server attaches to a Chrome you already have open. No Chrome on the machine, or a non-standard launch setup, and the automatic start fails — check that first before blaming the test.

## Requirements
- Needs: Node.js (commands run via npx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add flutter-skill -- npx -y flutter-skill
```

### Codex

**Platform CLI**
```bash
codex mcp add flutter-skill -- npx -y flutter-skill
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "flutter-skill": {
            "command": "npx",
            "args": [
                "-y",
                "flutter-skill"
            ]
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "flutter-skill": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "flutter-skill"
            ]
        }
    }
}
```

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add flutter-skill npx -y flutter-skill
```

## When to use it
- walk every screen of an app and list the bugs
- run a checkout with an empty cart
- fill in a signup form and submit it
- capture a screenshot at a specific moment
- run JavaScript and read a value back from the DOM

## Example prompts
- Launch my app, go through every screen and report any bugs you find
- Open the cart empty, add three items and finish the purchase
- Take an accessibility snapshot of the home page and show me which buttons it has

## Similar
- [Front-End Checklist](https://affpapa.org/en/nevibecode/mcp/front-end-checklist.md) — MCP server · ★ 74559
- [Keploy](https://affpapa.org/en/nevibecode/mcp/keploy.md) — MCP server · ★ 18727
- [SeleniumBase MCP](https://affpapa.org/en/nevibecode/mcp/seleniumbase-mcp.md) — MCP server · ★ 13169
- [mobile-mcp](https://affpapa.org/en/nevibecode/mcp/mobile-mcp.md) — MCP server · ★ 9946
- [e2e](https://affpapa.org/en/nevibecode/mcp/e2e.md) — MCP server · ★ 11912
- [mockserver](https://affpapa.org/en/nevibecode/mcp/mockserver.md) — MCP server · ★ 4996

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
