8 个 MCP 入口 + 用 MCP 串起 8 个工具的架构图(30 天复盘)

0 阅读10分钟

我把日常用的 8 个工具——VS Code、Notion、Linear、Slack、Postgres、S3、Stripe、自家业务 API——全串到一个 MCP host 上跑了 30 天。这篇先把架构图画出来,再回过头点评 8 个 MCP 学习资源(哪些值得读、哪些是水分),最后给一条按顺序走的学习路线。

读这篇的前置:你大概知道 MCP(Model Context Protocol)是 Anthropic 在 2024 年 11 月开源的协议,约定"AI 模型怎么调外部工具"——Server 暴露能力、Client(Claude Desktop / Cursor / 自研 Agent)按同一份协议调,传输层走 stdio、SSE 或 Streamable HTTP。落到代码就是 JSON-RPC 加几个固定方法名。

16.png

一、把 8 个工具串到一个 MCP host:架构图

                    ┌──────────────────────┐
                    │   Claude Desktop /    │
                    │   Cursor / 自研 Agent │   ← MCP Host
                    └──────────┬───────────┘
                               │ MCP protocol
            ┌──────────────────┼──────────────────┐
            │                  │                  │
       stdio (本地)        SSE (远程)      Streamable HTTP (远程)
            │                  │                  │
   ┌────────┼────────┐  ┌──────┼──────┐    ┌──────┼──────┐
   │        │        │  │      │      │    │      │      │
┌──┴──┐ ┌──┴──┐ ┌──┴──┐│  ┌───┴──┐ ┌─┴──┐  │ ┌────┴────┐ │
│ FS  │ │ Git │ │ DB  ││  │Notion│ │Stripe│  │  Linear │ │
│MCP  │ │MCP  │ │MCP  ││  │ MCP  │ │ MCP │  │  MCP    │ │
└──┬──┘ └──┬──┘ └──┬──┘│  └───┬──┘ └─┬──┘  │ └────┬────┘ │
   │       │       │  │      │      │     │      │      │
本地文件   本地仓库  Postgres  Notion  Stripe   Linear API
                   (RDS)    (REST)   (REST)   (REST)
                                              │
                                       ┌──────┴──────┐
                                       │  S3 / Slack │
                                       │  自家 API   │
                                       └─────────────┘

整个 host 看 Client 那侧只有一个对话框,背后是 8 个独立 server 用三种 transport 接进来。stdio 走本地文件系统、git 仓库、本地 Postgres 这种"必须就近访问"的资源;SSE 给远程 SaaS(Notion / Stripe / Linear);Streamable HTTP 给自家业务 API(这条是 MCP 后期加的,比 SSE 更通用)。

跑 30 天后的几个观察:

  1. stdio server 之间冲突最少——各开一个进程互不干扰,但 Claude Desktop 的 config 文件能挂的进程数有上限,超过 8 个就开始变慢。
  2. SSE 长连接对网络抖动敏感——公司 VPN 断线后 server 重连要 30 秒,开发体验差。
  3. Streamable HTTP 是新方向——FastMCP 文档里明确说 2026 之后会作为推荐 transport,老项目从 SSE 迁过来值得排上 Q2 任务。

聊完架构进资源点评。

二、8 个 MCP 学习资源对比表

资源类型语言含可运行代码学完能做什么时长
Anthropic 官方文档文档是(Quickstart)理解协议 + 跑 reference server2-4h
liaokongVFX/MCP-Chinese-Getting-Started-GuideGitHub是(少量)30 分钟到 Cursor 跑通30-60m
知乎《MCP 一篇就够了》系列文章概念扫盲 + 行业语境1h
FastMCP(gofastmcp.com)代码 + 文档是(大量)写 production-ready server4-8h
anthropics/skillsGitHub是(17 Skill)看官方完整 Skill 怎么写半天起
Anthropic Academy / Skilljar课程部分系统过 Anthropic 全家桶几小时-十几小时
匠人学院 AI Engineer Bootcamp(含 MCP 模块)课程是(项目作业)中文教 + 改 + 评闭环4 周
菜鸟教程 MCP 协议页文档30 分钟概念扫盲30m

三、点评(按"值不值得花时间"排)

3.1 Anthropic 官方文档(modelcontextprotocol.io)

这是唯一的一手资料,章节顺序:Introduction、Quickstart、Concepts、Specification。Quickstart 那段 "For Server Developers" 实现的 weather server 必须自己跑通——这步同时验证 Python 环境、Claude Desktop 配置、对协议本身的理解三件事是否到位。Concepts 章节把 Resources、Tools、Prompts 三种 primitive 拆开讲清楚,是协议的核心结构必读。Specification 是 JSON-RPC schema 的完整对照表,第一遍读可以跳过,写第二个 server 时再翻。

