news 2026/4/12 10:57:41

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/4/11 21:08:26

LU,大小鼠脑损伤打击器 脑损伤打击器 自由落体打击器

仪器借助尖端带不锈钢的打击器快速打击暴露的颅脑或脊髓&#xff0c;随即上抬撞头避免二次撞击。微信斯达&#xff0c;露&#xff0c;适用于小鼠、大鼠、兔、犬、猴等动物&#xff0c; 1、定位仪行程&#xff1a;X轴80mm,Z轴&#xff1a;80mm,Y轴80mm。 2、电动Z轴行程&#x…

作者头像 李华
网站建设 2026/4/11 13:52:50

大数据领域的餐饮行业数据分析

大数据驱动的餐饮革命&#xff1a;从数据到决策的智能转型之路 [外链图片转存中…(img-R9Ni6lh1-1769008296023)] 关键词 餐饮大数据分析、顾客行为洞察、供应链优化、预测分析模型、餐厅收益管理、数据驱动决策、餐饮业数字化转型 摘要 在当今竞争激烈的餐饮市场中&#xff0c…

作者头像 李华
网站建设 2026/4/10 20:52:11

AI率过高别慌!这6个免费降AI工具亲测有效,学生党拯救论文指南

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

作者头像 李华
网站建设 2026/4/9 18:20:56

SOOP中文版 2.8.0 | 超人气韩国直播平台,看韩国小姐姐,国内网可用

SOOP&#xff08;原afreecatv&#xff09;是一款国际知名的直播平台&#xff0c;集娱乐、互动和社交于一体&#xff0c;提供丰富多样的直播内容&#xff0c;包括游戏直播、娱乐节目、音乐表演等&#xff0c;覆盖游戏、娱乐、体育、生活分享等多个领域。平台上汇聚了大量游戏主播…

作者头像 李华
网站建设 2026/4/9 20:37:04

YOLOv8改进 - 注意力机制 | SKAttention:选择性核注意力通过多分支融合与自适应感受野调整优化多尺度目标检测

前言 本文介绍了SKAttention&#xff08;选择性核注意力&#xff09;机制&#xff0c;这是一种受生物视觉皮层启发的动态多尺度特征提取方法。该技术通过Split、Fuse和Select三个算子&#xff0c;使神经元能根据输入自适应调整感受野大小&#xff0c;通过不同卷积核分支的软注…

作者头像 李华