0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

可联动天气+高德地图!涂鸦MCP SDK,手把手教你把传统厨电设备开发成AI美食管家

涂鸦开发者 2025-09-12 17:40 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

上周的涂鸦技术专家直播中,我们详细演示了如何用涂鸦 MCPSDK,把家里普通的厨电设备,开发成懂天气、懂推荐、懂你的 AI 美食管家,受到了很多开发者的欢迎,并反馈想要文字版的教程,方便跟着上手实操。今天,我们就整理了一版超详细的手把手开发教程,从架构解析、代码实战,到知识库配置与智能体调试,流程完善、操作门槛低!大家也可以根据实际场景需求,大胆发挥想象,自定义开发其他更多样、更个性化的MCP 服务。


本次,我们将从以下四个方面入手,帮助大家更好理解整个开发流程:

厘清 Cook MCP 服务的架构设计

基于涂鸦 MCP SDK,掌握自定义 MCP 服务的进阶能力

在涂鸦 AI 云开发者平台,配置和调试 MCP 服务

了解智能体配置和实际使用效果


01
Cook MCP 架构设计的特别之处

1、整体架构图

74ee860a-8fbc-11f0-8ce9-92fbcf53809c.png

2、核心组件架构的设计亮点

2.1 服务启动器(源代码路径:`cook/__main__.py`)

依赖管理:自动协调服务启动顺序,解决依赖问题

健康检查:实时监管服务状态,支持自动修复故障

弹性设计:网络中断可自动重连,指数退避算法

信号处理:支持优雅关闭信号,并自动清理资源


2.2 FastMCP 服务

(`cook/recipe_mcp/recipe_mcp_server.py`)

支持双协议:HTTP API + WebSocket,适应不同客户端

声明式工具注册:通过装饰器快速添加功能,开发更便捷

类型安全:Pydantic 模型确保参数验证

健康监管:内置状态检查和性能监管


2.3 统一代理层(`cook/recipe_agent.py`)

数据代理:统一数据源访问接口

LLM 代理:封装智能推荐算法,支持多场景推荐、智能去重

缓存策略:多级缓存提升性能,减少网络请求

配置管理:支持灵活的参数配置


2.4 集成涂鸦 MCP SDK(`src/mcp_sdk/`)

认证机制:安全的签名验证和访问控制

连接管理:WebSocket 连接池和心跳检测

消息路由:高效的消息分发和处理

恢复异常:网络出现错误时可自动重连、恢复状态


02
开发前期准备

1、开发需要哪些资源?

1.1 登录涂鸦平台账号

注册并登录涂鸦 AI 云开发者平台:https://platform.tuya.com/

1.2 获取 LLMAPI 访问权限

我们推荐使用通义千问,下方是对应的大模型,调用大模型所需的 API 密钥,需在阿里云平台开通授权:

`qwen3-30b-a3b-instruct-2507`

1.3 开发环境

Python 3.10+ 环境,且支持访问涂鸦和 LLM API 的网络环境。


2、提前规划你想要实现的功能

美食管家:支持丰富的菜谱推荐和膳食计划


多场景推荐:支持每日/周、聚餐三种场景的菜谱推荐


智能去重:避免推荐相似菜品,确保菜谱多样性


科学推荐:融合天气、地点、人数、过敏原等因素


联动智能厨电:支持联动烤箱、电饭煲等电器


附近食材推荐:接入高德地图,快速定位采购点



03
实战开发:从代码到部署

1. 什么是涂鸦 MCP SDK?

1.1 MCP SDK 架构组成

753e63d2-8fbc-11f0-8ce9-92fbcf53809c.png

1.2配置关键参数

```python# Tuya MCP SDK 配置MCPSdkConfig( endpoint="wss://your-tuya-endpoint.com", # 涂鸦平台提供的 WebSocket 端点 access_id="your-access-id", # 涂鸦平台分配的访问 ID access_secret="your-access-secret", # 涂鸦平台分配的访问密钥 heartbeat_interval=30, # 心跳间隔 reconnect_interval=5, # 重连间隔)# 自定义 MCP 服务配置MCPClientConfig( server_endpoint="http://localhost:9000/mcp",# 本地 MCP 服务端点 timeout=30 # 请求超时时间)```

