npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

flutter-check-design

v0.0.6

Published

MCP server for Flutter iOS simulator design checking

Readme

Flutter Check Design MCP Server

An MCP (Model Context Protocol) server that enables LLMs to build Flutter iOS apps, run them on simulators, and capture screenshots for design verification.

Features

  • Build Flutter iOS applications
  • Discover and manage iOS simulators
  • Install and launch Flutter apps on simulators
  • Capture screenshots of running applications
  • Complete automated workflow from build to screenshot

Prerequisites

  • Node.js 18+
  • Flutter SDK installed and configured
  • Xcode and iOS Simulator
  • macOS (required for iOS simulator)

Installation

  1. Install dependencies:
npm install
  1. Make the script executable:
chmod +x index.js

Usage

As MCP Server

Add to your MCP client configuration:

{
  "mcpServers": {
    "flutter-design-checker": {
      "command": "node",
      "args": ["/path/to/flutter-check-design/index.js"]
    }
  }
}

Available Tools

flutter_design_check_workflow

Complete automated workflow - builds app, starts simulator, installs app, launches it, and takes screenshot.

Parameters:

  • device_id (optional): iOS simulator device ID
  • project_path (optional): Path to Flutter project (defaults to current directory)
  • screenshot_filename (optional): Custom screenshot filename

flutter_build_ios

Builds Flutter iOS app for simulator.

Parameters:

  • project_path (optional): Path to Flutter project

get_flutter_devices

Lists all available Flutter devices (simulators and physical devices).

start_simulator

Starts an iOS simulator and waits for it to boot.

Parameters:

  • device_id (required): Device ID of simulator to start

install_flutter_app

Installs Flutter app on specified device.

Parameters:

  • device_id (required): Target device ID
  • project_path (optional): Path to Flutter project

launch_flutter_app

Launches the Flutter app using its bundle ID.

Parameters:

  • device_id (required): Target device ID
  • project_path (optional): Path to Flutter project

take_simulator_screenshot

Captures screenshot of the iOS simulator.

Parameters:

  • filename (optional): Screenshot filename
  • output_path (optional): Directory to save screenshot

Example Usage

// Complete workflow - most common usage
await mcp.callTool('flutter_design_check_workflow', {
  project_path: './my_flutter_app',
  screenshot_filename: 'design_check.png'
});

// Step by step
await mcp.callTool('flutter_build_ios', { project_path: './my_flutter_app' });
await mcp.callTool('get_flutter_devices', {});
await mcp.callTool('start_simulator', { device_id: 'ABCD1234-1234-1234-1234-123456789ABC' });
await mcp.callTool('install_flutter_app', {
  device_id: 'ABCD1234-1234-1234-1234-123456789ABC',
  project_path: './my_flutter_app'
});
await mcp.callTool('launch_flutter_app', {
  device_id: 'ABCD1234-1234-1234-1234-123456789ABC',
  project_path: './my_flutter_app'
});
await mcp.callTool('take_simulator_screenshot', {
  filename: 'app_screenshot.png'
});

How It Works

The server executes the following workflow:

  1. Build: Runs flutter build ios to create iOS simulator build
  2. Device Discovery: Uses flutter devices to find available iOS simulators
  3. Simulator Start: Opens Simulator app and boots the specified device with xcrun simctl boot
  4. Wait for Boot: Polls xcrun simctl list until device shows "Booted" status
  5. Install: Uses flutter install -d <device_id> to install the app
  6. Launch: Extracts bundle ID from Info.plist and launches with xcrun simctl launch
  7. Screenshot: Captures screen with xcrun simctl io booted screenshot

Error Handling

The server includes comprehensive error handling and will provide detailed error messages if any step fails. Common issues:

  • Flutter not installed or not in PATH
  • Xcode/simulator not installed
  • Device ID not found
  • App build failures
  • Simulator boot timeouts (30 second timeout)

License

MIT