Flutter for OpenHarmony:Flutter 三方库 mcp_dart 接入 AI 大模型上下文协议-智能代理引擎(适配鸿蒙 HarmonyOS Next ohos)

Flutter for OpenHarmony:Flutter 三方库 mcp_dart 接入 AI 大模型上下文协议-智能代理引擎(适配鸿蒙 HarmonyOS Next ohos)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net

Flutter for OpenHarmony:Flutter 三方库 mcp_dart 接入 AI 大模型上下文协议-智能代理引擎(适配鸿蒙 HarmonyOS Next ohos)

在这里插入图片描述

前言

随着 AI 大模型时代的到来,鸿蒙(OpenHarmony)应用正逐步向智能代理转型。mcp_dart 实现了模型上下文协议(MCP)的客户端封装,使得鸿蒙开发者能为 LLM 提供结构化的本地连接,让应用秒变深度集成的 AI Agent 助手。

一、核心价值

1.1 基础概念

MCP 协议像是一条高速公路,连接了 LLM 控制台和本地的数据孤岛。

发送请求

MCP 协议交互

资源提取

工具执行

LLM 模型

MCP Client

MCP Server

鸿蒙数据库/文件系统

鸿蒙 API / 硬件接口

1.2 进阶概念

  • Resources (资源):指的是鸿蒙应用内特定的 JSON 片段、日志文件或配置信息,供 AI 读取。
  • Tools (工具):指 AI 可以“调用”的动作,比如:在鸿蒙系统上创建一个提醒日程。
  • Prompts (提示词模板):预设的对话模式,引导 AI 更好地理解鸿蒙业务逻辑。

二、核心 API / 组件详解

2.1 建立连接

在鸿蒙工程中,这通常涉及一个支持 JSON-RPC 的通信通道。

