flutter-mcp
Flutter MCP
Documentation
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 `npx flutter-mcp` to getting real-time Flutter documentation in 20 seconds.
The Problem: Your AI is Stuck in 2021
π‘ Without Flutter MCP
// User: "How do I use Riverpod to watch a future?"
// AI generates (outdated):
final userProvider = FutureProvider((ref) async {
return fetchUser();
});
// WRONG! Missing autoDispose, family, etc.Result: Deprecation warnings, confused debugging, time wasted on Google
β With Flutter MCP
// User: "How do I use @flutter_mcp riverpod:^2.5.0 to watch a future?"
// AI generates (using v2.5.1 docs):
final userProvider = FutureProvider.autoDispose
.family((ref, userId) async {
return ref.watch(apiProvider).fetchUser(userId);
});
// Correct, version-specific, actually works!Result: Code works immediately, you ship faster
π Quick Start
Installation
Get started in seconds with npm:
# One-line usage (no installation required)
npx flutter-mcp
# Or install globally
npm install -g flutter-mcp
flutter-mcpThat's it! No Python setup, no configuration, no complexity. The server automatically installs dependencies and starts running.
> π’ For MCP SuperAssistant Users: Use `npx flutter-mcp --transport http --port 8000` to enable HTTP transport!
Alternative Installation Methods
π Python Package (pip)
If you prefer using Python directly:
# Install from GitHub (PyPI package coming soon)
pip install git+https://github.com/adamsmaka/flutter-mcp.git
# Run the server
flutter-mcp-server startπ§ Install from Source
For development or customization:
# Clone the repository
git clone https://github.com/adamsmaka/flutter-mcp.git
cd flutter-mcp
# Create virtual environment
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install in development mode
pip install -e .
# Run the server
flutter-mcp-server startπ³ Docker
For containerized deployments:
# Docker image coming soon
# Run with Docker (once published)
# docker run -d -p 8000:8000 ghcr.io/adamsmaka/flutter-mcp:latest
# For now, use local development setup instead
pip install git+https://github.com/adamsmaka/flutter-mcp.gitπ― Single Executable (Coming Soon)
# Download for your platform
curl -L https://github.com/flutter-mcp/flutter-mcp/releases/latest/flutter-mcp-macos -o flutter-mcp
chmod +x flutter-mcp
./flutter-mcpNo Python, no pip, just download and run!
Requirements
- Node.js 16+ (for npm/npx)
- Python 3.10+ is auto-detected and used by the npm package
- That's it! Built-in SQLite caching means no external dependencies
2. Add to Your AI Assistant
Claude Desktop
Edit `~/Library/Application Support/Claude/claude_desktop_config.json`:
{
"mcpServers": {
"flutter-docs": {
"command": "npx",
"args": ["flutter-mcp"]
}
}
}Or if you installed globally:
{
"mcpServers": {
"flutter-docs": {
"command": "flutter-mcp"
}
}
}Restart Claude Desktop after saving. The server will automatically install dependencies on first run.
Claude Code (claude.ai/code)
Create a `.mcp.json` file in your Flutter project root:
{
"mcpServers": {
"flutter-docs": {
"command": "npx",
"args": ["flutter-mcp"]
}
}
}Then run Claude Code in your project directory:
cd your-flutter-project
claudeFlutter MCP will automatically provide documentation for all packages in your `pubspec.yaml`.
Alternative: Global npm install
If you installed globally with `npm install -g flutter-mcp`:
{
"mcpServers": {
"flutter-docs": {
"command": "flutter-mcp"
}
}
}Important: Don't use the `--dangerously-skip-permissions` flag when running Claude Code, as it prevents MCP servers from being loaded.
Cursor / Windsurf
In Settings β MCP Servers, add:
{
"flutter-docs": {
"command": "npx",
"args": ["flutter-mcp"]
}
}MCP SuperAssistant
MCP SuperAssistant requires HTTP transport. Configure it with:
1. Start the server with HTTP transport:
npx flutter-mcp --transport http --port 80002. In MCP SuperAssistant, add a new server:
3. The server will now be available in your MCP SuperAssistant client.
VS Code + Continue
In your `.continuerc.json`:
{
"models": [
{
"provider": "claude",
"mcp_servers": {
"flutter-docs": {
"command": "npx",
"args": ["flutter-mcp"]
}
}
}
]
}3. Start the Server (Optional for Testing)
Manual server control and transport options
# Default STDIO mode (for Claude Desktop)
npx flutter-mcp
# HTTP transport (for MCP SuperAssistant)
npx flutter-mcp --transport http --port 8000
# SSE transport
npx flutter-mcp --transport sse --port 8080
# Custom host binding
npx flutter-mcp --transport http --host 0.0.0.0 --port 3000
# If installed globally
flutter-mcp-server --transport http --port 8000Transport Options:
- Default (no flag) - STDIO 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!
Flutter MCP now features simplified tools following Context7's successful pattern - just 2 main tools instead of 5!
π― New Simplified Usage (Recommended)
The AI assistant can now use Flutter MCP more intelligently:
# Universal search
"Search for Flutter animation widgets"
"Find state management packages"
"Look for HTTP clients in pub.dev"
# Smart documentation fetching
"Show me Container widget documentation"
"Get the docs for provider package"
"Explain dart:async Future class"π« Natural Language Support
Your AI will automatically detect Flutter/Dart content and fetch relevant docs:
"How do I implement infinite scroll with infinite_scroll_pagination?"
"Show me dio interceptors for auth tokens"
"What's the difference between bloc and riverpod?"π§ Legacy Support
The `@flutter_mcp` mentions still work for backward compatibility:
"Explain @flutter_mcp freezed code generation"
"Show me all @flutter_mcp get_it service locator patterns"π― Version-Specific Documentation (NEW!)
Get documentation for specific package versions using familiar pub.dev syntax:
# Exact versions
"Show me @flutter_mcp provider:6.0.5 breaking changes"
"How does @flutter_mcp riverpod:2.5.1 AsyncNotifier work?"
# Version ranges
"Compare @flutter_mcp dio:^5.0.0 vs @flutter_mcp dio:^4.0.0"
"What's new in @flutter_mcp bloc:>=8.0.0?"
# Special keywords
"Try @flutter_mcp get:latest experimental features"
"Is @flutter_mcp provider:stable production ready?"See Version Specification Guide for details.
π Available Tools
π― NEW: Simplified Tools (Context7-style)
Flutter MCP now provides just 2 main tools, making it easier for AI assistants to use:
1. `flutter_search` - Universal Search
Search across Flutter/Dart documentation and pub.dev packages with intelligent ranking.
{
"tool": "flutter_search",
"arguments": {
"query": "state management",
"limit": 10 // Optional: max results (default: 10)
}
}Returns multiple options for the AI to choose from, including Flutter classes, Dart libraries, pub packages, and concepts.
2. `flutter_docs` - Smart Documentation Fetcher
Get documentation for any Flutter/Dart identifier with automatic type detection.
{
"tool": "flutter_docs",
"arguments": {
"identifier": "Container", // Auto-detects as Flutter widget
"topic": "examples", // Optional: filter content
"max_tokens": 10000 // Optional: limit response size
}
}Supports various formats:
- `"Container"` - Flutter widget
- `"material.AppBar"` - Library-qualified class
- `"provider"` - pub.dev package
- `"dart:async.Future"` - Dart core library
3. `flutter_status` - Health Check (Optional)
Monitor service health and cache statistics.
{
"tool": "flutter_status",
"arguments": {}
}π¦ Legacy Tools (Deprecated but still functional)
The following tools are maintained for backward compatibility but internally use the new simplified tools:
View legacy tools
`get_flutter_docs` (Use `flutter_docs` instead)
{
"tool": "get_flutter_docs",
"arguments": {
"class_name": "Container",
"library": "widgets"
}
}`get_pub_package_info` (Use `flutter_docs` instead)
{
"tool": "get_pub_package_info",
"arguments": {
"package_name": "provider",
"version": "6.0.5"
}
}`search_flutter_docs` (Use `flutter_search` instead)
{
"tool": "search_flutter_docs",
"arguments": {
"query": "material.AppBar"
}
}`process_flutter_mentions` (Still functional)
{
"tool": "process_flutter_mentions",
"arguments": {
"text": "I need help with @flutter_mcp riverpod state management"
}
}`health_check` (Use `flutter_status` instead)
{
"tool": "health_check",
"arguments": {}
}π― Features
- β¨ NEW: Simplified Tools: Just 2 main tools instead of 5 - following Context7's successful pattern
- π¦ Real-Time Documentation: Fetches the latest docs for any pub.dev package on-demand
- π― Version-Specific Docs: Request exact versions, ranges, or use keywords like `latest`/`stable`
- π 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
- π€ AI-Optimized: Token limiting and smart truncation for efficient LLM usage
π‘ 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:
graph LR
A[Your Prompt] --> B[AI Assistant]
B --> C{Flutter/Dart Content?}
C -->|Yes| D[Query Flutter MCP]
D --> E[Check Local Cache]
E -->|Hit| F[Return Cached Docs]
E -->|Miss| G[Fetch from pub.dev]
G --> H[Process & Cache]
H --> F
F --> I[Enhanced Context]
I --> J[AI Generates Accurate Code]
C -->|No| JThe Magic Behind the Scenes
1. MCP Integration: Your AI assistant automatically detects when you're asking about Flutter/Dart packages
2. Smart Detection: No special syntax required - just mention package names naturally
3. Lightning Cache: First request fetches from pub.dev (1-2 seconds), subsequent requests are instant
4. Context Injection: Documentation is seamlessly added to your AI's knowledge before it responds
5. 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:
Debug Commands
# Run with debug logging
DEBUG=true npx flutter-mcp
# Check server status and cache info
flutter-mcp-server --helpNote: Cache is automatically managed by the server. Cached documentation expires after 24 hours (API docs) or 12 hours (packages).
Docker Deployment
For production or team use:
# Run the server (Docker image coming soon)
# docker run -d -p 8000:8000 --name flutter-mcp ghcr.io/adamsmaka/flutter-mcp:latest
# Check logs
docker logs -f flutter-mcpπ οΈ Troubleshooting
Error: spawn flutter-mcp ENOENT
This error means the system cannot find the `flutter-mcp` command. Solutions:
1. Use npx (recommended):
{
"mcpServers": {
"flutter-docs": {
"command": "npx",
"args": ["flutter-mcp"]
}
}
}2. Install globally first:
npm install -g flutter-mcp
# Then use:
{
"mcpServers": {
"flutter-docs": {
"command": "flutter-mcp"
}
}
}3. Check Node.js installation:
node --version # Should be 16+
npm --version # Should be installedMCP server failed to start
1. Check if Node.js 16+ is installed: `node --version`
2. Try running manually to see errors: `npx flutter-mcp`
3. The npm package will auto-install Python dependencies on first run
4. Check if Python 3.8+ is available: `python3 --version`
5. View detailed logs: `DEBUG=true npx flutter-mcp`
Documentation not found errors
- 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
Cannot connect from MCP client
Different MCP clients require different transport protocols:
1. Claude Desktop: Uses STDIO transport (default)
2. MCP SuperAssistant: Requires HTTP transport
3. Custom clients: May need SSE transport
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`
- Ensure Node.js and npm are properly installed
π± 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.
**β Read our Contributing Guide**
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
π What's New & Coming Soon
Recently Released:
- β Simplified Tools: Reduced from 5 tools to just 2 main tools (Context7-style)
- β Smart Detection: Auto-detects Flutter widgets, Dart classes, and pub packages
- β Token Limiting: Default 10,000 tokens with smart truncation
- β Topic Filtering: Focus on specific sections (examples, constructors, etc.)
On our roadmap:
- π Stack Overflow integration for common Flutter questions
- π― Natural language activation: "use flutter docs" pattern
- π Offline mode for airplane coding
- π Hosted service option for teams
Want to help build these features? Join us!
β€οΈ Spread the Word
Help other Flutter developers discover AI superpowers:
Add the badge to your project:
[](https://github.com/flutter-mcp/flutter-mcp)π 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
- npm/npx - Simple one-line installation and execution
- BeautifulSoup - Robust HTML parsing
- httpx - Modern async HTTP client
Ready to give your AI Flutter superpowers?
β’
β’
Made with β€οΈ by the Flutter community
Frequently asked questions
What is flutter-mcp?
flutter-mcp is Flutter MCP
How do I install flutter-mcp?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is flutter-mcp open source?
Yes β it is hosted on GitHub at https://github.com/adamsmaka/flutter-mcp and has 73 stars.
Related MCP tools
Cognee is the open-source AI memory platform for agents. Give your AI agents persistent long-term memory across sessions with a self-hosted knowledge graph engine.
Automate browser based workflows with AI
Hindsight: Agent Memory That Learns
A privacy-first app that strips AI watermarks from content you own.
Agent framework and applications built upon Qwen>=3.0, featuring Function Calling, MCP, Code Interpreter, RAG, Chrome extension, etc.
The power of Claude Code / GeminiCLI / CodexCLI + [Gemini / OpenAI / OpenRouter / Azure / Grok / Ollama / Custom Model / All Of The Above] working as one.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP