使用说明
Flutter驱动程序MCP服务器
Flutter驱动程序的自定义MCP(模型上下文协议)服务器 达郎/sdk#62265.
背景
内置 dart mcp-server 存在Flutter驱动程序命令失败的错误:
type 'int' is not a subtype of type 'String?' in type cast
此软件包提供了一个独立的MCP服务器,可以正确处理Flutter驱动程序操作。
安装
# Clone the repository
git clone https://github.com/nannantown/flutter-driver-mcp.git
# Install globally
cd flutter-driver-mcp
dart pub global activate --source path .
或添加到您的 pubspec.yaml:
dev_dependencies:
flutter_driver_mcp:
git:
url: https://github.com/nannantown/flutter-driver-mcp.git
MCP配置
添加到您的MCP设置中(例如。, ~/.config/claude/settings.json):
{
"mcpServers": {
"flutter-driver": {
"command": "flutter_driver_mcp",
"args": []
}
}
}
或者,如果从源代码运行:
{
"mcpServers": {
"flutter-driver": {
"command": "dart",
"args": ["run", "--enable-vm-service", "/path/to/flutter-driver-mcp/bin/server.dart"]
}
}
}
准备Flutter应用程序
您的Flutter应用程序必须启用Flutter驱动程序扩展。添加到您的 main.dart:
import 'package:flutter_driver/driver_extension.dart';
void main() {
enableFlutterDriverExtension();
runApp(const MyApp());
}
或者创建单独的测试入口点(例如。, test_driver/app.dart):
import 'package:flutter_driver/driver_extension.dart';
import 'package:your_app/main.dart' as app;
void main() {
enableFlutterDriverExtension();
app.main();
}
使用以下命令运行您的应用程序:
flutter run --target=test_driver/app.dart
注意控制台输出中的VM服务URI(例如。, http://127.0.0.1:50300/xxxxx=/).
可用工具
连接
通过VM服务URI连接到Flutter应用程序。
{
"uri": "ws://127.0.0.1:50300/xxxxx=/ws"
}
断开
断开与Flutter应用程序的连接。
轻敲
点击小部件。
{
"finder_type": "ByText",
"text": "Login"
}
查找器类型:
ByText-按显示的文本查找ByValueKey-按小部件键查找ByType-按小部件类型查找ByTooltipMessage-通过工具提示查找
输入文本
在焦点文本字段中输入文本。
{
"text": "Hello World"
}
get_text
从小部件获取文本。
{
"finder_type": "ByValueKey",
"key": "username_field"
}
等待
等待小部件出现。
{
"finder_type": "ByText",
"text": "Welcome",
"timeout_ms": 10000
}
等待等待
等待小部件消失。
{
"finder_type": "ByType",
"type": "CircularProgressIndicator",
"timeout_ms": 10000
}
截图
截取应用程序的屏幕截图。返回base64编码的PNG图像。
获取健康
检查Flutter驱动程序扩展是否响应。
滚动
滚动可滚动的小部件。
{
"finder_type": "ByType",
"type": "ListView",
"dx": 0,
"dy": -300,
"duration_ms": 500
}
调试
启用文件日志记录:
flutter_driver_mcp --log-file=/tmp/flutter_driver_mcp.log
许可证
MIT许可证
相关问题
- 达郎/sdk#62265 -Flutter驱动程序MCP类型铸造错误
