目录
请勿转载,违法必究
研究动机
2025年AI大模型应用开发火热,MCP(model context protocol)成为了重要的方向之一,被OpenAI,阿里,百度等大公司支持,如下图所示:

开发者都想定制自己的MCP服务,那么阿里百炼平台给出的 ‘安装方式:npx,uvx和sse’ 都是什么呢?
MCP介绍
基于大模型构建复杂的智能体(Agents)和工作流(WorkFlow)是重要的大模型应用方向。MCP 是一种开放协议,官网:https://modelcontextprotocol.io/ 它标准化了应用程序向LLMs提供上下文的方式,将LLM连接到不同的数据源和工具。

Python环境下MCP开发
官方推荐使用uv工具构建MCP服务,我们先了解一下uv工具是什么?
uv工具
uv号称下一代的python工具箱,能够平替:pip, pip-tools, pipx, poetry, pyenv, twine, virtualenv等常见python工具,并且比pip快10~100倍。官网地址:GitHub – astral-sh/uv
管理python版本:uv python list
uv python install 3.12
。
uv init --script example.py --python 3.12
动态修改脚本使用的python版本。
运行python脚本:
uv run example.py param1
其中param1是脚本的输入参数;
import sys
print(" ".join(sys.argv[1:]))
uv run --no-project example.py
表示不依赖当前项目中的配置文件pyproject.toml
运行脚本。
uv run --with 'rich>12,<13' example.py
表示依赖名字为rich
的python库(版本12~13之间)运行脚本example.py
uv add --script example.py 'requests<3' 'rich'
动态修改脚本依赖的request
库和rich
库。
如何不用uv run xx
这种形式运行脚本,例如:
#!/usr/bin/env -S uv run --script
print("Hello, world!")
可以./xx
运行。
安装工具(tool):uv tool install ruff
安装后,工具ruff相关的可执行文件就无需用uv run xx运行了,但是它不同于uv pip install ruff, python -c "import ruff"
这句代码是不能执行的。
创建项目(project): uv init
,类似git。
# 执行uv init后生成的代码结构如下:
.
├── .venv
│ ├── bin
│ ├── lib
│ └── pyvenv.cfg
├── .python-version
├── README.md
├── main.py
├── pyproject.toml
└── uv.lock
其中.venv
是传统的python隔离手段,uv安装的python库会放到这个隔离环境中
其中.python-version 是uv帮你设置的python版本(uv本身不依赖)。
其中pyproject.toml包含项目的meta信息,内容如下:
[project]
name = "hello-world"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
dependencies = []
如何编辑这些dependencies呢:
# 指定requests库的版本
uv add 'requests==2.31.0'
# 用github的最新版requests
uv add git+https://github.com/psf/requests
# 把别的项目写好的requirements.txt倒入
uv add -r requirements.txt -c constraints.txt
# 删除对requests库的依赖
uv remove requests
uv构建发行版: uv build
, 例如:
uv build
ls dist/
uvx是uv tool run的简写:
uvx ruff
等同于 uv tool run ruff
,表示调用工具ruff
。
调用github最新版本的 httpie 工具:uvx --from git+https://github.com/httpie/cli httpie