吐槽:把"协议长什么样"讲得很全,但"为什么这么设计"和"工程里怎么组织代码"几乎不讲。Quickstart 之后直接掉进 Specification 看 schema,中间缺一层"业务怎么落"的过渡。配合 FastMCP 一起读才完整。

3.2 FastMCP(gofastmcp.com)

只看一个英文资源就看这个。作者 Jeremiah Lowin 同时是 Prefect 创始人,工程审美一流。文档分 Tutorials / Concepts / Patterns / Deployment 四段。Patterns 段最值钱——auth、middleware、async tool、生命周期 hook、错误处理、依赖注入、Composition(多个 server 拼成一个),全是写第二个 server 才会撞上的工程问题。我那 8 个工具 host 的 SSE auth 全是从 Patterns 段抄过来的。

跟官方 @modelcontextprotocol/sdk 的关系:官方 SDK 是底层要自己拼 JSON-RPC handler;FastMCP 是高层,跟 FastAPI 一个手感(@mcp.tool() 装饰器即可)。绝大多数业务场景直接用 FastMCP。

吐槽:只覆盖 Python,TS 这边没有同等量级的封装。Patterns 段假设你写过 FastAPI,纯小白上来读 middleware 和依赖注入会懵。MIT 协议。

3.3 anthropics/skills(17 个官方 Skill 示例)

URL:github.com/anthropics/…

这个 repo 是看"工业级代码怎么组织"的最佳样本——17 个完整 Skill(PDF 处理、PowerPoint 生成、Excel 操作、Webpage screenshot 等),每个都有 SKILL.md + 实现代码 + 测试用例。Skill 跟 MCP 是两个概念但实现里很多用到了 MCP server,对架构思维很有帮助。

吐槽:onboarding 文档几乎没有,README 短到只能告诉你"这是 skills",新手不知道从哪个 Skill 开始读。建议从 pdf 入门,再看 webpage-to-markdown 学怎么调外部服务,看完这两个再去看 xlsx

3.4 liaokongVFX/MCP-Chinese-Getting-Started-Guide

中文 MCP 教程里 GitHub star 最高的一个。覆盖 uv 装环境、写最简单 echo server、Cursor 配置文件挂上、验证调用。配图是真实截图。

吐槽:术语翻译跟官方对不上(primitive 一会"原语"一会"基本单元"),仓库迭代快部分代码片段对应早期 SDK 跑会撞 API 不兼容。开读前先看一眼最近一次 commit 时间。

3.5 知乎《MCP 一篇就够了》系列

URL:在知乎搜索 "MCP 一篇就够了",挑作者主页有真实 MCP server repo 的版本。同名文章十几篇,点赞过千的两三篇质量明显高于其他。

补"为什么会有 MCP"的行业上下文:之前 LangChain Tool 抽象的问题、Function Calling 和 MCP 的分工、各家 IDE 为什么愿意支持。读完能跟人聊 MCP 是干嘛的,但还写不出来。

吐槽:质量参差,几篇明显是 GPT 翻译官方文档凑字数。挑作者主页有真实代码 repo 的版本看。

3.6 Anthropic Academy / Skilljar

URL:anthropic.skilljar.com

Anthropic 自己的官方培训门户,13 门左右免费课。MCP 那门内容跟官方文档高度重合,但有视频 + quiz。注册免费要邮箱。

吐槽:节奏慢,文档 10 分钟读完的东西视频要半小时。优点是能拿到 completion 凭证写简历。

3.7 匠人学院 AI Engineer Bootcamp 里的 MCP 模块

URL:jiangren.com.au/learn/ai-en…

匠人学院把 MCP 模块嵌在 4 周 AI Engineer Bootcamp 里其中一周教,不单独成课。差异点很窄但很实在:中文教学 + 真实业务 MCP server demo + 导师 review 闭环。模块结束需要交一个能解真实业务问题的 server——常见选题是接 Notion、对公司内部 API 做 wrapper 或者跑一段 DB 查询——交完由华人导师审 code 写中文 review。这是单看 6 个公开资源拿不到的反馈,因为文档只能教语法不会改你的代码。

吐槽:MCP 嵌在四周 Bootcamp 里作为其中一周内容,纯冲 MCP 来的人节奏会觉得不对——你得跟整门 AI Engineer 课程一起走。Agent / RAG 这些章节如果你不感兴趣,整体性价比会下降。

3.8 菜鸟教程 MCP 协议页

URL:runoob.com 站内搜 "MCP"