import'package:mcp_dart/mcp_dart.dart';voidinitHarmonyMcp(McpTransport transport)async{// 1. 创建客户端final client =McpClient( transport, capabilities:ClientCapabilities( sampling:SamplingCapability(),// ✅ 推荐开启:允许 AI 生成样本),);// 2. 初始化握手await client.initialize();print('🤖 鸿蒙 MCP 客户端已就绪!');}
在这里插入图片描述

2.2 资源与工具列表获取

final resources =await client.listResources();for(final res in resources.resources){print('发现资源: ${res.name} (URI: ${res.uri})');}
在这里插入图片描述

三、场景示例

3.1 场景一:鸿蒙智能记账助手的本地账目分析

让 AI 获取应用内的数据库内容。

// 🎨 实战技巧:向 AI 提供应用内消费资源的读取能力final content =await client.readResource(Uri.parse('harmony://app/finance/daily_summary'));print('AI 获取到的上下文: ${content.contents.first.text}');
在这里插入图片描述

四、OpenHarmony 平台适配挑战

4.1 传输层 (Transport) 的原生适配

mcp_dart 默认支持 Stdio 和 WebSocket 传输。但在鸿蒙应用内,可能需要通过 Platform Channel 调用鸿蒙原生的数据管道。

适配策略

  1. 自定义 Transport:实现 McpTransport 接口,将 sendstream 桥接到鸿蒙的 CommonEventIPC 通信机制上。
  2. 跨进程安全:确保 AI 的 MCP 连接请求遵循鸿蒙的隐私权限框架,尤其是访问用户日历或健康数据时。
// 💡 技巧:自定义鸿蒙总线传输层classHarmonyBusTransportextendsMcpTransport{// 桥接逻辑实现...}
在这里插入图片描述

五、综合实战示例代码

这是一个模拟在鸿蒙上列出 AI 可用工具的页面:

import'package:flutter/material.dart';import'package:mcp_dart/mcp_dart.dart';classMcpDashboardextendsStatefulWidget{constMcpDashboard({super.key});@overrideState<McpDashboard>createState()=>_McpDashboardState();}class _McpDashboardState extendsState<McpDashboard>{List<McpTool> _tools =[];Future<void>_fetchTools()async{// 假设通过 WebSocket 连接到一个运行在鸿蒙后台的智能中枢final client =McpClient(WebSocketTransport(Uri.parse('ws://localhost:9001')));await client.initialize();final result =await client.listTools();setState(()=> _tools = result.tools);}@overrideWidgetbuild(BuildContext context){returnScaffold( appBar:AppBar(title:constText('鸿蒙 MCP 智能代理监控')), body:Column( children:[ElevatedButton(onPressed: _fetchTools, child:constText('同步本地 AI 工具')),Expanded( child:ListView.builder( itemCount: _tools.length, itemBuilder:(context, index)=>ListTile( leading:constIcon(Icons.bolt, color:Colors.orange), title:Text(_tools[index].name), subtitle:Text(_tools[index].description ??'无描述'),),),)],),);}}
在这里插入图片描述

六、总结

mcp_dart 是通往鸿蒙未来“原生智能”的入场券。通过引入 MCP 协议,你的应用将不再仅仅是一个工具,而是一个能被大模型理解和调度的“智能数据节点”。

核心建议

  1. 及早规划应用内的 Resources URI 体系。
  2. 为高频调用的鸿蒙 API 封装 McpTool

Read more

MCP 工具速成:npx vs. uvx 全流程安装指南

MCP 工具速成:npx vs. uvx 全流程安装指南

在现代 AI 开发中,Model Context Protocol(MCP)允许通过外部进程扩展模型能力,而 npx(Node.js 生态)和 uvx(Python 生态)则是两种即装即用的客户端工具,帮助你快速下载并运行 MCP 服务器或工具包,无需全局安装。本文将从原理和对比入手,提供面向 Windows、macOS、Linux 的详细安装、验证及使用示例,确保你能在本地或 CI/CD 流程中无缝集成 MCP 服务器。 1. 工具简介 1.1 npx(Node.js/npm) npx 是 npm CLI(≥v5.2.0)

By Ne0inhk
解锁Dify与MySQL的深度融合:MCP魔法开启数据新旅程

解锁Dify与MySQL的深度融合:MCP魔法开启数据新旅程

文章目录 * 解锁Dify与MySQL的深度融合:MCP魔法开启数据新旅程 * 引言:技术融合的奇妙开篇 * 认识主角:Dify、MCP 与 MySQL * (一)Dify:大语言模型应用开发利器 * (二)MCP:连接的桥梁 * (三)MySQL:经典数据库 * 准备工作:搭建融合舞台 * (一)环境搭建 * (二)安装与配置 Dify * (三)安装与配置 MySQL * 关键步骤:Dify 与 MySQL 的牵手过程 * (一)安装必要插件 * (二)配置 MCP SSE * (三)创建 Dify 工作流 * (四)配置 Agent 策略 * (五)搭建MCP

By Ne0inhk
如何在Cursor中使用MCP服务

如何在Cursor中使用MCP服务

前言 随着AI编程助手的普及,越来越多开发者选择在Cursor等智能IDE中进行高效开发。Cursor不仅支持代码补全、智能搜索,还能通过MCP(Multi-Cloud Platform)服务,轻松调用如高德地图API、数据库等多种外部服务,实现数据采集、处理和自动化办公。 本文以“北京一日游自动化攻略”为例,详细讲解如何在 Cursor 中使用 MCP 服务,完成数据采集、数据库操作、文件生成和前端页面展示的全流程。 学习视频:cursor中使用MCP服务 一、什么是MCP服务? MCP(Multi-Cloud Platform)是Cursor内置的多云服务接口,支持调用地图、数据库、文件系统等多种API。通过MCP,开发者无需手动写HTTP请求或繁琐配置,只需在对话中描述需求,AI助手即可自动调用相关服务,极大提升开发效率。 二、环境准备 2.1 cursor Cursor重置机器码-解决Too many free trials. 2.

By Ne0inhk
MCP客户端与服务端初使用——让deepseek调用查询天气的mcp来查询天气

MCP客户端与服务端初使用——让deepseek调用查询天气的mcp来查询天气

本系列主要通过调用天气的mcp server查询天气这个例子来学习什么是mcp,以及怎么设计mcp。话不多说,我们开始吧。主要参考的是B站的老哥做的一个教程,我把链接放到这里,大家如果有什么不懂的也可以去看一下。 https://www.bilibili.com/video/BV1NLXCYTEbj?spm_id_from=333.788.videopod.episodes&vd_source=32148098d54c83926572ec0bab6a3b1d https://blog.ZEEKLOG.net/fufan_LLM/article/details/146377471 最终的效果:让deepseek-v3使用天气查询的工具来查询指定地方的天气情况 技术介绍 MCP,即Model Context Protocol(模型上下文协议),是由Claude的母公司Anthropic在2024年底推出的一项创新技术协议。在它刚问世时,并未引起太多关注,反响较为平淡。然而,随着今年智能体Agent领域的迅猛发展,MCP逐渐进入大众视野并受到广泛关注。今年2月,

By Ne0inhk