当前位置:首页 > 技术分享 > 正文内容

OpenClaw Skill + MCP Server 开发实战:从瑞幸咖啡集成到自定义Skill搭建

Openclaw3个月前 (06-20)技术分享426
OpenClaw Skill开发实战

2026年,OpenClaw生态迎来了里程碑式的扩展。从4月正式支持MCP协议,到5月Skill Workshop审核上线,再到6月Workboard多Agent编排发布——OpenClaw已经从一个单纯的AI聊天网关,进化成一个完整的智能体开发平台。本文将带读者深入理解OpenClaw的Skill + MCP Server架构,并通过真实案例——瑞幸咖啡Skill的源码拆解,手把手教你搭建自己的自定义Skill。

一、理解OpenClaw Skill架构

在OpenClaw中,Skill是赋予AI Agent特定能力的模块化指令集。一个Skill本质上是一份SKILL.md文件,它告诉AI Agent在面对特定场景时应该如何思考、调用哪些工具、遵循什么流程。

Skill有两种形态:

  • instruction-only Skill:纯指令技能,不包含可执行代码。SKILL.md里全是"如果用户点咖啡,先查门店、再搜商品、最后下单"这样的规则描述。AI Agent理解并执行这些规则。
  • 代码Skill:包含可执行脚本或插件,有实际的逻辑处理能力。适用于复杂业务场景。

绝大多数面向日常业务的Skill都是instruction-only类型。这意味着你不需要会编程,只需要会写结构化文档,就能创建复杂的交互式Skill。

二、MCP Server:Skill的后端支柱

MCP(Model Context Protocol)是一种标准化的工具通信协议,由Anthropic提出。在OpenClaw中,MCP Server充当Skill与外部世界的桥梁

一个完整的OpenClaw应用由四层构成:

OpenClaw Skill + MCP Server 架构图

▲ OpenClaw Skill + MCP Server 四层架构总览

  • 信道层:微信、Discord、Telegram等聊天入口
  • Agent核心层:会话管理、记忆系统、工具调度、模型路由
  • Skill指令层:定义Agent行为的业务规则和流程
  • MCP Server层:实际执行外部操作的"手和脚"

三、真实案例:瑞幸咖啡Skill源码拆解

2026年6月,瑞幸咖啡官方发布了OpenClaw平台上的my-coffee-skill,这是目前最完善的商业MCP + Skill集成案例。让我们拆开看看它长什么样。

3.1 MCP Server端(瑞幸提供)

瑞幸在开放平台部署了一套Streamable HTTP MCP Server,暴露了8个核心工具:

类别 工具名 功能
门店queryShopList按经纬度查询附近门店
商品searchProductForMcp搜索匹配商品
switchProduct切换商品属性(杯型/温度/糖度)
queryProductDetailInfo查看商品详情
订单previewOrder订单预览(原价、优惠、实付)
createOrder创建订单(生成支付二维码)
queryOrderDetailInfo查询订单状态
cancelOrder取消订单

MCP Server的配置非常简单:

{{{  // OpenClaw 配置中的 mcp.servers 部分
  "mcp": {
    "servers": {
      "my-coffee": {
        "url": "https://gwmcp.lkcoffee.com/order/user/mcp",
        "transport": "streamable-http",
        "headers": {
          "Authorization": "Bearer <你的Token>"
        },
        "timeout": 30000
      }
    }
  }
}}}

3.2 Skill端(OpenClaw配置)

Skill侧是一份纯指令的SKILL.md,定义了完整的业务交互流程:

## 下单流程
1. 询问用户需要什么饮品,以及杯型、温度、糖度
2. 用 searchProductForMcp 搜索匹配商品
3. 确认选择后用 previewOrder 预览订单
4. 展示优惠信息(照单全收,不修改)
5. 用户确认后调用 createOrder
6. 展示支付二维码和可点击链接

## 约束规则
- 必须先预览再下单(不可跳步)
- 优惠券必须原样透传
- 只能自取,不支持配送
- Token必须完整、不能脱敏

OpenClaw中的Skill注册同样简单:

{{{  // OpenClaw 配置中的 skills.entries
  "skills": {
    "entries": {
      "my-coffee": { "enabled": true }
    },
    "load": {
      "extraDirs": ["/path/to/my-coffee-skill"]
    }
  }
}}}

四、实战:从零搭建一个"每日科技早报"Skill

理解了架构之后,我们动手搭建一个真实的Skill。需求:每天早上8点,Agent自动抓取科技资讯,生成一份摘要推送到微信。

步骤1:编写SKILL.md

---
name: daily-tech-briefing
description: 每日科技早报,聚合科技资讯生成摘要推送到微信
metadata:
  openclaw:
    emoji: "📰"
---

# 每日科技早报 Skill

## 触发方式
- Cron定时触发:每天早上8:00
- 用户手动输入"今日科技"

## 执行流程
1. 使用 web_search 搜索过去24小时的关键科技新闻
2. 关键词列表:AI、OpenClaw、大模型、编程、开源
3. 选择热度最高的5条新闻
4. 为每条生成100字摘要
5. 聚合为 Markdown 格式早报
6. 通过 WeChat 信道推送给用户

## 输出格式
- 标题:"📰 每日科技早报 - YYYY-MM-DD"
- 每条新闻:编号 + 标题 + 摘要 + 来源链接
- 末尾:一句AI生成的小贴士

步骤2:注册MCP工具(如果需要)

这个Skill不需要自定义MCP Server,直接使用OpenClaw内置的 web_search 工具即可。如果需要对接自己的数据源,可以搭建一个简单的MCP Server:

// Node.js MCP Server 示例(30行代码)
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";

const server = new Server({ name: "my-server", version: "1.0.0" }, {
  capabilities: { tools: {} }
});

