Flutter MCP Service v2.0 是一套先进的 Flutter 开发工具,它基于模型上下文协议(MCP)构建,具备智能缓存、令牌管理功能,并集成了官方文档,能显著提升 Flutter 开发的效率和质量。
# 克隆仓库
git clone https://github.com/dvillegastech/flutter_mcp_2.git
cd flutter_mcp_service
# 安装依赖
npm install
# 初始化缓存
mkdir -p .cache
# 运行健康检查
npm run health-check
# 启动服务
npm start
将以下内容添加到你的 MCP 配置文件中:
{
"mcpServers": {
"flutter-mcp": {
"command": "node",
"args": ["/absolute/path/to/flutter_mcp_service/src/index.js"]
}
}
}
检查服务健康状况和缓存统计信息。
@flutter-mcp use flutter_status to check service health
在 Flutter/Dart 文档、包和示例中进行通用搜索。
@flutter-mcp use flutter_search with query "Container" and limit 5
@flutter-mcp use flutter_search to find ListView examples
参数:
query(必需):搜索词limit(可选):最大结果数(默认:10)maxTokens(可选):响应大小限制(默认:4000)智能的 Flutter 文档获取器和代码分析器。
@flutter-mcp use flutter_analyze with identifier "Container"
@flutter-mcp use flutter_analyze with identifier "Container" and this code:
Container(
width: 100,
height: 100,
color: Colors.blue,
)
参数:
identifier(必需):小部件/类名或包名code(可选):要分析的代码topic(可选):"all", "docs", "analysis", "examples"(默认:"all")maxTokens(可选):响应大小限制includeExamples(可选):包含代码示例(默认:true)includeAnalysis(可选):包含代码分析(默认:true)分析 Flutter 小部件代码的最佳实践、性能和可访问性。
@flutter-mcp use analyze_widget with this widgetCode:
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Container(
child: Text('Hello World'),
);
}
}
参数:
widgetCode(必需):Flutter 小部件代码checkAccessibility(可选):检查可访问性(默认:true)checkPerformance(可选):检查性能(默认:true)根据官方 Flutter 文档验证代码。
@flutter-mcp use validate_flutter_docs with this code:
Container(
color: Colors.red,
decoration: BoxDecoration(color: Colors.blue), // This will be flagged
)
参数:
code(必需):Flutter/Dart 代码widgetType(可选):要关注的特定小部件分析 pub.dev 上的包的质量和兼容性。
@flutter-mcp use analyze_pub_package with packageName "provider"
@flutter-mcp use analyze_pub_package with packageName "dio" and checkDependencies true
参数:
packageName(必需):pub.dev 上的包名checkDependencies(可选):分析依赖项(默认:true)checkScores(可选):获取 pub.dev 评分(默认:true)根据 Flutter 最佳实践获取改进建议。
@flutter-mcp use suggest_improvements for this code:
ListView(
children: List.generate(1000, (i) => Text('Item $i')),
)
参数:
code(必需):Flutter 代码focusArea(可选):"performance", "accessibility", "maintainability", "all"分析 Flutter 小部件树的性能问题。
@flutter-mcp use analyze_performance with this widgetTree:
Column(
children: [
for (int i = 0; i < 100; i++)
Container(child: Text('Item $i')),
],
)
参数:
widgetTree(必需):小部件树代码checkRebuildOptimization(可选):检查重建优化(默认:true)checkMemoryLeaks(可选):检查内存泄漏(默认:true)分析项目架构的合规性。
@flutter-mcp use analyze_architecture with projectStructure {
"lib": {
"features": ["auth", "home", "profile"],
"core": ["network", "database"],
"shared": ["widgets", "utils"]
}
} and pattern "clean"
参数:
projectStructure(必需):项目目录结构pattern(可选):"clean", "mvvm", "mvc", "auto"checkDependencies(可选):检查依赖项违规(默认:true)分析应用程序包大小并提供优化建议。
@flutter-mcp use analyze_bundle_size with buildPath "/path/to/build" and platform "android"
参数:
buildPath(必需):构建输出路径platform(可选):"android", "ios", "web", "all"includeAssets(可选):包含资产分析(默认:true)生成全面的 Flutter 测试。
@flutter-mcp use generate_tests for this widgetCode:
class CounterButton extends StatelessWidget {
final VoidCallback onPressed;
final int count;
const CounterButton({required this.onPressed, required this.count});
@override
Widget build(BuildContext context) {
return ElevatedButton(
onPressed: onPressed,
child: Text('Count: $count'),
);
}
}
参数:
widgetCode(必需):小部件代码testType(可选):"unit", "widget", "integration", "golden", "all"includeAccessibility(可选):包含可访问性测试(默认:true)跟踪 Flutter 小部件中的状态流和重建。
@flutter-mcp use trace_state with this widgetCode:
class MyStatefulWidget extends StatefulWidget {
// ... widget code
}
参数:
widgetCode(必需):小部件代码traceRebuildPaths(可选):跟踪重建路径(默认:true)generateVisualization(可选):生成可视化(默认:true)生成干净架构结构。
@flutter-mcp use generate_clean_architecture with projectName "todo_app" and features ["auth", "todos", "settings"]
参数:
projectName(必需):项目/功能名称features(必需):功能列表stateManagement(可选):"riverpod", "bloc", "provider", "getx"includeDI(可选):包含依赖注入(默认:true)使用 ARB 文件生成本地化设置。
@flutter-mcp use generate_l10n with languages ["en", "es", "fr"]
参数:
languages(必需):要支持的语言代码translations(可选):初始翻译includeRTL(可选):包含 RTL 支持(默认:true)includePluralization(可选):包含复数形式(默认:true)生成性能监控设置。
@flutter-mcp use monitor_performance with monitoringType "balanced"
参数:
monitoringType(必需):"comprehensive", "balanced", "lightweight"includeNetwork(可选):监控网络(默认:true)includeMemory(可选):监控内存(默认:true)includeAnalytics(可选):包含分析(默认:true)诊断和修复渲染问题。
@flutter-mcp use diagnose_render_issues with this widgetCode:
Row(
children: [
Expanded(child: Text('Long text')),
Container(width: double.infinity), // This will cause issues
],
)
参数:
widgetCode(必需):有问题的小部件代码errorType(可选):"overflow", "constraint", "layout", "all"includeVisualization(可选):包含调试可视化(默认:true)分析测试覆盖率并提供建议。
@flutter-mcp use analyze_test_coverage with coverageData {...} and targetCoverage 80
参数:
coverageData(必需):来自 lcov 的覆盖率数据projectStructure(必需):项目文件结构targetCoverage(可选):目标覆盖率百分比(默认:80)generateReport(可选):生成可视化报告(默认:true)@flutter-mcp analyze this Flutter widget for issues:
Container(
child: Column(
children: List.generate(100, (i) => Text('Item $i')),
),
)
@flutter-mcp search for "state management" packages and analyze the top result
1. @flutter-mcp analyze_performance for my widget tree
2. @flutter-mcp suggest_improvements based on performance issues
3. @flutter-mcp generate_tests for the optimized code
@flutter-mcp analyze_architecture for my project and suggest clean architecture improvements
# 开发模式,支持自动重新加载
npm run dev
# 运行测试
npm test
npm run test:integration
npm run test:coverage
# 健康检查
npm run health-check
# 代码检查和格式化
npm run lint
npm run format
# Docker 相关
npm run build:docker
npm run docker:run
# 清理缓存
npm run clean
详细的架构文档请参考 docs/ARCHITECTURE.md。
开发指南请参考 docs/DEVELOPMENT.md。
本项目采用 MIT 许可证,详情请查看 LICENSE 文件。
为 Flutter 社区用心打造 ❤️