README
🚀 Flutter MCP 服务器
Flutter MCP 服务器是 Model Context Protocol (MCP) 在 Dart 和 Flutter 生态系统中的开源实现,它能充当 AI 助手、开发工具与自动化工作流之间的桥梁,以安全、程序化且上下文感知的方式,实现 Dart 和 Flutter 开发任务的自动化。
🚀 快速开始
⚠️ 重要提示
Smithery 的云部署尚未完成。此 MCP 服务器目前仅支持本地使用。Smithery 集成和 registry 列表功能暂未可用。
✨ 主要特性
该 MCP 服务器的功能
- 暴露 Dart & Flutter SDK 工具:将(analyze, format, fix, create, run, test)等工具作为可编程端点,允许 AI 代理、脚本或远程客户端通过 MCP 协议调用。
- 提供统一 API:可用于代码分析、格式化、项目构建、运行测试等操作,支持远程且安全地执行。
- 安全管理环境变量:运用最佳实践,确保秘密和配置信息不被暴露。
- 支持资源端点:可用于文档查询、新闻和社区示例,方便 AI 客户端检索 Dart/Flutter 项目的相关信息。
- 支持平台集成:设计用于与 Smithery 等平台集成,也可在任何 Docker 兼容环境中本地运行或部署。
解决的问题
- 桥接 AI 和代码之间的鸿沟:允许 AI 驱动的工具(如代码助手、聊天机器人或 CI 代理)与真实的 Dart/Flutter 项目交互,调用工具并进行上下文感知的程序化操作。
- 自动化重复性任务:开发者和团队能通过统一的安全界面自动执行代码格式化、分析、测试和项目创建等操作。
- 标准化工具调用:消除自定义脚本或手动工具执行的需求,所有内容均通过一致且可发现的 API 暴露。
- 支持远程和云工作流:可在 CI/CD、云平台或 AI 驱动的开发管道中部署。
- 促进最佳实践:通过环境变量处理秘密,支持容器化部署,并遵循开放标准进行协议和 API 设计。
功能完备性
- 工具端点:支持 analyze, format, fix, create, run, test 等 Dart 和 Flutter 工具的调用。
- 资源管理:可访问与查询文档、示例代码、新闻等资源。
- 环境变量支持:可通过环境变量配置服务器行为和功能。
- 扩展性:支持自定义插件和扩展,以满足特定项目需求。
📦 安装指南
本地安装
- 克隆仓库:
git clone https://github.com/your-repository/flutter-mcp-server.git cd flutter-mcp-server - 创建虚拟环境(推荐)并安装依赖:
python -m venv env source env/bin/activate # 在 Windows 上使用 `env\Scripts\activate` pip install -r requirements.txt - 启动服务器:
python server.py
部署(Smithery)
- 将项目仓库与 Smithery 账户关联。
- 推送代码更改以触发构建。
- 在 Smithery 界面中配置环境变量和部署参数。
- 使用 Smithery 提供的 Playground 或兼容客户端验证服务器运行状态。
📚 详细文档
配置说明
服务器设置
编辑 config.json 文件:
{
"host": "localhost",
"port": 5000,
"debug_mode": true,
"api_key": "your_api_key_here"
}
环境变量
在部署或运行时设置以下环境变量:
FLUTTER_PATH:指定 Flutter 安装路径。DART-sdk_PATH:指定 Dart SDK 安装路径。MCP_SERVER_MODE:设置为development或production。
💻 使用示例
基础用法
通过 CLI 调用
# 分析代码
mcp-server analyze --path ./my_project/
# 格式化代码
mcp-server format --path ./my_project/ --fix
# 创建新项目
mcp-server create-project --name my_new_project --type flutter
通过 API 调用
使用 HTTP 请求:
curl -X POST http://localhost:5000/api/analyze \
-H "Content-Type: application/json" \
-d '{"path":"./my_project/"}'
Scan to contact