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

Java调用UniHttp接口请求失败?一次开源的深入实践-百度SN签名认证场景下参数乱序问题的三种解决策略

Java调用UniHttp接口请求失败?一次开源的深入实践-百度SN签名认证场景下参数乱序问题的三种解决策略

目录 前言 一、场景重现 1、UniHttp模式下SN接口定义 2、第一次正式调用 3、第一次遇到211 APP SN校验失败 二、问题查找及开源寻求解决方案 1、抽丝剥茧找到问题所在 2、与作者在Issues的交流 3、开源项目交流有感 三、朝着正确的方向解决问题 1、加密顺序按实际请求参数求解 2、一种兼容Get请求参数动态调整的方法 3、使用注解来设置重排序规则 4、重写请求的QueryParam重排序方法 5、三种方法的使用场景及对比 四、总结 前言         在当今数字化时代,不管是内部系统之间还是跟外部系统的对接,接口调用已成为软件开发中不可或缺的一部分。Java作为一种广泛使用的编程语言,在接口调用方面有着丰富的应用。在现代软件架构中,分布式系统和微服务架构的广泛应用使得不同模块之间的通信主要依赖于接口调用。在之前的博文中,我们讲解了许多跟第三方接口对接的详细案例,比如如何调用实时航班数据、接入百度地图、高德地图、天地图、实时景区等多源数据,也讲解了一些数据接入方式,

By Ne0inhk
飞算JavaAI真能帮小白搞定在线图书借阅系统?开发效果大揭秘!

飞算JavaAI真能帮小白搞定在线图书借阅系统?开发效果大揭秘!

摘要 本文以“在线图书借阅平台”为案例,通过飞算JavaAI的【智能引导】功能实现代码高效生成,并针对复杂业务逻辑(如多维度图书借阅生命周期管理)进行深度优化。 前言 飞算Java AI围绕与AI协同开发,提供多维度功能助力高效开发:左侧智能会话含编程智能体自动执行编程任务、智能问答实时答疑、Java Chat做工程分析与代码优化;中间引导式生成完整项目,先拆解任务(需求理解到业务逻辑生成),再逐层产出源码并实时预览确认;右侧Java工具箱的项目分析器一键生成项目文档,SQL Chat实现自然语言转SQL提效数据库操作;底部还能深度学习用户偏好、智能分析现有项目,从个性化适配到项目级优化全方位赋能Java开发全流程。 新手安装: * idea安装后看到效果。 一、内容框架总览 核心模块关键要求本文实现方式需求分析与规划功能需求、核心模块、技术选型详细定义系统功能清单(借阅管理)、绘制模块关系图与ER图,明确Spring Boot+MySQL技术栈优化与调试心得记录代码调整、SQL优化等问题及解决方案(如利用智能会话功能)分析自动生成代码的字段匹配错误、复杂查询性

By Ne0inhk

小智医疗:Java大模型应用项目全流程实战,企业级java项目LangChain4J项目,LangChain+向量数据库+RAG视频配套笔记

前言 当前笔记是根据尚硅谷的小智医疗总结的一篇学习笔记,小智医疗整个视频一共有15章,该课程非常适合给未接触过人工智能的同学做一个很好的入门,该视频系列有很大一部分是在做知识导入,带我们了解机器学习,很适合想了解java大模型的初学者的入门级教学,之后,非常感谢尚硅谷的又一精品课程,全篇一共5w+字,文档中出现的错误欢迎大家指正,最后,如果你觉得该笔记不错的话,欢迎点赞+收藏+关注,博主会更多努力分享优秀课程的,谢谢大家!😊 相关视频链接: 小智医疗:Java大模型应用项目全流程实战,企业级java项目LangChain4J项目,LangChain+向量数据库+RAG 相关资料:https://pan.baidu.com/s/1eZSTzhcn_BkOzv6MxP2L0g?pwd=yyds 提取码: yyds 以下是本篇文章正文内容 一、LangChain4j 入门 1、简介 LangChain4j 的目标是简化将大语言模型(LLM - Large Language

By Ne0inhk
华为OD机试双机位C卷 - Alice的安全旅行 (C++ & JAVA & Python & C语言 & JS & GO)

华为OD机试双机位C卷 - Alice的安全旅行 (C++ & JAVA & Python & C语言 & JS & GO)

Alice的安全旅行 华为OD机试双机位C卷 - 华为OD上机考试双机位C卷 200分题型 华为OD机试双机位C卷真题目录点击查看: 华为OD机试双机位C卷真题题库目录|机考题库 + 算法考点详解 题目描述 Alice计划从城市0出发最终到达城市N-1,他可以选择一条路线,但路上经过的城市总数(包括起点和终点)不能超过K个,每个城市都有一个安全度值,整个旅程的安全度被定义为路径上所有城市安全度的最小值,她的目标是让这个最小值尽可能高,请问Alice的旅程总体安全度最大能为多少? 输入描述 第一行有两个整数N和K,表示一共N个城市,以及Alice最多去K个城市(2<N<100000,1<K<100000) 接下来N行 每行包括一个整数h 表示去某个城市的安全度0=<h<=1000000000 接下来一行有一个整数M,表示城市间的M条道路,0<M<200000 接下来M行 每行有两个整数s0 s1

By Ne0inhk