在现代 AI 开发中,Model Context Protocol(MCP)允许通过外部进程扩展模型能力,而 npx(Node.js 生态)和 uvx(Python 生态)则是两种即装即用的客户端工具,帮助你快速下载并运行 MCP 服务器或工具包,无需全局安装。本文将从原理和对比入手,提供面向 Windows、macOS、Linux 的详细安装、验证及使用示例,确保你能在本地或 CI/CD 流程中无缝集成 MCP 服务器。
1. 工具简介
1.1 npx(Node.js/npm)
npx 是 npm CLI(≥v5.2.0)自带的命令,可在不全局安装的情况下,临时下载并执行 npm 包中的可执行文件。例如:
npx @modelcontextprotocol/server-example
会下载并运行 @modelcontextprotocol/server-example 包,而不会在系统中留下全局依赖。该功能简化了快速试用和 CI 环境中一次性命令的执行流程。
1.2 uvx(Python/pipx 或 pip)
uvx 最初是 uv 项目的别名,用于在隔离环境中临时安装并运行 Python 包提供的命令行工具,类似于 pipx run。例如:
uvx pycowsay 'hello world!'
会在数十毫秒内下载并执行 pycowsay,命令结束后环境可选保留或销毁,大幅减少依赖管理开销。
2. 安装前准备
- 网络访问:确保能访问 npm registry(registry.npmjs.org)和 PyPI(pypi.org)。
- 权限:在 Windows 下使用 PowerShell(管理员身份)或启用执行策略
RemoteSigned。
- 已有环境:
- Node.js ≥v16(包含 npm 和 npx)
- Python ≥3.10(支持
pipx 或 pip 安装)
3. 安装 npx
3.1 安装 Node.js
- 下载 LTS 安装包
前往 Node.js 官网下载并安装 LTS 版(推荐 v18 或更高)。
验证安装
node --version
npm --version
npx --version
若缺少 npx,可手动安装:
npm install -g npx
3.2 全局配置(可选)
- 增加命令白名单(在某些 IDE/CI 中需要)
在 MCP 客户端配置文件(如 Chainlit 的 config.toml)中,将 npx 加入 allowed_executables 列表。
更换镜像源(国内用户常用)
npm config set registry https://registry.npmmirror.com/
4. 安装 uvx / uvenv
4.1 使用 pipx(推荐)
迁移环境
若已安装旧版,执行:
uvenv self migrate
将原 uvx 环境和命令一键移至 uvenv。
安装 uvx(或 uvenv)
pipx install uvx
pipx install uvenv
安装 pipx
python3 -m pip install --user pipx
python3 -m pipx ensurepath
4.2 使用 pip(简易)
pip install uvx
注意:uvx v2.0 仅在 Linux x86_64/aarch64 平台通过 PyPI 发布,其它平台请留用 1.x 或源码编译。
4.3 可选:Shell 集成
uvx setup
(同理适用于 uvenv)。
5. 安装验证
| 工具 | 验证命令 | 预期输出 |
|---|
| npx | npx --version | 版本号 ≥7.0.0 |
| uvx | uvx --version | 版本号(显示 v<1.x 或提示已迁移至 uvenv) |
| uvenv | uvenv --version | 版本号 ≥3.0 |
$ npx --version 8.19.2
$ uvx --version 1.0.2
$ uvenv --version 3.1.0
6. 使用示例
6.1 运行 MCP 服务器
npx @modelcontextprotocol/server-chat
uvx modelcontextprotocol-server-chat
两者将在本地启动一个 MCP 服务器进程,监听标准 I/O,用于与客户端(如 VS Code Copilot Agent、Chainlit)通信。
6.2 临时执行任意工具
npx eslint .
uvx pyflakes your_script.py
7. 常见问题
- 命令未找到:确认对应工具已加入
PATH,重启终端或手动设置环境变量。
- 依赖冲突:使用
pipx 可实现完全隔离,避免全局包干扰。
- 性能考量:
uv/uvenv 在多包批量安装场景下比 pipx 更快,但功能侧重点不同,可根据需求选用。
通过以上步骤,你已掌握在各平台上安装、验证并使用 npx 与 uvx/uvenv 的全流程,助力在 MCP 框架下快速集成和扩展 AI 模型的功能。