(LST) Model Context Protocol 101
动机、参考资料、涉及内容
- 官方文档 https://modelcontextprotocol.io: 例子已跑通, 但目前还没有试验出 claude 一次回复里有多个工具调用的情形
- 官方 GitHub 组织 https://github.com/modelcontextprotocol
- MCP 协议规格说明书 https://spec.modelcontextprotocol.io: 还没读
- python-sdk https://github.com/modelcontextprotocol/python-sdk: README 里的例子还没有跑通, 后续需要对照协议规格说明书阅读
- inspector https://github.com/modelcontextprotocol/inspector
MCP 协议规格说明
协议的术语规范 (下面同一个单元格内的表述完全等价) 例如: MUST=SHALL=REQUIRED
强制程度 | 肯定形式 | 否定形式 |
强制 | MUST/REQUIRED/SHALL | MUST NOT/SHALL NOT |
推荐 | SHOULD/RECOMMENDED | SHOULD NOT/NOT RECOMMENDED |
可选 | MAY/OPTIONAL | 无否定形式 |
MISC
关于 inspector:
@modelcontextprotocol/inspector@0.6.0
算是一个 MCP Host? 它可以连接 MCP Server, 可以用来测试 MCP Server 的工具 (其实包含 resources/prompts/tools/sampling/roots), 但不包含LLM对话逻辑
疑问: uv run mcp dev server.py
时提示安装 @modelcontextprotocol/inspector@0.6.0
应该是一个 nodejs 包, 但是却找不到安装位置, 而这条命令实际上会执行如下命令:
# uv run mcp dev server.py 本质上是如下
npx @modelcontextprotocol/inspector uv run --with mcp uv run server.py
# 但是不知道 @modelcontextprotocol/inspector 是啥? 在项目文件夹的 node_modules/.bin 目录里也没有