快速上手
本章用官方 SDK 写一个 加法 Tool(外加一个回声 Tool),再用 Inspector 调用。不接 Cursor / Claude Code,也能确认协议走通。
最小 server.py
在已激活的虚拟环境中创建 server.py:
这就是完整的 Stdio Server:MCPServer 名称会出现在 Client 的身份信息里;@mcp.tool() 从函数名、docstring 和类型注解生成 schema;无参数的 mcp.run() 走 stdio。if __name__ == "__main__" 必须保留,否则 mcp dev 一 import 就会再开一台 Server。
网上仍大量出现
from mcp.server.fastmcp import FastMCP。那是官方 SDK v1 的类名。v2 请用上面的导入。行为(装饰器 +run())保持一致。
用 Inspector 打开
方式 A:SDK CLI(推荐)
方式 B:直接把启动命令交给 Inspector
浏览器打开打印出的 URL。在 Tools 页应看到 add 与 echo。给 add 填 a=1、b=2,调用后结果为 3。给 echo 填任意字符串,应原样返回。
Inspector 做的事与真实 Host 一样:把 server.py 当子进程拉起,走 stdio 发 tools/list / tools/call。
可选:CLI 一次性调用
不打开浏览器时:
列出工具后,再调用(具体 flag 以当前 Inspector --help 为准):
可选:内存里当 Client 测
不启进程、不占端口,适合以后写 pytest:
from mcp import Client 与 from mcp.server import MCPServer 是两条导入路径,没有 from mcp import MCPServer。
可选:改走 Streamable HTTP
把入口改成:
然后:
另开一个终端,用 Inspector 连远程 HTTP(以当前 Inspector 帮助为准,常见是 --server-url + --transport http):
学协议阶段继续用 stdio + mcp dev 即可。
清单
- venv 中
pip install "mcp[cli]" - 保存上面的
server.py mcp dev .\server.py(Unix:mcp dev ./server.py)- 在 Inspector 里调用
add与echo - (可选)
Client(mcp)或 Streamable HTTP
失败时先看 stderr 与 Inspector 连接面板,而不是聊天窗口。stdio 的 stdout 是协议线,不要在 Tool 里 print 调试。