2、创建自定义 MCP 服务的核心代码

2.1 开发核心业务工具

```pythonfromfastmcpimportFastMCPfrompydanticimportFieldfromtypingimportAnnotatedclassRecipeMCPServer: def__init__(self, api_key:str=None, model:str="qwen-max"): self.app = FastMCP("Cook MCP Server") self.api_key = api_key self.model = model self._register_tools()
def_register_tools(self): """注册自定义工具 - 这是核心部分"""
@self.app.tool asyncdefget_recipes_by_category( category: Annotated[str, Field(description="菜谱分类:水产、早餐、荤菜等")] ) ->str: """根据分类查询菜谱""" # 实现具体业务逻辑 returnawaitself._query_recipes_by_category(category)```

2.2 集成涂鸦 MCP SDK

```pythonfrommcp_sdkimportcreate_mcpsdkasyncdefstart_cook_mcp_service(): """启动完整的 Cook MCP 服务"""
# 1. 创建自定义 MCP 服务 mcp_server = RecipeMCPServer( data_source=config.data_sourceor"url", api_key=config.api_key, model=config.model, base_url=config.base_url )
# 2. 启动本地 MCP 服务 server_task = asyncio.create_task( mcp_server.start_server(host="localhost", port=9000) )
# 3. 连接 Tuya MCP SDK asyncwithcreate_mcpsdk( endpoint="https://your-tuya-endpoint.com", access_id="your-access-id", access_secret="your-access-secret", custom_mcp_server_endpoint="http://localhost:9000/mcp" )assdk: awaitsdk.run()```

3、在涂鸦平台创建和配置 MCP 服务

3.1 创建自定义 MCP 服务

3.1.1 登录涂鸦 AI 云开发者平台,进入【MCP 管理】界面,自定义MCP 服务。

7552686e-8fbc-11f0-8ce9-92fbcf53809c.png

3.1.2 完成上述操作后,点击【添加自定义 MCP】,填写下方信息:

服务名称:美食管家

服务描述:基于 AI 的智能菜谱推荐和膳食计划服务,支持根据天气、位置、人数等因素提供个性化饮食建议

图标:上传美食相关图标


3.2 配置数据中心+获取认证信息

在【服务详情】页面,点击【添加数据中心】

选择合适的数据中心区域

复制下方配置信息:

``` 接入地址 (Endpoint):https://xxx.tuya.com Access ID:tuyaxxxxxxxxxxxx Access Secret:xxxxxxxxxxxxxxxxxxxxxxxx ```

4、本地开发和测试

4.1 环境准备和代码部署

```bash# 1. 克隆 Cook MCP 项目gitclonehttps://github.com/flyhawk1010/cook-mcp.gitcdcook-mcp# 2. 创建虚拟环境python -m venv .venvsource.venv/bin/activate # Linux/macOS# .venv\Scripts\activate # Windows# 3. 安装依赖pip install -e .```

4.2 启动服务并验证

```bash# 启动完整服务(MCP 服务 + Tuya SDK)python -m cook all \ --endpoint$MCP_ENDPOINT\ --access-id$MCP_ACCESS_ID\ --access-secret$MCP_ACCESS_SECRET\ --custom-mcp-server-endpoint http://localhost:9000/mcp \ --api-key$API_KEY\ --model$MODEL\ --base-url$BASE_URL# 验证服务状态curl http://localhost:9000/healthcurl http://localhost:9000/recipes/status```

5、在涂鸦平台调试 MCP 服务

5.1 检查服务状态

在涂鸦平台选择【MCP 管理】>【自定义 MCP 服务】

进入【服务详情】页面

在数据中心配置下,检查服务状态是否成功连接


5.2调试测试工具

5.2.1 点击【工具】选项卡,查看自动发现的工具列表(这里为菜谱功能分类)

756c5d64-8fbc-11f0-8ce9-92fbcf53809c.png

5.2.2 选择一个工具进行试运行

测试 1:按分类查询

```json { "category": "水产" } ```

