Python MCP SDK 导入报 ModuleNotFoundError 通常是因为未安装 mcp 包或虚拟环境不一致,最直接的处理是在当前运行环境中执行 pip install mcp 并确认导入路径正确。
先说结论:该报错本质是解释器找不到名为 mcp 的已安装包,优先检查虚拟环境激活状态和包安装位置。
- 先确认:运行 python -m pip show mcp 查看包是否存在于当前环境
- 先处理:在未激活其他环境的情况下执行 pip install mcp 重新安装
- 再验证:使用 python -c "import mcp" 确认无报错且能打印版本
命令速用版
如果急需恢复运行,可在终端直接执行以下命令安装官方包并测试导入:
pip install mcp python -c "import mcp; print(mcp.__version__)"
注意命令需在项目对应的虚拟环境目录下执行,避免安装到全局环境导致项目无法引用。
为什么会这样
ModuleNotFoundError 表示 Python 解释器在当前 sys.path 中找不到指定的模块文件。
对于 MCP SDK,常见原因包括未执行安装命令、虚拟环境未激活导致 pip 安装位置与运行解释器不一致,或本地存在名为 mcp.py 的文件冲突。
分步处理
第一步:检查当前 Python 环境路径
执行 which python (Linux/macOS) 或 where python (Windows),确认路径是否指向项目虚拟环境。
第二步:安装或重装 MCP 包
执行 pip install `--upgrade` mcp 确保安装最新稳定版本,避免使用过旧版本导致接口缺失。
第三步:排查本地文件命名冲突
检查项目目录下是否存在 mcp.py 或 mcp 文件夹,若有则重命名,防止覆盖官方包导入。
怎么验证是否生效
创建测试脚本 test_mcp.py,写入 from mcp import Server 并运行,若无 traceback 且能实例化对象则修复成功。
也可在终端执行 python -m pip show mcp,查看 Location 字段是否与实际项目环境路径一致。
常见坑
在 VS Code 等编辑器中,终端使用的 Python 解释器可能与编辑器调试配置不一致,导致安装成功但运行仍报错。
部分 CI/CD 流程中未配置 requirements.txt 包含 mcp 依赖,导致部署环境缺少包。
常见问题
导入路径是 import mcp 还是 from mcp import sdk?
官方标准导入方式是 import mcp 或 from mcp import 具体类名,不存在 sdk 子模块。
安装后仍然报错怎么办?
检查是否同时安装了 python2 和 python3,确保 pip 命令对应的是 python3 的包管理器。
MCP SDK 支持哪些 Python 版本?
公开资料显示通常要求 Python 3.10 及以上版本,过低版本可能因类型注解语法不支持而失败。
参考来源
PyPI: mcp - https://pypi.org/project/mcp/
GitHub: modelcontextprotocol/python-sdk - https://github.com/modelcontextprotocol/python-sdk