server.setRequestHandler(ListToolsRequestSchema, async () => ({
  tools: [{
    name: "fetch_news",
    description: "获取科技资讯",
    inputSchema: {
      type: "object",
      properties: {
        category: { type: "string" },
        count: { type: "number" }
      }
    }
  }]
}));

server.setRequestHandler(CallToolRequestSchema, async (request) => {
  if (request.params.name === "fetch_news") {
    // 实际调用你的数据源
    return { content: [{ type: "text", text: "..." }] };
  }
});

const transport = new StdioServerTransport();
await server.connect(transport);

步骤3:配置到OpenClaw

# 将Skill目录放入 extraDirs 路径
mkdir -p ~/skills/daily-tech-briefing
vim ~/skills/daily-tech-briefing/SKILL.md
# 粘贴上面的SKILL.md内容

# 配置 cron 定时任务(OpenClaw内置,无需crontab)
openclaw cron add --name "daily_tech" \
  --schedule "0 8 * * *" \
  --payload '{"kind":"agentTurn","message":"执行每日科技早报"}'

五、Skill开发最佳实践

  • 流程大于代码:instruction-only Skill的核心价值在于流程编排,而不是代码实现。把业务规则写清楚,AI Agent会自己理解执行。
  • 先预览再提交:对于涉及支付、下单、数据修改的操作,永远先让用户确认预览结果。
  • Token安全管理:MCP Server的认证信息通过OpenClaw配置文件管理,绝不写死在Skill文件里。
  • 幂等设计:确保同一个指令重复执行不会产生副作用,特别是创建/提交类操作。
  • 善用CRON:OpenClaw内置了完整的cron系统,定时任务不需要外部依赖。
  • 版本管理:Skill可以通过CDN分发(如瑞幸的 unpkg CDN),实现版本隔离和自动更新。

六、总结与展望

OpenClaw的Skill + MCP架构,本质上是一种指令驱动、工具解耦的智能体开发模式。Skill决定"做什么"和"怎么做",MCP Server负责"实际去做"。这种分离设计带来两大好处:

  1. 业务开发者不需要懂后端:写一份SKILL.md就能定义复杂的交互流程,技术门槛极低。
  2. 后端服务可以复用:同一个MCP Server可以被多个Skill调用,也可以提供给不同的Agent平台使用。

瑞幸咖啡的行动已经表明一个趋势:2026年下半年,将有更多企业通过MCP + Skill的方式向AI Agent开放服务。对于开发者来说,现在就是掌握这套技术栈的最佳时机。

OpenClaw官网:https://openclaw.ai

GitHub地址:https://github.com/openclaw/openclaw

扫描二维码推送至手机访问。

版权声明:本文由点度点度金讯时代-BLOG发布,如需转载请注明出处。

本文链接:https://www.lmwmm.com/post/2556.html

分享给朋友:

“OpenClaw Skill + MCP Server 开发实战:从瑞幸咖啡集成到自定义Skill搭建” 的相关文章

“如果飞机平安落地,我笑着送你走出客舱,如果不能,我陪你走到最后。”

“如果飞机平安落地,我笑着送你走出客舱,如果不能,我陪你走到最后。”

中国民航安全运行记录...4227天,今日归零。最新消息除了人数上更新为132人(原先报道是133人),暂无其他。民航局已启动应急机制,派出工作组赶赴现场。从下午3点半开始,看着无数民航人朋友圈的我,真的破防了...眼泪绷不住的往出冒。也许…

普通2.4g遥控车改4g遥控车资料-8266

普通2.4g遥控车改4g遥控车资料-8266

  背景:传统遥控器都是航模为代表的2.4G遥控器,它们在室外且无障碍物时遥控距离很长,可达几千米,但是有障碍物时,遥控距离可能仅有10多米。市面上也有一些2.4g遥控改装4G的,是读取2.4g遥控信号,并转发至服务器,…

专家建议:2G、3G退网,5G取代4G!!

专家建议:2G、3G退网,5G取代4G!!

2023年了,你升级5G网络了吗?近日,工信部公布数据显示,去年我国新建5G基站88.7万个,目前5G基站总量已达到231.2万个,占全球比例超过60%,5G网络建设稳步推进,网络覆盖能力持续提升。我国在用户占比上也领先全球水平,5G用户(…

12家国内外AI大模型及申请体验地址汇总

12家国内外AI大模型及申请体验地址汇总

近期,由ChatGPT引发的AI军备竞赛,可谓是百家齐鸣,眼花缭乱,应接不暇。本周,国内外多家大公司像约好了一样,纷纷发布或即将发布自己的AI大模型。这些公司分布在各行各业,可能都是想借助大模型提升自己的核心竞争力,在新一轮的科技竞赛中处于…

通過CE修改器來跑滿百度網盤和迅雷的下載速度! Cheat Engine 7.5

通過CE修改器來跑滿百度網盤和迅雷的下載速度! Cheat Engine 7.5

1.Cheat Engine 是一款內存修改編輯工具 ,它允許你修改你的遊戲或軟件內存數據,以得到一些其他功能。它包括16進制編輯,反彙編程序,內存查找工具。與同類修改工具相比,它具有強大的反彙編功能,且自身附帶了外掛製作工具,可…

科大讯飞再燃大模型“战火”,赶超ChatGPT并非目的,应用端才是关键

科大讯飞再燃大模型“战火”,赶超ChatGPT并非目的,应用端才是关键

日前,科大讯飞发布星火认知大模型,让火热的“大模型”战场再燃战火。对自家产品,科大讯飞董事长刘庆峰称,“三项能力超过ChatGPT”。如今,国内大模型战场,已经汇聚百度、阿里、华为、腾讯等重磅玩家。这些大模型,与ChatGPT有多远的距离?…