测试 2:智能推荐

```json { "location":"北京三里屯", "weather":"北京今日天气为晴,最低温度 15℃,最高温度 25℃,空气质量优", "categories":"荤菜,素菜", "people_count": 4, "taste_preferences":"清淡,营养" } ```

3.点击【运行】,查看返回结果

4.确认左下角显示【调试通过】


04
配置知识库

1、创建知识库

在配置智能体之前,我们需要为智能体添加知识库,以提升智能体在特定领域的专业能力。

1.1 进入知识库管理

在智能体配置页面,找到【知识库】选项

757e03fc-8fbc-11f0-8ce9-92fbcf53809c.png

点击【创建知识库】,选择【AI Agent 知识库】

75913ff8-8fbc-11f0-8ce9-92fbcf53809c.jpg

1.2 创建菜谱知识库,并按照下方图片配置相关信息。

75a91eca-8fbc-11f0-8ce9-92fbcf53809c.jpg

2、添加知识库内容

2.1 手动添加菜谱知识

点击【新增知识】,添加你想要的菜谱信息。

75b76dd6-8fbc-11f0-8ce9-92fbcf53809c.png75cc6d9e-8fbc-11f0-8ce9-92fbcf53809c.png

2.2 批量导入知识

如果手头有大量的菜谱数据,可以点击【导入】,并按照提示完成批量知识库的上传。

3、知识库管理

在知识库列表中,拥有已发布、草稿和未发布三种状态

支持编辑和维护知识

支持搜索和筛选知识

75ddf294-8fbc-11f0-8ce9-92fbcf53809c.png

4、智能体集成知识库

在智能体配置中,可添加已完成设置的菜谱知识库。

75ecd426-8fbc-11f0-8ce9-92fbcf53809c.png

5、配置知识库的注意事项

5.1 内容格式

最好使用能统一格式的菜谱参数,如菜品名称、烹饪温度、烹饪时间等。

5.2 标签分类

为不同类型的菜谱添加分类标签,如早餐、荤菜、快手菜等。

5.3 设备兼容性

明确标注该系统适用的设备类型和品牌型号。


05
配置智能体+体验最终效果

1、创建智能体

1.1 复制下方链接,进入【我的智能体】页面,点击【创建智能体】配置基本信息:

https://platform.tuya.com/exp/ai

75fbc3c8-8fbc-11f0-8ce9-92fbcf53809c.png

2、配置智能体技能

2.1 添加官方技能

在【模型能力配置】>【技能配置】中添加:天气技能、智能家居设备控制、高德地图关键字搜索。

2.2 添加自定义 Cook MCP 服务

在【技能配置】中找到【MCP 服务】

选择【自定义 MCP 服务】

找到并添加【美食管家】服务

确认下方所有工具都已启用

756c5d64-8fbc-11f0-8ce9-92fbcf53809c.png

3、智能体提示词优化

具体提示词的话术,大家可从角色设定、背景、核心任务、规则和约束等方面,分别给智能体进行详细的提示,可参考下方图片:

76281068-8fbc-11f0-8ce9-92fbcf53809c.png763d54c8-8fbc-11f0-8ce9-92fbcf53809c.png

4、实战测试和调试效果

Q
推荐一些水产类的菜谱
智能体:[调用 get_recipes_by_category 工具]
Q
今天 4 个人吃晚餐,有什么推荐的?
智能体:[先调用天气工具获取天气],[再调用 recommend_recipes_for_dinner 工具]

5、正式发布和体验

点击【发布】并选择发布范围(仅自己、团队或公开),AI 美食管家的开发就大功告成!你可以在手机端跟它对话,咨询菜谱、规划个性化的饮食建议、推荐附近好吃的餐馆;也能联动家里的蒸箱、烤箱或电饭煲,来个一站式的懒人版自制美食。

7655ccba-8fbc-11f0-8ce9-92fbcf53809c.jpg
06
开发经验大总结

1、开发要点

采用微服务架构,实现服务间松耦合与独立扩展

工具描述尽量清晰,参数类型细分准确

考虑到所有可能出现的错误情况,并实现完善的异常处理和重试机制

