快速开始
刚接触 MCP,或者刚接触这个 SDK?从这里开始。这几页会带你从零开始,做出一个能用、经过测试的服务器:安装 SDK、构建第一个服务器、把它接入真实的宿主,然后用内存客户端测试它。
运行代码
所有代码块都可以直接复制使用:它们都是完整、可运行的文件。
想跟着做,就把某个代码块粘贴到 server.py 里,再用 MCP Inspector 打开:
uv run mcp dev server.py
强烈建议亲手写(或者复制)这些代码,改一改,然后在本地运行。只有在自己的编辑器里真正用上,才能体会到关键所在:要写的代码非常少,有自动补全,还没运行,类型检查就已经把错误找出来了。
不用靠猜
这些文档中的每个示例,都是 SDK 自身仓库 docs_src/ 目录下的完整文件;SDK 的测试套件会通过内存客户端把它们逐一运行一遍:
import pytest
from mcp import Client
from server import mcp
@pytest.mark.anyio
async def test_add() -> None:
async with Client(mcp) as client:
result = await client.call_tool("add", {"a": 1, "b": 2})
assert result.structured_content == {"result": 3}
没有子进程,不占端口,也不经过任何传输。Client(mcp) 直接连到服务器对象上。
如果对 SDK 的某次改动弄坏了这些页面上的某个示例,CI 会在页面出问题之前先变红。这里读到的代码,就是实际运行的代码。
在测试中你会亲手用到它;测试自己的服务器,用的也是这个方法。
接下来去哪里
服务器跑起来之后,其余文档就是参考手册,而不是课程。每一页都自成一体,需要什么就直接跳过去看: