MCP 学习资源横评:8 个入口 + Python 50 行 demo(2026)

37 阅读12分钟

MCP(Model Context Protocol)落到代码层面就是 JSON-RPC 加几个固定方法名。从 stdio 到 SSE 到 Streamable HTTP 三种 transport 的核心差异,配合一份 50 行 Python demo 跑通就能体感到位。这篇做两件事:一是横评目前能找到的 8 个 MCP 入门资源(含 GitHub 链接、是否有可运行代码、坑在哪),二是给出一份 FastMCP 50 行 echo+真实 API server 代码 + transport 选型说明,省得你在 8 个资源里来回翻找。

不打算在这里复述协议背景,直接进资源点评和代码部分。

5.webp

一、8 个资源横评对比表

资源类型语言含可运行代码需 Python学完能做什么时长
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

二、逐个点评

2.1 Anthropic 官方文档(modelcontextprotocol.io)

这份是唯一的一手参考。整体编排是 Introduction → Quickstart → Concepts → Specification。Quickstart 里 "For Server Developers" 那段写了个最简的 weather server,跑通后能在 Claude Desktop 里发起调用,这步是判断你环境对不对的最直接信号。Concepts 章节把 Resources、Tools、Prompts 三种 primitive 的语义和约束分别讲清楚,是骨架内容必读。Specification 那段是完整的 JSON-RPC schema,第一次读可以跳过,写第二个 server 时回来对照即可。

老实评价:文档把"协议长什么样"讲得全,但"为什么这么设计"和"工程里怎么组织代码"几乎没讲。Quickstart 之后直接掉进 Specification 看 JSON schema,中间缺一层"业务怎么落地"的过渡。建议配合 FastMCP 一起读。

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

这份 README 是中文 MCP 资料里 GitHub star 数最高的,工作流覆盖了 uv 起虚拟环境、写一个最小 echo server、在 Cursor 的 mcp.json 里挂载、验证 tool 调用是否生效。配图是真实运行截图,按图索骥跑得通。

老实评价:术语翻译跟官方对不上,primitive 同一篇里"原语"和"基本单元"两种翻译都出现过。仓库迭代快,部分代码片段对应早期 SDK 版本,跑的时候偶尔会撞到 API 不兼容。开读前先看一眼最近一次 commit 时间。

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

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

这类知乎长文不会带你写代码,它的价值是补 MCP 这件事的行业脉络——LangChain Tool 抽象哪里别扭、Function Calling 和 MCP 各负责哪一段、Cursor / Windsurf 这类 IDE 为什么愿意接入。读完聊天不外行,但写 server 还得另外练。

老实评价:质量参差,几篇明显是 GPT 翻译官方文档凑字数。挑作者主页有真实代码 repo 的版本看,纯文字爆款多半没读过 spec。

2.4 FastMCP Python SDK(gofastmcp.com)

只看一个英文资源就看这个。作者 Jeremiah Lowin 同时是 Prefect 创始人,工程审美在线。文档分四段——Tutorials(十几行代码出 server)、Concepts(Tool / Resource / Prompt / Context 四种核心抽象)、Patterns(auth / middleware / async tool / 生命周期 hook / 错误处理 / 依赖注入 / Composition)、Deployment(stdio / SSE / Streamable HTTP 三种 transport + Docker + reverse proxy + 健康检查)。

分层关系上看:官方 @modelcontextprotocol/sdk 提供的是底层接口,必须手写 JSON-RPC handler 与对应 schema;FastMCP 在其上做了一层抽象,给一个 @mcp.tool() 装饰器加类型注解就能自动产出 JSON Schema,开发体验跟 FastAPI 几乎对齐。除非要做协议层底层研究,业务侧基本可以全栈走 FastMCP。

文档里 Server Composition 那一节尤其值得读,讲了怎么把多个独立 server 用 mount 拼起来,对真实项目"业务模块化"特别有用。

老实评价:只覆盖 Python,TS 这边没有同等量级的封装。Patterns 段假设你写过 FastAPI 或类似框架,纯小白上来读 middleware 和依赖注入会懵——建议先在 FastAPI 写过两三个项目再回头看。MIT 协议。

2.5 anthropics/skills

URL:github.com/anthropics/…

