关于 day2-mcp-and-context-sync
面向 Claude Code 用户的教学技能,带领用户学习 MCP 并构建 Context Sync 技能。课程按模块推进,结合动手练习,并严格分为讲解与执行两轮。
主要功能
- 01分步学习 MCP
- 02创建 Context Sync 技能骨架
- 03练习连接 Slack、Notion、Linear 和 Google
- 04逐步填充 STUB
- 05讲解与执行分两阶段
适用场景
- 01学习 MCP 服务与工具的连接方式
- 02构建从已连接服务收集上下文的技能
- 03练习使用 Connector、命令行和 Plugin 连接服务
MCP 相关
讲解 MCP 概念,并指导用户通过 Connector、`claude mcp add` 和 Plugin 将服务连接到 Claude Code。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ ai-native-camp/ camp-2 --skill day2-mcp-and-context-sync安装后在 Claude Code 中输入/day2-mcp-and-context-sync确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/block0-concept.mdblock1-add-server.mdblock10-finalize.mdblock2-mcp-command.mdblock3-popular-servers.mdblock4-plugin-mcp.mdblock5-template-creation.mdblock6-connector-slack.mdblock7-mcp-add-notion.mdblock8-plugin-linear.mdblock9-skill-google.mdscripts/mcp_servers.pytemplates/context-sync.md详细介绍
第 2 天:MCP 与上下文同步
调用此技能时,必须遵守以下 STOP PROTOCOL。
术语说明
此技能中使用的核心术语:
| 术语 | 说明 |
|---|---|
| MCP | Model Context Protocol。连接 AI 与外部工具的开放标准。就像 USB-C 一样,按照统一规范连接各种服务 |
| Host / Client / Server | MCP 的 3 个要素。Host=AI 应用(Claude Code),Client=连接管理器,Server=外部工具提供方 |
| Transport | MCP 服务的连接方式。有 HTTP(云服务)和 stdio(本地运行)两种 |
| Plugin | 将 Skill + MCP + Hook + Agent 打包在一起的套件。只需一行安装命令,即可自动连接 MCP 服务 |
| subagent | Claude 调用另一个 Claude 来完成任务。用于同时处理多项任务 |
| Explore 代理 | 用于了解项目文件夹结构的专业 subagent。只读 |
| API | 服务提供的数据入口。没有 MCP 时,直接通过代码获取数据的方法 |
| 技能(Skill) | 教 Claude Code 如何完成特定任务的文档。就是在第 1 天 Block 3-2 中体验过的内容 |
| STUB | 留待以后填充的空白处。表示“内容将在这里补充”。在 Part B 中逐个填充每个区块中的 STUB |
| 骨架 | 仅包含空白处(STUB)的框架。就像建筑只搭好了钢结构 |
| frontmatter | 文件顶部由 --- 包围的信息区域。用于填写技能名称、说明、触发条件等 |
| YAML / JSON | 整理数据的格式。就像用 Excel 表格整理数据一样,以文本形式整理数据 |
| CLI | Command Line Interface。直接在终端中输入命令的方式 |
STOP PROTOCOL — 绝对禁止违反
此协议是此技能的最高优先级规则。 违反以下规则会导致课程无法顺利进行。
每个区块必须分 2 轮进行
┌─ Phase A (첫 번째 턴) ──────────────────────────────┐
│ 1. references/에서 해당 블록 파일의 EXPLAIN 섹션을 읽는다 │
│ 2. 기능을 설명한다 │
│ 3. references/에서 해당 블록 파일의 EXECUTE 섹션을 읽는다 │
│ 4. "지금 직접 실행해보세요"라고 안내한다 │
│ 5. ⛔ 여기서 반드시 STOP. 턴을 종료한다. │
│ │
│ ❌ 절대 하지 않는 것: 퀴즈 출제, QUIZ 섹션 읽기 │
│ ❌ 절대 하지 않는 것: AskUserQuestion 호출 (Block 6,7,8,9,10 제외)│
│ ❌ 절대 하지 않는 것: "실행해봤나요?" 질문 │
└──────────────────────────────────────────────────────────┘
⬇️ 사용자가 돌아와서 "했어", "완료", "다음" 등을 입력한다
┌─ Phase B (두 번째 턴) ──────────────────────────────┐
│ 1. references/에서 해당 블록 파일의 QUIZ 섹션을 읽는다 │
│ 2. AskUserQuestion으로 퀴즈를 출제한다 │
│ 3. 정답/오답 피드백을 준다 │
│ 4. 다음 블록으로 이동할지 AskUserQuestion으로 묻는다 │
│ 5. ⛔ 다음 블록을 시작하면 다시 Phase A부터. │
└──────────────────────────────────────────────────────────┘
核心禁令(绝对禁止违反)
- Phase A 中不得调用 AskUserQuestion(Block 6、7、8、9、10 除外)——这 5 个区块必须由用户选择或确认,因此例外
- Phase A 中不得出测验题——仅在 Phase B 中读取 QUIZ 部分
- Phase A 中不得询问“试着运行过了吗?”——等用户主动提起
- 不得在一轮中同时进行 EXPLAIN + QUIZ——必须分成 2 轮
输出官方文档 URL(绝对不可遗漏)
每个区块的 Phase A 开始时,必须原样输出对应 reference 文件顶部的 > 官方文档: URL。
📖 공식 문서: [URL]
- 如果 reference 文件中有多个 URL,必须全部输出
- 不得概述或省略 URL
- 参与者必须能够直接点击查看官方文档
Phase A 结束时的必备语句
Phase A 结束时,必须输出以下格式的语句,然后停止:
---
👆 위 내용을 직접 실행해보세요.
실행이 끝나면 "완료" 또는 "다음"이라고 입력해주세요.
输出此语句后,不得调用任何工具(包括 AskUserQuestion),也不得输出任何额外文本。
所需时间
| Part | 区块 | 预计时间 |
|---|---|---|
| Part A:深入了解 MCP | Block 0~4 | ~60 分钟 |
| Part B:创建 Context Sync 技能 | Block 5~10 | ~110 分钟 |
| 合计 | Block 0~10 | ~170 分钟 |
核心策略
Part A:从 MCP 概念到 Plugin,系统地学习
从 MCP 的概念(Block 0)开始,依次学习添加服务(Block 1)、探索工具(Block 2)、安装热门服务(Block 3),并扩展到 Plugin(Block 4)。
Part B:4 个工具 × 4 种连接方式——循序渐进地构建
按以下方式进行:
- 在 Block 5 中,基于
templates/context-sync.md创建一个包含 4 个来源 STUB 的骨架技能文件 - 在 Block 6~9 中,每个区块用不同的连接方式连接一个工具,并将对应来源的 STUB 填充为实际内容
- 在 Block 10 中,完善执行流程和输出格式,并运行整个技能
核心:不是一次性连接 4 个工具,而是在每个区块中练习不同的连接方式。
Part B 区块结构
| Block | 连接方式 | 工具 | 难度 | 时间 |
|---|---|---|---|---|
| 5 | — | 全部 | — | ~12 分钟 |
| 6 | claude.ai Connector | Slack | ★☆☆☆ | ~15 分钟 |
| 7 | claude mcp add | Notion | ★★☆☆ | ~18 分钟 |
| 8 | Official Plugin (/plugin) | Linear | ★★★☆ | ~15 分钟 |
| 9 | 社区 Plugin(结构分析) | Google Calendar/Gmail | ★★★★ | ~20 分钟 |
| 10 | —(并行收集 + 输出 + 收尾) | 全部 | — | ~20 分钟 |
循序渐进地构建——填充模板的顺序
Block 5: [STUB] [STUB] [STUB] [STUB] [STUB흐름] [STUB포맷]
Block 6: [Slack] [STUB] [STUB] [STUB] [STUB흐름] [STUB포맷]
Block 7: [Slack] [Notion] [STUB] [STUB] [STUB흐름] [STUB포맷]
Block 8: [Slack] [Notion] [Linear] [STUB] [STUB흐름] [STUB포맷]
Block 9: [Slack] [Notion] [Linear] [Google] [STUB흐름] [STUB포맷]
Block 10: [Slack] [Notion] [Linear] [Google] [완성흐름] [완성포맷] → 실행!
区块与来源的对应关系
| Block | 填充的来源 | 连接方式 | 技能文件的修改部分 |
|---|---|---|---|
| 5 | —(生成骨架) | — | 生成完整骨架 |
| 6 | 来源 1:Slack | Connector | 来源 1 STUB → 实际内容 |
| 7 | 来源 2:Notion | claude mcp add | 来源 2 STUB → 实际内容 |
| 8 | 来源 3:Linear | /plugin install | 来源 3 STUB → 实际内容 |
| 9 | 来源 4:Google | 社区 Plugin | 来源 4 STUB → 实际内容 |
| 10 | —(完成 + 运行) | — | 完善执行流程 + 输出格式 |
区块特殊规则
Part A(Block 0~4)
- Block 4 [BONUS]:仅在有剩余时间时进行
- 完成 Block 3 后,介绍 Part A 总结 → 引导转入 Part B
- 在 Part A 中学到的 MCP 知识,将直接用于 Part B 的工具连接(Block 7)
第 B 部分(Block 5~10)
- Block 5(生成骨架):Phase A 介绍 Context Sync 概念和 4 种连接方式,通过 Explore 探索项目,并基于
templates/context-sync.md生成骨架 → Stop。Phase B 进行测验。 - Block 6(Connector → Slack):Phase A 讲解 Connector 概念,介绍如何连接 Slack Connector,进行测试并填写技能来源 1 → Stop。Phase B 进行测验。
- Block 7(mcp add → Notion):Phase A 讲解
claude mcp add,通过 AskUserQuestion 确认 Notion,注册 MCP 服务,进行测试并填写技能来源 2 → Stop。Phase B 进行测验。 - Block 8(Plugin → Linear):Phase A 讲解 Plugin 概念,运行
/plugin install linear,确认 MCP 自动注册,进行测试并填写技能来源 3 → Stop。Phase B 进行测验。 - Block 9(社区 Plugin → Google):Phase A 分析 Plugin 结构,通过 AskUserQuestion 选择 Calendar/Gmail,通过 Explore 探索 Plugin 结构,进行安装并填写技能来源 4 → Stop。Phase B 进行测验。
- Block 10(并行采集 + Output + 收尾):Phase A 通过 AskUserQuestion 选择输出格式,完善执行流程和输出格式,并行采集 4 个来源并检查结果 → Stop。Phase B 进行综合测验并收尾。
AskUserQuestion 特殊区块
| Block | 原因 |
|---|---|
| Block 6 | 确认是否使用 Slack(如果公司账户受限,则介绍替代方案) |
| Block 7 | 确认是否使用 Notion workspace |
| Block 8 | 确认是否使用 Linear(如果未使用,则介绍替代 Plugin) |
| Block 9 | 选择 Google Calendar、Gmail 或两者 |
| Block 10 | 选择 Output format |
Block 6 特殊规则
Block 6 的 Phase A 使用 AskUserQuestion。需要确认是否使用 Slack 以及能否连接。
使用 Slack 时:
- 在 claude.ai/settings/connectors 中连接 Slack Connector
- 通过
/mcp确认其已注册到 claude.ai 区域 - 测试连接后填写技能来源 1
未使用 Slack 或公司账户受限时(Plan B):
- 连接个人 Slack workspace 或 AI Native Camp Slack
- 说明体验 Connector 连接方式本身是重点
⚠️ 安全提示:公司 Slack 可能因管理员策略而禁止连接外部应用。这种情况下请使用个人 workspace。
Block 7 特殊规则
Block 7 的 Phase A 使用 AskUserQuestion。需要确认是否使用 Notion。
核心原则:由 Claude 代为完成设置,用户确认结果。
使用 Notion 时:
- 执行
claude mcp add --transport http notion https://mcp.notion.com/mcp - 通过
/mcp确认其已注册到 local 区域 - 测试连接后填写技能来源 2
未使用 Notion 时(Plan B):
- 使用
scripts/mcp_servers.py搜索替代 MCP 服务 - 从搜索结果中选择,并通过
claude mcp add注册
Block 8 特殊规则
Block 8 的 Phase A 使用 AskUserQuestion。需要确认是否使用 Linear。
使用 Linear 时:
- 执行
/plugin install linear - 通过
/mcp确认 Linear MCP 已自动注册到 local 区域 - 测试连接后填写技能来源 3
未使用 Linear 时(Plan B):
- 使用
/plugin命令查看可安装的其他官方 Plugin 列表 - 如果有正在使用的工具对应的 Plugin,则安装该 Plugin
- 如果没有 Plugin,则可以跳过 Block 8 并前往 Block 9
- 核心:目标是体验 Plugin 安装 → MCP 自动注册这一过程
⚠️ 安装 Plugin 后可能需要重启 Claude Code。如果看不到 MCP 连接,请重启 Claude Code。
Block 9 特殊规则
Block 9 的 Phase A 使用 AskUserQuestion。需要选择 Google Calendar、Gmail 或两者。
Phase A 进行顺序:
- 阅读
references/block9-skill-google.md的 EXPLAIN 部分,并讲解 Plugin 结构 - 执行
/plugin marketplace add team-attention/plugins-for-claude-natives - 通过 AskUserQuestion 选择 Calendar/Gmail/两者/Skip
- 使用 Explore Agent 探索并讲解 Plugin 目录结构
- 安装所选工具的 Plugin、进行测试并填写技能来源 4 → Stop
Block 10 特殊规则
Block 10 的 Phase A 使用 AskUserQuestion。需要选择 Output format。
References 文件映射
Part A:MCP 深入介绍
| 区块 | 文件 | 主题 |
|---|---|---|
| Block 0 | references/block0-concept.md | 理解 MCP 概念 |
| Block 1 | references/block1-add-server.md | 添加 MCP 服务 |
| Block 2 | references/block2-mcp-command.md | 使用 /mcp 命令探索工具 |
| Block 3 | references/block3-popular-servers.md | 探索并安装热门 MCP 服务 |
| Block 4 [BONUS] | references/block4-plugin-mcp.md | 使用 /plugin 扩展 MCP |
Part B:创建 Context Sync 技能(4 个工具 × 4 种连接方式)
| 区块 | 文件 | 主题 |
|---|---|---|
| Block 5 | references/block5-template-creation.md | Context Sync 概念 + Explore + 创建骨架 |
| Block 6 | references/block6-connector-slack.md | 通过 Connector 连接 Slack + 填写技能源 1 |
| Block 7 | references/block7-mcp-add-notion.md | 通过 claude mcp add 连接 Notion + 填写技能源 2 |
| Block 8 | references/block8-plugin-linear.md | 通过 /plugin install 连接 Linear + 填写技能源 3 |
| Block 9 | references/block9-skill-google.md | 分析 Plugin 结构 + 连接 Google + 填写技能源 4 |
| Block 10 | references/block10-finalize.md | 并行收集 + 选择 Output + 最终执行 + 收尾 |
文件路径是相对于此 SKILL.md 的路径。 每个 reference 文件由
## EXPLAIN、## EXECUTE、## QUIZ部分组成。
Templates / Scripts 文件映射
| 文件 | 用途 |
|---|---|
templates/context-sync.md | Context Sync 技能基础模板(包含 Slack、Notion、Gmail、GCal 4 种服务) |
scripts/mcp_servers.py | 从 GitHub 搜索 MCP 服务 + 解析 README.md + 安装指南 |
Gmail/Calendar 等数据收集脚本将在 Block 7 中由 Claude 根据用户的选择直接编写。
进度规则
- 一次进行一个区块
- 通过“下一个”“skip”或区块编号/名称跳转
- 只有时间充裕时才进行 BONUS 区块(Block 4)
- 完成 Part A(Block 0~4)后,自然转到 Part B(Block 5~10)。在 Part A 中学到的 MCP 知识会直接用于 Part B 的工具连接(Block 6~9)
- 逐个填写在 Block 5 中创建的骨架技能文件的 STUB。在 Block 6~9 中连接工具后,将相应的源章节替换为实际内容
- 在用户项目的
.claude/skills/my-context-sync/目录中创建技能 - 在 Block 6~9 中分别通过 Connector、mcp add、Plugin 和社区 Plugin 练习不同的连接方式
- Explore Agent 和 subagent 的使用是关键,因此请积极使用
- 如果用户提出有关 Claude Code 的问题,请使用 claude-code-guide Agent(内置工具)回答。回答后,分步骤指导用户亲自操作;提问时使用 AskUserQuestion。如果认为内置 Agent 的回答不准确,请使用
curl将官方文档保存到文件,然后使用 Read 工具仔细阅读,并基于准确信息重新回答
开始
开始技能时,先安装最新课程,然后选择区块。
Step 1:安装最新技能
输出以下命令并使用 Bash 执行:
npx skills add ai-native-camp/camp-2 --agent claude-code --yes
简要说明执行结果(例如:“技能已安装为最新版本”)。
Step 2:选择区块
显示下表,并使用 AskUserQuestion 询问从哪里开始。
Part A:深入了解 MCP
| Block | 主题 | 内容 |
|---|---|---|
| 0 | MCP 概念 | MCP 是什么、USB-C 类比、架构 |
| 1 | 添加服务 | 通过 claude mcp add 连接实际服务 |
| 2 | 探索 /mcp | 查看已连接的服务和工具列表 |
| 3 | 热门服务 | 从官方列表安装实用服务 |
| 4 [BONUS] | Plugin + MCP | 通过 /plugin 安装包含 MCP 的插件 |
Part B:创建自己的 Context Sync 技能(4 个工具 × 4 种连接方式)
| Block | 连接方式 | 工具 | 内容 |
|---|---|---|---|
| 5 | — | 全部 | Context Sync 概念 + 创建骨架 |
| 6 | Connector | Slack | 通过浏览器点击连接 Slack |
| 7 | claude mcp add | Notion | 通过 CLI 命令连接 Notion |
| 8 | Plugin(/plugin) | Linear | 通过官方 Plugin 连接 Linear |
| 9 | 社区 Plugin | 分析 Plugin 结构 + 连接 Google | |
| 10 | — | 全部 | 并行收集 + Output + 最终执行 |
AskUserQuestion({
"questions": [{
"question": "Day 2: MCP & Context Sync\n\n어디서부터 시작할까요?",
"header": "시작 블록",
"options": [
{"label": "Part A: MCP 개념 (Block 0)", "description": "MCP가 뭔지, 왜 필요한지부터 시작"},
{"label": "Part A: 서버 추가 (Block 1)", "description": "MCP 개념을 알고 있어서 실습부터"},
{"label": "Part B: 스켈레톤 생성 (Block 5)", "description": "MCP를 이미 알고 있어서 스킬 만들기부터"},
{"label": "Part B: Notion 연결 (Block 7)", "description": "Slack은 연결했고, mcp add로 Notion 연결부터"}
],
"multiSelect": false
}]
})
选择开始区块后 → 从该区块的 Phase A 开始。