Back to MCP directory
publicPublicdnsLocal runtime

flutter_mcp_server

Flutter MCP Server是一个开源的Dart/Flutter生态模型上下文协议(MCP)实现,为AI助手和开发者工具提供统一的API接口,支持远程调用Dart/Flutter开发工具链,实现安全、可编程的自动化开发流程。

article

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 工具的调用。
  • 资源管理:可访问与查询文档、示例代码、新闻等资源。
  • 环境变量支持:可通过环境变量配置服务器行为和功能。
  • 扩展性:支持自定义插件和扩展,以满足特定项目需求。

📦 安装指南

本地安装

  1. 克隆仓库:
    git clone https://github.com/your-repository/flutter-mcp-server.git
    cd flutter-mcp-server
    
  2. 创建虚拟环境(推荐)并安装依赖:
    python -m venv env
    source env/bin/activate  # 在 Windows 上使用 `env\Scripts\activate`
    pip install -r requirements.txt
    
  3. 启动服务器:
    python server.py
    

部署(Smithery)

  1. 将项目仓库与 Smithery 账户关联。
  2. 推送代码更改以触发构建。
  3. 在 Smithery 界面中配置环境变量和部署参数。
  4. 使用 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:设置为 developmentproduction

💻 使用示例

基础用法

通过 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/"}'

📄 许可证

MIT

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