MCP 工具速成:npx vs. uvx 全流程安装指南

MCP 工具速成:npx vs. uvx 全流程安装指南

在现代 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 包,而不会在系统中留下全局依赖(https://docs.npmjs.com/cli/v8/commands/npx)。该功能简化了快速试用和 CI 环境中一次性命令的执行流程(https://docs.npmjs.com/cli/v10/commands)。

1.2 uvx(Python/pipx 或 pip)

uvx 最初是 uv 项目的别名,用于在隔离环境中临时安装并运行 Python 包提供的命令行工具,类似于 pipx run。例如:

uvx pycowsay 'hello world!'

会在数十毫秒内下载并执行 pycowsay,命令结束后环境可选保留或销毁,大幅减少依赖管理开销(https://github.com/astral-sh/uv)。

2. 安装前准备

  • 网络访问:确保能访问 npm registry(registry.npmjs.org)和 PyPI(pypi.org)。
  • 权限:在 Windows 下使用 PowerShell(管理员身份)或启用执行策略 RemoteSigned
  • 已有环境
    • Node.js ≥v16(包含 npm 和 npx)
    • Python ≥3.10(支持 pipxpip 安装)

3. 安装 npx

3.1 安装 Node.js

  1. 下载 LTS 安装包
    前往 Node.js 官网 下载并安装 LTS 版(推荐 v18 或更高)。

验证安装

node --version # 应输出 v16+ npm --version # 应输出 v7+ npx --version # 应输出 v7+,npm ≥5.2.0 即自带 npx

若缺少 npx,可手动安装:

npminstall -g npx ```:contentReference[oaicite:4]{index=4}

3.2 全局配置(可选)

  • 增加命令白名单(在某些 IDE/CI 中需要)
    在 MCP 客户端配置文件(如 Chainlit 的 config.toml)中,将 npx 加入 allowed_executables 列表(https://docs.npmjs.com/cli/v8/commands/npx)。

更换镜像源(国内用户常用)

npm config set registry https://registry.npmmirror.com/ 

4. 安装 uvx / uvenv

4.1 使用 pipx(推荐)

迁移环境
若已安装旧版,执行:

uvenv self migrate 

将原 uvx 环境和命令一键移至 uvenv(https://github.com/robinvandernoord/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 # 安装旧版(仅 Python x86_64/aarch64 支持 v2.0) # 或 pip install uvenv # 安装新版

注意:uvx v2.0 仅在 Linux x86_64/aarch64 平台通过 PyPI 发布,其它平台请留用 1.x 或源码编译(https://pypi.org/project/uvx/1.0.2/)。

4.3 可选:Shell 集成

uvx setup # 为 Bash/Zsh 自动添加命令补全及环境变量

(同理适用于 uvenv)(https://pypi.org/project/uvx/)。

5. 安装验证

工具验证命令预期输出
npxnpx --version版本号 ≥7.0.0
uvxuvx --version版本号(显示 v<1.x 或提示已迁移至 uvenv)
uvenvuvenv --version版本号 ≥3.0
# 示例(macOS/Linux) $ npx --version 8.19.2 $ uvx --version 1.0.2 $ uvenv --version 3.1.0 

6. 使用示例

6.1 运行 MCP 服务器

# JavaScript 版(通过 npx) npx @modelcontextprotocol/server-chat # Python 版(通过 uvx/uvenv) uvx modelcontextprotocol-server-chat # 或 uvenv modelcontextprotocol-server-chat 

两者将在本地启动一个 MCP 服务器进程,监听标准 I/O,用于与客户端(如 VS Code Copilot Agent、Chainlit)通信。

6.2 临时执行任意工具

# 安装并运行 eslint npx eslint .# 安装并运行 pyflakes uvx pyflakes your_script.py 

7. 常见问题

  • 命令未找到:确认对应工具已加入 PATH,重启终端或手动设置环境变量。
  • 依赖冲突:使用 pipx 可实现完全隔离,避免全局包干扰。
  • 性能考量uv/uvenv 在多包批量安装场景下比 pipx 更快,但功能侧重点不同,可根据需求选用([GitHub][8])。

通过以上步骤,你已掌握在各平台上安装、验证并使用 npxuvx/uvenv 的全流程,助力在 MCP 框架下快速集成和扩展 AI 模型的功能。

Read more

【python】第六节anacoda+配置Jupyter notebook

先下载安装好anacoda →Advance AI with Open Source | Anaconda 打开安装好的anaconda 通过cmd打开 可以在桌面创建快捷方式 为什么分析数据大家要使用jupyter book呢 有的时候一个py文件数据量太大,并非想要全部都要让它运行,那会浪费太多的时间了,所以使用Jupyter book 1.交互模式,交互模式之下不用print打印语句,我们就可以看到结果 2.html格式直接分享,可以看到你的思考模式 3.可以用Latex插入公式 安装Jupyter book 打开终端,windows 在开始的地方输入cmd 输入pip install notebook 等待安装结束之后,输入jupyter book查看是否安装完毕 浏览器弹出一个notebook窗口,说明安装成功啦 终止jupyter notebook 不光要叉掉浏览器,还要在终端的地方按住control c,在他询问你是否关闭的时候输入 y 后台服务器就会终止了 jupyter notebook的使用 打开cmd

By Ne0inhk
【数据结构初阶】--快速排序进阶

【数据结构初阶】--快速排序进阶

🔥个人主页:@草莓熊Lotso 🎬作者简介:C++研发方向学习者 📖个人专栏: 《C语言》 《数据结构与算法》《C语言刷题集》《Leetcode刷题指南》 ⭐️人生格言:生活是默默的坚持,毅力是永久的享受。 前言: 在之前的博客中我们实现了递归版本和非递归版本的快速排序,其中递归版本中的找基准的方法我们学习了三种。但是有些特殊的情况,比如重复元素过多或者已经有序的时候,我们的时间效率就会受到影响了,这次的进阶篇中,我们会通过一些方法来优化快速排序 目录 一.三数取中和随机数选择基准 三数取中法: 随机数选择法:  两种方法的对比分析 :  二.三路划分 实现步骤:  代码实现:  三路划分和传统二路划分思路的对比:   三.自省排序 核心思想:  代码实现: 一.三数取中和随机数选择基准 三数取中法: 原理:从子数组的首元素、尾元素、中间元素中选择中位数作为基准。通过选取中间大小的值,避免极端值(如最大/最小值)作为基准,从而平衡左右子数组的划分。 核心逻辑:

By Ne0inhk

从零到一:BLDC/PMSM恒功率算法在智能家居风扇中的实战应用

智能家居风扇的BLDC/PMSM恒功率控制:从算法设计到用户体验优化 1. 引言:智能家居风扇的特殊需求 在炎热的夏季,一台安静、节能且能自动调节风速的智能风扇已经成为现代家庭的标配。传统交流电机风扇的嗡嗡声和忽高忽低的转速早已无法满足追求品质生活的用户需求。BLDC(无刷直流)和PMSM(永磁同步)电机凭借其高效率、低噪音和精准控制特性,正在重塑智能家居风扇市场。 与工业场景不同,家用风扇对电机控制提出了独特挑战: * 静音优先:卧室环境下,30分贝以下的运行噪音是基本要求 * 能效敏感:全年不间断使用使得每瓦功耗都影响电费账单 * 交互友好:需要响应手机APP、语音控制等多模式指令 * 安全可靠:长时间运行必须杜绝过热风险 恒功率算法在这其中扮演着关键角色——它不仅是保护电机和电子元件的安全阀,更是实现"智能"的基础。当用户设定"睡眠模式"时,算法需要动态平衡风量、噪音和功耗;当检测到电压波动时,又要确保转速稳定不突变。这些需求催生了专为智能家居优化的BLDC/PMSM控制方案。 2. 恒功率控制的核心原理 2.

By Ne0inhk
12306反反爬虫策略:Python网络请求优化实战

12306反反爬虫策略:Python网络请求优化实战

一、引言:12306反爬虫的严峻挑战 12306作为中国铁路售票系统,每天面临着海量的抢票请求,其反爬虫机制异常严格:IP封锁、验证码、请求频率限制、会话追踪等。要在这样的环境下实现稳定抢票,必须设计一套完善的反反爬虫策略。12306抢票项目通过CDN加速、代理IP、请求频率控制和"小黑屋"机制等技术,成功突破了12306的反爬虫防线。 二、CDN加速:突破网络瓶颈 1. 实现原理 CDN(内容分发网络)通过将资源分发到全球各地的节点,使用户可以就近获取所需内容,提高访问速度。12306项目通过筛选和使用高速CDN节点,加速与12306服务器的通信。 2. 代码实现 核心文件:d:\python-code\12306-master\init\select_ticket_info.py defcdn_certification(self):"""CDN认证与筛选&

By Ne0inhk