Back to MCP directory
publicPublicdnsLocal runtime

mcp_flutter

Flutter Inspector是一个连接Flutter应用与AI编程助手的MCP服务器,提供调试和检查Flutter应用的功能。

article

README

🚀 Flutter 调试工具检查器

Flutter 调试工具检查器是一款强大的工具,它能帮助开发者深入分析和调试 Flutter 应用。借助该工具,开发者可全面观察 widget 树、布局、性能以及其他底层系统信息,从而高效地开发和优化应用。

🚀 快速开始

启用调试模式

  1. 在 IntelliJ IDEA 或 VS Code 中,确保已配置 Flutter 插件。
  2. 在运行应用之前,点击工具栏中的“调试”按钮或选择“Run > Start Debugging”菜单项。
  3. 应用启动后,在 DevTools 窗口中即可访问 Flutter 调试工具。

使用检查器

  • Widget 树:查看当前屏幕上的所有 widget 及其属性。
  • 布局视图:分析 widget 的大小、位置和对齐方式。
  • 性能分析:监控帧率、渲染时间和其他关键指标。
  • 内存使用:跟踪内存分配情况,识别潜在的内存泄漏。

✨ 主要特性

Flutter 调试工具检查器具备以下主要特性:

  • 提供对 widget 树、布局、性能以及其他底层系统信息的全面观察。
  • 支持在实时应用中检查 widget 树、查看布局层次结构、分析渲染性能、监控内存使用情况、调试 isolate 和 Dart 进程。
  • 拥有自定义主题、日志记录与跟踪、性能优化等高级功能。
  • 提供丰富的 API 接口,方便开发者进行深入调试。

💻 使用示例

基础用法

import 'package:flutter/material.dart';
import 'package:dartdevtools/src/analyzers/perf_analyzer.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: FlutterDebugInspector(child: MyHomePage()),
    );
  }
}

class MyHomePage extends StatefulWidget {
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  void initState() {
    super.initState();
    // 初始化性能分析工具
    PerformanceOverlay.enable(
      color: Colors.red,
      alpha: 0.5,
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Flutter 调试示例'),
      ),
      body: Center(
        child: Column(
          children: [
            FlutterDebugPaint(
              child: Container(
                width: 200,
                height: 200,
                color: Colors.blue,
              ),
            ),
            RaisedButton(
              onPressed: () {
                // 调试(isolate) 这里
                print('调试点');
              },
              child: Text('点击调试'),
            ),
          ],
        ),
      ),
    );
  }
}

高级用法

自定义主题

通过配置 themeData 属性,可以自定义检查器的颜色和样式:

Theme.of(context).copyWith(
  colorScheme: ColorScheme.fromSeed(seedColor: Colors.blue),
)

日志记录与跟踪

利用 FlutterDebugPaint 工具进行布局调试:

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: FlutterDebugPaint(
          child: Center(
            child: Text('Hello, World!'),
          ),
        ),
      ),
    );
  }
}

性能优化

通过分析工具识别性能瓶颈并进行针对性优化:

  1. 监控帧率:确保帧率稳定在 60 FPS。
  2. 减少绘制操作:合并层和使用更高效的绘图方法。
  3. 优化布局:避免过度嵌套和不必要的布局变换。

📚 详细文档

API 参考

主要接口

  • FlutterDebugInspector:提供对 widget 树和渲染信息的访问。
  • PerformanceOverlay:显示实时性能指标。
  • MemoryInfo:获取内存使用情况统计。

🔧 故障排除

常见问题

  • 无法启动检查器:确保 Dart 和 Flutter 已正确安装,并且项目已配置为可调试状态。
  • widget 树不可用:检查是否启用了调试模式或使用了正确的 API 方法。
  • 性能数据不显示:确保设备已连接到同一网络,并且没有被防火墙阻止。

解决方案

  1. 启动 Dart 服务进程:
    dart --enable-vm-service main.dart
    
  2. 访问 http://localhost:8000 查看实时调试信息。
  3. 使用 Chrome 的 DevTools 工具包进行更深入的分析。

📖 扩展阅读

推荐资源

项目贡献

欢迎社区开发者参与改进 Flutter 调试工具!请访问我们的 GitHub 仓库查看如何贡献代码: [GitHub 仓库地址]

📄 许可证

本项目遵守 MIT 许可证。详情参见 LICENSE 文件。


通过以上内容,您应该能够熟练使用 Flutter 调试工具进行应用开发和优化。如需进一步帮助,请随时查阅官方文档或加入开发者社区讨论。

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client