把它列出来的原因是搜 MCP 经常会撞到 Anthropic Skills 这个相邻概念。Skill 与 MCP 不是同一层东西——Skill 在 Claude 端做能力打包,MCP 是协议层抽象——但两者都指向"让 Claude 能调用外部工具",并且很多 Skill 的内部正好就嵌着 MCP server。Anthropic 把 17 套官方 Skill 完整开源在这里,分别覆盖 PDF 处理、PowerPoint 生成、Excel 操作、Webpage screenshot 等场景,每一套都包含 SKILL.md 说明文档、可运行实现以及测试用例,对学习"工业级 Skill 的目录和代码该怎么摆"是当前最直接的参考样本。

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

2.6 Anthropic Academy / Skilljar

URL:anthropic.skilljar.com

Anthropic 自己的官方培训门户,托管在 Skilljar 上,目前 13 门左右免费课,覆盖 Prompt Engineering / Tool Use / Claude Code / MCP / Agent Building。MCP 那门课内容跟官方文档高度重合,但有视频 + quiz,对不喜欢读纯文字的人友好。注册免费,需要邮箱。

老实评价:节奏偏慢,视频里讲的东西文档 10 分钟能读完。优点是能拿到 Anthropic 官方的 completion 凭证,简历上能写一行"Anthropic Academy: MCP Fundamentals"。

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

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

匠人学院的策略是把 MCP 嵌在 AI Engineer Bootcamp 里作为其中一周的模块,不单卖。课程跟前面 6 个公开资源比,差异点集中在"中文 + 真实业务 MCP server demo + 一对一 review"这条主线上:模块结束时学员要交一份自己写的 server——可以是 Notion 适配、内部 API wrapper、数据库查询工具,由华人导师把代码读完、留中文 review。这一段反馈在 Anthropic 官方文档或 FastMCP 文档里是拿不到的,文档替不了真人 review。

老实评价:因为定位是 4 周整门 Bootcamp,MCP 模块嵌在中间一周,想纯粹学 MCP 这一项的同学会觉得绕路。要 cover 全套 AI Engineer 内容(包括 Agent、RAG、Eval、Prompt)才物有所值;只想要 MCP 一项技能、不想学其他的人,这门课不是性价比之选。具体定价以官网为准。

2.8 菜鸟教程 MCP 协议页

URL:www.runoob.com 站内搜 "MCP"

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

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

三、50 行 Python FastMCP demo(echo + 真实 API)

下面这份代码在 Python 3.10+ + pip install fastmcp httpx 后能直接跑。包含两个 tool:一个 echo(最小可运行 demo),一个 get_github_repo(演示怎么调真实公开 API)。

# server.py
import httpx
from fastmcp import FastMCP

# 1. 创建 server 实例。name 会出现在 Claude Desktop 的 UI 里
mcp = FastMCP("demo-server")

# 2. echo tool——最小 hello world,验证 client 连得通
@mcp.tool()
def echo(text: str) -> str:
    """Echo the input text back. Used for sanity check."""
    return f"echo: {text}"

# 3. 真实 API tool——查 GitHub repo 的 star 数
@mcp.tool()
async def get_github_repo(owner: str, repo: str) -> dict:
    """Fetch basic info of a GitHub repo (stars, forks, description).

    Args:
        owner: GitHub org or user name (e.g. 'anthropics').
        repo: repo name (e.g. 'skills').
    """
    url = f"https://api.github.com/repos/{owner}/{repo}"
    async with httpx.AsyncClient(timeout=10) as client:
        r = await client.get(url)
        r.raise_for_status()
        data = r.json()
    return {
        "full_name": data["full_name"],
        "stars": data["stargazers_count"],
        "forks": data["forks_count"],
        "description": data.get("description") or "",
    }

# 4. transport 选择:stdio 适合本地 + Claude Desktop;SSE / streamable-http
#    适合远程多用户。这里默认 stdio,改 transport='sse' 即可切远程。
if __name__ == "__main__":
    mcp.run(transport="stdio")

跑起来:python server.py。在 Claude Desktop 配置文件 claude_desktop_config.json 里加:

{
  "mcpServers": {
    "demo-server": {
      "command": "python",
      "args": ["/absolute/path/to/server.py"]
    }
  }
}

