Offers Dart language documentation, enabling AI to generate accurate Dart code with proper syntax and current API methods
Provides real-time Flutter documentation and API information to AI assistants, ensuring accurate code generation with up-to-date widget information, constructor parameters, and API methods
Fetches package information from pub.dev, the Dart and Flutter package repository, providing README files and documentation for over 50,000 packages on demand
Flutter MCP: Give Your AI Real-Time Flutter Superpowers 🚀
A real-time MCP server providing Flutter/Dart documentation and pub.dev package info to AI assistants — supports ALL 50,000+ packages on demand.
Stop fighting with hallucinated widgets and deprecated APIs. Flutter MCP connects your AI assistant to real-time documentation, ensuring the Flutter code it generates actually works.
🎬 Demo
See it in action: From flutter-mcp start
to getting real-time Flutter documentation in 20 seconds.
The Problem: Your AI is Stuck in 2021
😡 Without Flutter MCP
Result: Deprecation warnings, confused debugging, time wasted on Google
✅ With Flutter MCP
Result: Code works immediately, you ship faster
🚀 Quick Start
Installation
Install directly from GitHub:
That's it! No Redis, no configuration, no complexity. The server is now running with built-in caching.
📢 For MCP SuperAssistant Users: Use
flutter-mcp start --transport http --port 8000
to enable HTTP transport!
Alternative Options
Docker images will be available once the project is published to Docker Hub/ghcr.io.
NPM package will be available once published to npm registry.
No Python, no pip, just download and run!
Requirements
- Python 3.10+ (for pip install)
- That's it! Built-in SQLite caching means no external dependencies
2. Add to Your AI Assistant
Edit ~/Library/Application Support/Claude/claude_desktop_config.json
:
Or install from source:
Replace /path/to/flutter-mcp
with your actual installation path.
Restart Claude Desktop after saving.
Option 1: Install from GitHub
Claude Code automatically manages MCP servers. Install the package:
Option 2: Per-Project Configuration (Recommended for Flutter Projects)
To enable Flutter MCP specifically for your Flutter project:
- First, install Flutter MCP:
- Create a
.mcp.json
file in your Flutter project root with the full path to flutter-mcp:
Replace /path/to/flutter-mcp
with the actual path where you cloned the repository.
Alternative: If you installed via pip globally:
- Run Claude Code in your project directory:
Important: Don't use the --dangerously-skip-permissions
flag when running Claude Code, as it prevents MCP servers from being loaded.
With this setup, Flutter MCP will automatically provide documentation for all packages in your pubspec.yaml
whenever you use Claude Code in this project.
In Settings → MCP Servers, add:
MCP SuperAssistant requires HTTP transport. Configure it with:
- Start the server with HTTP transport:
- In MCP SuperAssistant, add a new server:
- Name: Flutter MCP
- URL:
http://localhost:8000
- Type: HTTP MCP Server
- The server will now be available in your MCP SuperAssistant client.
In your .continuerc.json
:
3. Start the Server (Optional for Claude Desktop)
Transport Options:
--transport stdio
(default) - For Claude Desktop and most MCP clients--transport http
- For HTTP-based clients like MCP SuperAssistant--transport sse
- For Server-Sent Events based clients--port PORT
- Port for HTTP/SSE transport (default: 8000)--host HOST
- Host to bind to (default: 127.0.0.1)
Note: When configured in Claude Desktop, the server starts automatically using STDIO transport.
3. Use It!
Mention any Flutter/Dart package in your prompts, and Flutter MCP will automatically provide real-time documentation:
💡 Pro tip: For explicit package documentation, use @flutter_mcp package_name
:
📚 Available Tools
Flutter MCP provides 5 powerful tools for AI assistants:
1. get_flutter_docs
Fetches official Flutter/Dart API documentation.
2. get_pub_package_info
Gets complete package information including README from pub.dev.
3. search_flutter_docs
Intelligently searches across Flutter/Dart documentation.
4. process_flutter_mentions
Processes @flutter_mcp
mentions in text for context injection.
5. health_check
Monitors the health of all scrapers and services.
🎯 Features
- 📦 Real-Time Documentation: Fetches the latest docs for any pub.dev package on-demand
- 🚀 Zero Configuration: Automatically detects packages from your
pubspec.yaml
- ⚡ Lightning Fast: Intelligent caching means instant responses after first fetch
- 🔒 100% Private: Runs locally - your code never leaves your machine
- 🎨 Smart Context: Provides constructors, methods, examples, and migration guides
- ♾️ Unlimited Packages: Works with all 50,000+ packages on pub.dev
💡 How It Works
Flutter MCP is a local MCP server (think of it as a "RAG sidecar" for Flutter) built on the battle-tested Python MCP SDK. It enhances your AI with real-time documentation:
The Magic Behind the Scenes
- MCP Integration: Your AI assistant automatically detects when you're asking about Flutter/Dart packages
- Smart Detection: No special syntax required - just mention package names naturally
- Lightning Cache: First request fetches from pub.dev (1-2 seconds), subsequent requests are instant
- Context Injection: Documentation is seamlessly added to your AI's knowledge before it responds
- Privacy First: Everything runs locally - your code and queries never leave your machine
Performance Notes
- ⚡ First Query: 1-2 seconds (fetching from pub.dev)
- 🚀 Cached Queries: <50ms (from local SQLite cache)
- 💾 Cache Duration: 24 hours for API docs, 12 hours for packages
- 🧹 Auto-Cleanup: Expired entries cleaned on access
Error Handling
If documentation isn't available or a fetch fails, Flutter MCP gracefully informs your AI, preventing it from generating incorrect or hallucinated code based on missing information. Your AI will let you know it couldn't find the docs rather than guessing.
📊 What Gets Indexed
When you request a package, Flutter MCP extracts:
- ✅ API Documentation: Classes, methods, properties with full signatures
- ✅ Constructors: All parameters, named arguments, defaults
- ✅ Code Examples: From official docs and README files
- ✅ Migration Guides: Breaking changes and upgrade paths
- ✅ Package Metadata: Dependencies, platform support, versions
🛠️ Advanced Usage
Speed up your workflow by pre-caching frequently used packages:
For production or team use:
🛠️ Troubleshooting
This error means the system cannot find the flutter-mcp
command. Solutions:
- Use full path in
.mcp.json
:
- Use Python module directly:
- Install from GitHub:
- Check if Python 3.10+ is installed:
python3 --version
- Verify installation:
python3 -m flutter_mcp --version
- Check logs in Claude Code for specific errors
- Try running manually:
flutter-mcp serve
to see error messages
- Some very new packages might not have documentation yet
- Private packages are not supported
- Try using the package name exactly as it appears on pub.dev
Different MCP clients require different transport protocols:
- Claude Desktop: Uses STDIO transport (default)
- No port/URL needed
- Configured via
claude_desktop_config.json
- MCP SuperAssistant: Requires HTTP transport
- Start with:
flutter-mcp start --transport http --port 8000
- Connect to:
http://localhost:8000
- Start with:
- Custom clients: May need SSE transport
- Start with:
flutter-mcp start --transport sse --port 8080
- SSE endpoint:
http://localhost:8080/sse
- Start with:
If connection fails:
- Verify the correct transport mode for your client
- Check if the port is already in use
- Try binding to all interfaces:
--host 0.0.0.0
📱 Client Configurations
Need help configuring your MCP client? We have detailed guides for:
- Claude Desktop
- MCP SuperAssistant
- Claude Code
- VS Code + Continue
- Custom HTTP/SSE clients
- Docker configurations
→ View all client configuration examples
🤝 Contributing
We love contributions! This is an open-source project and we welcome improvements.
Quick Ways to Contribute
- 🐛 Report bugs - Open an issue
- 💡 Suggest features - Start a discussion
- 📖 Improve docs - Even fixing a typo helps!
- 🧪 Add tests - Help us reach 100% coverage
- 🌐 Add translations - Make Flutter MCP accessible globally
- ⭐ Star the repo - Help others discover Flutter MCP
🚀 Coming Soon
We're continuously improving Flutter MCP! On our roadmap:
- 📚 Stack Overflow integration for common Flutter questions
- 🏷️ Version-specific documentation (e.g.,
@flutter_mcp riverpod:2.0.0
) - 🎯 IDE extensions for even deeper integration
- 🌍 Offline mode for airplane coding
Want to help build these features? Join us!
❤️ Spread the Word
Help other Flutter developers discover AI superpowers:
Add the badge to your project:
📄 License
MIT © 2024 Flutter MCP Contributors
🏗️ Built With
- Python MCP SDK - The most popular MCP implementation (14k+ stars)
- FastMCP - High-level Python framework for MCP servers
- SQLite - Built-in caching with zero configuration
- Installation - Currently available via GitHub (PyPI/npm packages coming soon)
- BeautifulSoup - Robust HTML parsing
- httpx - Modern async HTTP client
This server cannot be installed
A real-time server that provides Flutter/Dart documentation and pub.dev package information to AI assistants, ensuring they generate accurate and up-to-date Flutter code.
Related MCP Servers
- -securityAlicense-qualityServes as a guardian of development knowledge, providing AI assistants with curated access to latest documentation and best practices.Last updated -48752TypeScriptMIT License
- AsecurityFlicenseAqualityEnables interaction with the Flutter SDK by providing tools to analyze and apply fixes to Dart and Flutter files.Last updated -23JavaScript
- -securityFlicense-qualityA custom server implementation that allows AI assistants to interact with GitLab repositories, providing capabilities for searching, fetching files, creating/updating content, and managing issues and merge requests.Last updated -JavaScript
- AsecurityAlicenseAqualityA Model Context Protocol server that connects Flutter apps with AI coding assistants like Cursor, Claude, and Cline, enabling AI-powered analysis of widget trees, navigation, and layout issues.Last updated -62103JavaScriptMIT License