news 2026/3/2 4:47:01

MCP学习笔记

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MCP学习笔记

MCP学习笔记

最近由于组织架构变动,负责AI相关工具建设,学习一下MCP相关的知识

1、MCP介绍

1.1、什么是MCP

MCP(Model Context Protocol,模型上下文协议)是 Anthropic 开发的一个开放标准协议,用于让 AI 助手能够安全地连接各种外部数据源和工具。

  • 为 AI 应用提供统一的方式来访问数据和工具
  • 类似于 USB-C 接口 - 一个标准协议连接多种服务
  • 让 AI模型 能够访问文件系统、数据库、API 等外部资源

1.2、MCP组成部分

MCP Server(服务器)

提供特定功能的服务

  • 文件系统访问
  • 数据库查询
  • Web 搜索
  • 第三方 API 集
MCP Client(客户端)

使用这些服务的应用

  • Claude Code CLI
  • Claude Desktop
  • 其他集成了 MCP 的应用

2、uv

新一代高性能 Python 包管理工具,官网文档:https://docs.astral.sh/uv/

2.1、旧python包管理工具

1、pip

pip 是 Python 官方推荐的包管理器,主要用于安装和卸载 Python 包,支持从 PyPI、Git 仓库、本地目录等多种来源安装

优点

  • 广泛使用,社区支持良好
  • 简单易用,适合初学者

缺点

  • 不支持依赖锁定
  • 缺乏虚拟环境和项目管理功能
2、pip-tools

pip-tools 是由 Jazzband 社区维护的工具集,旨在增强 pip 的功能

  • pip-compile:从requirements.in生成锁定的requirements.txt
  • pip-sync:根据requirements.txt安装或卸载依赖

优点

  • 确保项目依赖的一致性
  • 与 pip 兼容,易于集成

缺点

  • 依赖解析速度较慢
  • 功能相对单一,仅处理依赖锁定
3、pipx

pipx 是由 PyPA 维护的工具,专注于在隔离的环境中安装和运行 Python 命令行应用

  • 在隔离的虚拟环境中安装 CLI 工具
  • 运行一次性命令

优点

  • 避免全局污染,隔离性好
  • 便于管理和运行 CLI 工具
4、poetry

Poetry 是由 Python 社区开发的项目管理工具,旨在简化依赖管理和打包发布流程

  • 使用pyproject.toml管理项目依赖
  • 自动创建和管理虚拟环境
  • 构建和发布 Python 包

优点

  • 一体化管理项目生命周期
  • 使用pyproject.toml,符合 PEP 518 标准

缺点

  • 依赖解析速度较慢
  • 对 Python 版本管理支持有限
5、pyenv

pyenv 是由社区开发的工具,用于安装和管理多个 Python 版本

  • 安装和切换多个 Python 版本
  • 支持全局和本地(每个项目)版本设置

优点

  • 支持多个 Python 版本的切换
  • 适用于开发和测试不同版本的兼容性

缺点

  • 安装新版本需编译,耗时较长
  • 不支持 Windows 系统
6、virtualenv

virtualenv 是由社区开发的工具,用于创建隔离的 Python 虚拟环境

  • 创建隔离的虚拟环境
  • 支持不同项目使用不同的依赖

优点

  • 轻量级,创建环境速度快

缺点

  • 不包含依赖管理功能
  • 需要与 pip 或 pip-tools 结合使用

2.2、什么是uv

由 Astral 公司用 Rust 开发的高性能Python 包管理工具,旨在提供比传统 pip 更快的包安装和依赖管理体验,并整合了多个传统 Python 工具的核心功能,实现了 “一个工具搞定包管理、环境管理、版本管理、打包发布” 的一站式体验

  • 比 pip 快 10-100 倍
  • 锁文件保证依赖一致性
  • 单一工具替代 pip、pip-tools、pipx、poetry、pyenv、virtualenv
  • 完全兼容 pip 和 PyPI
  • 包管理 + 项目管理 + Python 版本管理

2.3、安装uv

1、安装

macOS/Linux

# 1、官方安装脚本curl-LsSf https://astral.sh/uv/install.sh|sh# 2、Homebrewbrewinstalluv# 3、pippipinstalluv

windows

# 1、官方安装脚本powershell -c"irm https://astral.sh/uv/install.ps1 | iex"# 2、pippipinstalluv
2、验证
uv -V uv --version

2.3、使用uv

1、Python 版本管理

安装 Python