重启 Claude Desktop,就能在对话里直接说"用 demo-server 查一下 anthropics/skills 这个 repo 的 star 数"。

Transport 选型 cheat sheet

  • stdio:本地进程间通信,server 跟 client 同机器。Claude Desktop / Cursor 默认走这条。优点是配置简单不用 auth;缺点是不能多用户/远程。
  • SSE(Server-Sent Events):远程长连接,server 跑在 HTTP 端口上。多用户场景用这个。需要自己处理 auth 和 rate limit。
  • Streamable HTTP:MCP 后期加的新 transport,比 SSE 更通用,支持双向流。生产环境推荐这条。FastMCP 的 Deployment 段有完整范例。

FastMCP @mcp.tool() 装饰器底层做了什么

它把你写的函数做了三件事:(1) 读函数签名 + 类型注解,自动生成 JSON Schema 作为 inputSchema;(2) 把函数 docstring 解析成 description,让模型看到时知道这个 tool 是干嘛的;(3) 注册到 MCP server 内部 tool 表,等 Client 发 tools/list RPC 的时候返回。所以你写 Python 类型注解越严谨,模型调用得越准——这点跟 FastAPI 一模一样。

如果用官方 @modelcontextprotocol/sdk(TS)写一个等价 server,你需要手写 setRequestHandler('tools/list', ...)setRequestHandler('tools/call', ...) 两个 handler,自己拼 JSON Schema、自己 dispatch tool name 到对应函数。代码量大概是 FastMCP 的 3-4 倍。这就是为啥 Python 这边写 server 主流是 FastMCP。

四、按顺序走的学习路线

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

  1. 第 1 步(30 分钟):菜鸟教程 + 知乎《MCP 一篇就够了》。先把概念在脑子里建好,纯阅读不动手。
  2. 第 2 步(1 小时):Anthropic 官方文档 Introduction + Quickstart。Quickstart 里那个 weather server 必须自己跑通——这是判断"Python 环境、Claude Desktop 配置、协议理解"三件事的硬卡点。跑不通先解决环境。
  3. 第 3 步(2 小时):用 FastMCP 跑通本文第三段那 50 行 demo,然后改成"调你自己关心的真实 API"(查股票、查公司内部 API、查数据库)。目的是让你脱离 reference 实现,自己拼 tool 出来。
  4. 第 4 步(半天):去 anthropics/skills 挑一个跟你业务相关的 Skill(做内容的看 pdf,做爬虫的看 webpage-to-markdown),代码读完、跑起来、改一处行为(改输出格式或加一个参数)。这一步是看"工业级代码怎么组织"。
  5. 第 5 步:自己想一个真实业务场景的 MCP server——对接公司内部 API、对接 Notion、对接数据库都行。从需求到代码到部署到接进 Claude Desktop / Cursor 全流程走一遍。这一步走完,可以在简历上写"会写 MCP server"。
  6. 第 6 步(可选):如果第 5 步发现没人 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 这条只适合本地 IDE 集成(Claude Desktop / Cursor);多用户远程访问场景要切到 SSE 或 Streamable HTTP,剩下的鉴权、限流、可观测性都得自己加。FastMCP 文档的 Patterns 段提供了较完整范例参考。

学完 MCP 能找到工作吗? MCP 单项不够用。它是 AI Engineer 岗位的加分能力,要跟 RAG 检索、Agent 编排、Eval 评测、Prompt Engineering 一起成体系展示出来。从 2025 下半年开始,澳洲和美国的 AI Engineer JD 普遍把 "tool use"、"agent frameworks"、"MCP" 这几项写到职位要求里。匠人学院的 /learn/ai-engineer 学习路径正是这套能力的完整组合。

写在最后

这 8 个资源各有取舍,不存在某一个"压倒性最好":官方文档结构严谨但缺工程化语境,FastMCP 工程性能打但只覆盖 Python 一边,国内中文资料入门快但常常跟最新 SDK 脱节。按前文那条学习路线挨个跑,挑跟自己目标契合度最高的两三个深读即可,其它放手边当工具书。本文里那 50 行 Python demo 我会单独维护到一个 GitHub repo 上,关键词搜 "JR Academy MCP demo" 即可定位,有 SDK 升级会同步更新。

匠人学院的 AI Engineer 学习路径见 jiangren.com.au/learn/ai-en…