使用缓存机制,避免重复计算


2、调试技巧

坚持本地优先测试,逐步部署

启用详细日志,快速定位问题

采用渐进式功能扩展策略,先部署基础功能,再逐步添加复杂功能


3、扩展建议

集成更多食谱和营养信息,丰富数据源

建立用户偏好模型,实现更精准的菜谱推荐

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SDK
    SDK
    +关注

    关注

    3

    文章

    1113

    浏览量

    52208
  • MCP
    MCP
    +关注

    关注

    0

    文章

    296

    浏览量

    15118
  • 涂鸦智能
    +关注

    关注

    7

    文章

    327

    浏览量

    20789
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【K230/K230D 新技能点亮】手把手教你在RTOS系统添加一个屏幕|保姆级教程

    不少开发者反馈:项目里常用的小众型号、未适配的SPI/QSPI/MCU屏幕,该怎么在K230/K230D上驱动?别急,今天这篇保姆级教程,就来手把手教你搞定自定义屏幕适配,解锁更多低成本小屏方
    的头像 发表于 05-23 10:05 2633次阅读
    【K230/K230D 新技能点亮】<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>在RTOS系统添加一个屏幕|保姆级教程

    BNC连接器规格尺寸避雷指南:手把手教你避开选型常见坑

    堆砌,手把手教你通过自检清单精准排雷,确保射频链路在数千次插拔后依然稳如泰山。10年避坑经验总结,助你告别选型错误带来的报废风险,让每一个接头都实现真正的“无损传输”。
    的头像 发表于 05-13 09:34 1217次阅读
    BNC连接器规格尺寸避雷指南:<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>避开选型常见坑

    射频头坏了只能扔?手把手教你维修排查TNC插头,干货值得收藏!

    射频接头坏了只能剪掉重做?未必!本文由蜂优选(elecbee)专家亲授,深度拆解 TNC 插头的维修排查全流程。从中心针偏移纠偏、氧化层化学清理到组装式接头的无损重组,手把手教你如何通过 VNA
    的头像 发表于 04-14 17:12 258次阅读
    射频头坏了只能扔?<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>维修排查TNC插头,干货值得收藏!

    手把手教你学51单片机-C语言版

    ,没有专业的人员带领大家入门。 基于这些原因,我们编写了这本《手把手教你学51单片机-C语言版》(第3版),并且配套了相关的视频教程、电子教案、源代码和实验开发板(详情浏览青岛金思特电子有限公司网站获取
    发表于 03-05 11:47

    瑞芯微RKNPU开发全指南:从环境搭建到性能优化,一文搞定边缘AI部署

    的轻量化 NPU,都需要通过RKNN SDK实现模型部署。今天这篇文章,我们就从 SDK 核心组件、开发全流程、进阶优化到避坑指南,手把手教你
    的头像 发表于 02-06 16:35 4520次阅读
    瑞芯微RKNPU<b class='flag-5'>开发</b>全指南:从环境搭建到性能优化,一文搞定边缘<b class='flag-5'>AI</b>部署

    从0到1,10+年资深LabVIEW专家,手把手教你攻克机器视觉+深度学习(5000分钟实战课)

    “告别检测系统能力缺陷!10+年LabVIEW视觉资深专家手把手教你:5000+分钟高清教程(含工具、算法原理、实战操作、项目优化全流程讲解)”——从传统视觉算法→深度学习建模→工业级部署"
    的头像 发表于 12-02 08:07 890次阅读
    从0到1,10+年资深LabVIEW专家,<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>攻克机器视觉+深度学习(5000分钟实战课)

    迅为Hi3403开发板极速启航 | 手把手带你玩转核心例程,轻松上手AI视觉!

    迅为Hi3403开发板极速启航 | 手把手带你玩转核心例程,轻松上手AI视觉!
    的头像 发表于 11-19 13:56 1945次阅读
    迅为Hi3403<b class='flag-5'>开发</b>板极速启航 | <b class='flag-5'>手把手</b>带你玩转核心例程,轻松上手<b class='flag-5'>AI</b>视觉!

    【迅为RK3568开发板NPU实战】别再闲置你的NPU!手把手教你玩转RKNN-Toolkit2 的使用

    【迅为RK3568开发板NPU实战】别再闲置你的NPU!手把手教你玩转RKNN-Toolkit2 的使用
    的头像 发表于 11-11 14:21 1690次阅读
    【迅为RK3568<b class='flag-5'>开发</b>板NPU实战】别再闲置你的NPU!<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>玩转RKNN-Toolkit2 的使用

    【RK3568 NPU实战】别再闲置你的NPU!手把手带你用迅为资料跑通Android AI检测Demo,附完整流程与效果

    【RK3568 NPU实战】别再闲置你的NPU!手把手带你用迅为资料跑通Android AI检测Demo,附完整流程与效果
    的头像 发表于 11-10 15:58 1335次阅读
    【RK3568 NPU实战】别再闲置你的NPU!<b class='flag-5'>手把手</b>带你用迅为资料跑通Android <b class='flag-5'>AI</b>检测Demo,附完整流程与效果

    涂鸦联动动画《卡琪巴卜》IP!MCP+AI半小时让普通秒变AI味道精灵

    一、火爆AI技术圈的MCP有什么用?作为上半年AI领域最火爆的技术焦点之一,MCP已经飞速进入协议红利期。2025年3月,OpenAI宣布全面兼容M
    的头像 发表于 09-05 17:46 1410次阅读
    <b class='flag-5'>涂鸦</b><b class='flag-5'>联动</b>动画《卡琪巴卜》IP!<b class='flag-5'>MCP+AI</b>半小时让普通<b class='flag-5'>厨</b><b class='flag-5'>电</b>秒变<b class='flag-5'>AI</b>味道精灵

    手把手教你AT指令APN设置:专网连接零门槛!

    无论你的技术背景如何,本教程都将以手把手的方式,拆解AT指令APN设置的全流程。专网连接不再是门槛,即刻开启自主配置之旅! APN是设备连接到运营商网络的“身份证” ——当设备插入SIM卡并注册到
    的头像 发表于 09-04 14:40 1536次阅读
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b>AT指令APN设置:专网连接零门槛!

    RT-Thread Nano硬核移植指南:手把手实现VGLite图形驱动适配 | 技术集结

    VGLite是NXP提供的轻量级2D图形API,本文将手把手带你实现VGLite图形驱动适配RT-Thread。文章分为上、下两篇,将手把手教您移植。上篇对RT-ThreadNano内核与Finsh组件进行移植,下篇则教您改写SDK
    的头像 发表于 07-17 14:40 3756次阅读
    RT-Thread Nano硬核移植指南:<b class='flag-5'>手把手</b>实现VGLite图形驱动适配 | 技术集结

    【精选直播】手把手教你做PC第十二课:WIFI 驱动框架适配

    手把手教你做PC》系列直播课再度开播!《KaihongOS笔记本电脑开发实战第十二课:WIFI驱动框架适配》将于07月02日19:00开播↑扫码入群,领课程讲义资料包↑深开鸿资深工程师亲临直播间
    的头像 发表于 07-01 08:08 803次阅读
    【精选直播】<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做PC第十二课:WIFI 驱动框架适配

    【精选直播】手把手教你做星闪无人机第十课:KaihongOS Lite系统专题

    手把手教你做星闪无人机》系列直播课再度开播!《KaihongOS星闪无人机开发实战⑩:KaihongOSLite系统专题》↑扫码入群,领课程讲义资料包↑深开鸿资深工程师亲临直播间依托笔
    的头像 发表于 06-10 08:06 702次阅读
    【精选直播】<b class='flag-5'>手把手</b><b class='flag-5'>教你</b>做星闪无人机第十课:KaihongOS Lite系统专题

    手把手教你如何调优Linux网络参数

    并发网络服务场景中,Linux内核的默认网络参数往往无法满足需求,导致性能瓶颈、连接超时甚至服务崩溃。本文基于真实案例分析,从参数解读、问题诊断到优化实践,手把手教你如何调优Linux网络参数,支撑百万级并发连接。
    的头像 发表于 05-29 09:21 1330次阅读