# 列出所有可用的 Python 版本(简介版)uv python list# 安装指定版本 Pythonuv pythoninstall3.14# 安装多个版本uv pythoninstall3.113.123.13# 卸载 Python 版本uv python uninstall3.11# 列出本地已安装的所有 Python 版本uv python list --only-installed

设置全局 Python 版本

# 1、使用环境变量(推荐)vim~/.zshrcexportUV_PYTHON="3.14"source~/.zshrc# 2、使用全局配置文件mkdir-p ~/.config/uvcat>~/.config/uv/uv.toml<<'EOF' [python] # 默认 Python 版本 default = "3.12" # Python 查找偏好 preference = "managed" # 优先使用 uv 管理的 Python EOF
2、项目管理

创建项目

# 创建应用项目uv init my-app# 在现有目录初始化uv init
my-app/ ├── .gitignore ├── .python-version # Python 版本锁定 ├── main.py ├── pyproject.toml # 项目配置 ├── README.md └── uv.lock # 记录所有依赖的精确版本 类似package-lock.json

依赖管理

# 添加生产依赖uvaddrequests# 添加指定版本依赖uvadd"django==5.0"# 添加开发依赖uvaddpytest --dev# 移除依赖uv remove django# 安装项目所有依赖uvsync# 生成/更新锁文件uv lock

运行项目

如果 project.scripts 发生变动要首先执行 uv sync

. ├── README.md ├── pyproject.toml ├── src │ ├── main.py │ └── weather │ ├── __init__.py │ └── weather.py └── uv.lock
# src/weather/weather.pydeftoday_weather():return"It's rainy tomorrow!"deftomorrow_weather():return"It's sunny tomorrow!"
# src/weather/__init__.pyfrom.weatherimporttoday_weatherfrom.weatherimporttomorrow_weather
[project] name = "xumeng03-mcp" version = "0.1.0" description = "Add your description here" readme = "README.md" requires-python = ">=3.14" dependencies = [ "requests>=2.32.5", ] [project.scripts] today_weather = "xumeng03_mcp.weather:today_weather" tomorrow_weather = "xumeng03_mcp.weather:tomorrow_weather" [dependency-groups] dev = [ "pytest>=9.0.2", ] [build-system] requires = ["setuptools>=61.0"] build-backend = "setuptools.build_meta" [tool.setuptools] package-dir = {"xumeng03_mcp" = "src"}
tomorrow_weather uv run tomorrow_weather
3、工具管理

全局安装和管理 Python 的工具

  • 安装在独立的隔离环境中
  • 全局可用(任何地方都能运行)
# 安装工具uv toolinstallruff# 安装指定版本工具uv toolinstall"black==24.10.0"# 查看已安装的工具uv tool list# 升级单个工具uv tool upgrade ruff# 升级单个工具到指定版本uv toolinstall--upgrade"ruff==0.8.5"# 升级所有工具uv tool upgrade --all# 卸载单个工具uv tool uninstall ruff# 卸载多个工具uv tool uninstall black ruff mypy
4、其他
# 清理缓存uv cache clean# 构建项目uv build
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/1 8:31:46

AI率80%也能救!学生党亲测6款免费降AI工具,告别论文高AI率焦虑

最近身边不少同学都在发愁——论文AI率太高。明明自己认真改过好几遍&#xff0c;系统一查还是提示AIGC爆表&#xff0c;导师看一眼就摇头。其实现在用AI辅助写论文确实方便&#xff0c;但怎么降低ai率、让内容更自然&#xff0c;才是真正过关的关键。 我这段时间亲测了十几款…

作者头像 李华
网站建设 2026/2/25 20:53:13

音理音理! 26011603| 聚合多平台音视频流 高颜值流畅 支持下载

音理音理! 是一款专注于聚合多平台音视频流的开源播放器&#xff0c;具备跨平台音频播放功能&#xff0c;能在同一界面内快速切换网易云、B站等多平台歌曲来源。它还拥有统一搜索与元数据补全功能&#xff0c;能够聚合多平台搜索接口并自动补齐封面、歌词与曲目信息。通过自研的…

作者头像 李华
网站建设 2026/2/27 2:46:56

第 476 场周赛Q1——3745. 三元素表达式的最大值

题目链接&#xff1a;3745. 三元素表达式的最大值&#xff08;简单&#xff09; 算法原理&#xff1a; 解法&#xff1a;贪心 8ms击败10.92% 时间复杂度O(Nlogn) 思路很简单&#xff0c;通过排序找到ab最大&#xff0c;c最小&#xff0c;然后返回ab-c即可 Java代码&#xff1a;…

作者头像 李华