mcpField
F
Flutter_mcp

Flutter_mcp

github.com/yashmakan桌面应用2176 周前更新

关于 Flutter_mcp

一个使用 Flutter 构建的 Claude AI 桌面应用,遵循清洁架构原则,通过 Melos 管理模块化代码库,实现 MCP 协议以支持 AI 交互和工具调用。

主要功能

  1. 01跨平台桌面应用(Windows、macOS、Linux)
  2. 02MCP 客户端和服务器实现
  3. 03聊天界面和流式更新
  4. 04MCP 服务器管理(添加、编辑、删除)
  5. 05内置 AI 和函数调用支持

适用场景

  1. 01使用 Gemini 交互的本地 AI 桌面应用
  2. 02连接和管理多个 MCP 服务以扩展功能
  3. 03开发遵循清洁架构的 Flutter 应用参考

MCP 相关

该应用实现了 MCP 客户端,通过结构化消息、工具注册和调用、内容嵌入与连接生命周期管理,与后端 MCP 服务进行交互。

详细介绍


Flutter MCP 客户端 — 一个使用 Flutter 构建的 Claude AI 桌面应用,遵循清洁架构原则,采用 Melos 驱动的模块化单体仓库架构。该应用演示了模型上下文协议 (MCP) 的实现,用于丰富的 AI 驱动交互。

🧰 功能

  • 🖥️ 桌面优先的 Flutter 应用
  • 🧼 采用清洁架构的模块化单体仓库
  • 📦 使用 Flutter Bloc 进行状态管理
  • 🔌 MCP 客户端/服务器实现,用于与 Gemini 交互
  • 💬 支持实时流更新的聊天界面
  • ⚙️ 添加、编辑和管理 MCP 服务
  • 🧠 内置 AI 和函数调用支持
  • 🎨 自定义组件和清洁 UI

📁 项目结构

该仓库使用 Melos 采用单体仓库方法组织:

apps/               # Main Flutter applications
external/           # External SDKs or libraries (e.g., LLM Kit)
packages/           # Feature-specific packages (Clean Architecture layers)

关键层
  • flutter_mcp_entities: AI、聊天和 MCP 的数据模型
  • flutter_mcp_datasources: 本地和远程数据处理
  • flutter_mcp_repositories: 用于依赖注入的仓储
  • flutter_mcp_usecases: 实现核心逻辑的用例
  • flutter_mcp_state: BLoC/Cubit 状态管理
  • flutter_mcp_widgets: 自定义可复用 UI 组件

🚀 快速开始

前置条件

确保已安装以下工具:

  • Flutter SDK

  • Dart SDK

  • Melos (单体仓库管理器):

    dart pub global activate melos
    
    
安装
# Clone the repository
git clone https://github.com/your-org/flutter_mcp.git
cd flutter_mcp

# Bootstrap all packages
melos bootstrap

运行应用
# Navigate to app directory
cd apps/flutter_mcp

# Launch for your platform
flutter run -d windows
flutter run -d macos
flutter run -d linux

🧪 运行测试

melos run test

🔍 包概览

packages/ 中的每个包封装一个特定的层或功能:

包描述
flutter_mcp_entities领域模型和实体
flutter_mcp_datasources本地持久化和数据源
flutter_mcp_repositories领域仓储的抽象层
flutter_mcp_usecases业务逻辑和用户交互
flutter_mcp_state基于 Cubit/Bloc 的状态管理
flutter_mcp_widgets自定义 UI 组件

🎨 UI 与 UX

  • 使用 Copernicus 和 StyreneB 等字体
  • 响应式布局和自定义主题
  • 可复用表单字段、聊天气泡、连接指示器

📡 MCP 协议支持

该应用实现了 MCP (模型上下文协议) 客户端,通过结构化消息、工具调用和内容嵌入来实现 AI 交互。

支持的功能包括:

  • 流式聊天更新
  • 工具注册和调用
  • 嵌入式内容处理 (文本、图像、资源)
  • 连接生命周期管理

🤝 贡献

欢迎贡献!开始方式如下:

melos bootstrap
melos run analyze

请在 GitHub 上提交 issue 或 pull request。

📜 许可证

MIT 许可证

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。