菜鸟教程的优势永远是"30 分钟把概念扫一遍"。是什么 / 为什么 / 怎么用 / 一个最小例子。给完全没接触过 AI 协议的人入门用。

吐槽:内容深度浅,跑过 hello world 之后这页面就再也用不到了。

四、VS Code / Cursor MCP 配置文件踩坑实录

我那个 8 工具 host 的过程里,配置文件是踩坑最多的地方。挑几个典型说说:

坑 1:Claude Desktop config 路径搞错。 macOS 上路径是 ~/Library/Application Support/Claude/claude_desktop_config.json,不在 ~/.config 下。我第一次按 Linux 习惯找,找了二十分钟。

坑 2:command 字段必须是绝对路径。python 而不是 /usr/local/bin/python 会让 Claude Desktop 用一个完全不同的 Python 去启 server,导致 import 失败。建议用 which python 拿到绝对路径再粘进去。

坑 3:env 变量不会从 shell 继承。.zshrc 里 export 的 OPENAI_API_KEY 在 MCP server 进程里读不到,必须在 config 里显式 "env": {"OPENAI_API_KEY": "..."}。这条 FastMCP 文档没强调,但生产部署必经。

坑 4:Cursor 的配置位置和 Claude Desktop 完全不同。 Cursor 走 settings.json 里的 cursor.mcp.servers 字段,跟 Claude Desktop 的 JSON schema 不一样。同一个 server 要在两边各配一份。

五、按顺序走的学习路线

照下面顺序走,一周时间能从"听过 MCP"走到"写过自己的 MCP server"。

  1. Day 1 上午(30 分钟):菜鸟教程 + 知乎《MCP 一篇就够了》。先把概念建好,纯阅读不动手。
  2. Day 1 下午(1 小时):Anthropic 官方文档 Introduction + Quickstart。weather server 必须跑通。
  3. Day 2-3(共 4 小时):用 FastMCP 跑通 hello world,然后改成"调真实公开 API"(查股票、查 GitHub repo、查公司内部 API)。
  4. Day 4(半天):去 anthropics/skills 挑一个跟你业务相关的 Skill,代码读完、跑起来、改一处行为。这一步是看"工业级代码怎么组织"。
  5. Day 5-7:自己想一个真实业务场景的 MCP server——对接公司内部 API、对接 Notion、对接数据库都行。从需求到代码到部署到接进 Claude Desktop / Cursor 全流程走一遍。这一步走完,可以在简历上写"会写 MCP server"。
  6. 可选第 2 周:如果发现没人 review 你的代码、不知道写得行不行、想要求职导向反馈,可以考虑匠人学院 AI Engineer Bootcamp 的 MCP 模块——会有中文导师改代码并给评语。

六、被问烂的 FAQ

MCP 和 Function Calling 啥区别? Function Calling 在模型层,做的事是把模型的"我要调某函数"用 JSON 输出来;MCP 在协议层,定义 server 怎么暴露 tool、client 怎么找到并触发它、用哪种 transport。简化说就是:表达意图是 Function Calling 的事,把意图跨进程/跨语言传过去把结果送回来是 MCP 的事。两个互补,不冲突。

学 MCP 之前要先学 LangChain 吗? 不用。两条相对独立的技术线。

Python 还是 TypeScript? Python 有 FastMCP 高层封装写起来快;TS 这边官方 SDK 是底层接口要自己写更多胶水代码,但跟前端工具链(VS Code 插件、Cursor 扩展)配合更顺。两边都能写出 production server。

MCP 能用在生产环境吗? 可以,但 transport 必须挑对。stdio 只能跑本地一对一场景;多用户远程要切到 SSE 或 Streamable HTTP,并自行接好 auth、限流和监控这套基建。FastMCP 文档的 Patterns 段有可以拿来对照的范例。

学完 MCP 能找到工作吗? 光会 MCP 不够。它是 AI Engineer 岗位的加分项,要配合 RAG、Agent、Eval、Prompt Engineering 一起学。匠人学院 /learn/ai-engineer 把这条路径整理成了完整学习路线。

写在最后

8 个工具串到一个 MCP host 跑 30 天,最大收获不是"AI 又能干一件事",是"我重新审视了自己每天的工具链——哪些适合 AI 介入、哪些应该手动"。8 个学习资源没有"最好",按上面的路线挑跟你目标契合的深读,剩下的当 reference。

如果有掘金读者也在搭自己的 MCP host,欢迎评论区扔架构图来交流。我把本文 ASCII 架构图升级版(mermaid + 实际配置示例)放在了 掘金个人专栏 跟匠人学院学习社区里同步。 更多详情可以在JR Academy匠人学院网站查看:jiangren.com.au/program-cou…