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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1196666.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI大模型开发入门到精通:一本助你转型的必备书籍

文章介绍了《AI大模型开发之路》一书&#xff0c;为转型AI大模型开发工程师提供全面指导。内容涵盖Python编程、机器学习基础、Transformer模型原理、API调用实战、LangChain框架应用&#xff0c;以及项目部署等全流程。通过系统化学习路径&#xff0c;从理论到实践帮助读者掌握…

UE5 C++(43):用 timeLine 实现开关门

&#xff08;222&#xff09;概述&#xff1a;本节里会为 timeLineActor 继续添加盒体碰撞组件&#xff0c;还有一个门&#xff0c;当 character 角色来&#xff0c;发生碰撞时&#xff0c;让那个门&#xff08;静态网络体组件&#xff09;旋转。碰撞的方面的设置&#xff0c;在…

HC-SMoE: MoE Expert 合并压缩方案解读

Retraining-Free Merging of Sparse MoE via Hierarchical Clustering&#xff08;HC-SMoE&#xff09;长文解读 一句话总结 这篇论文要解决的是 SMoE 模型太大、专家冗余严重 的问题&#xff0c;提出了一个 不需要再训练 的专家合并框架 HC-SMoE&#xff0c;用 专家输出的相…

基于SpringBoot+Vue校园跑腿网站的设计与实现

博主主页&#xff1a;一点素材 博主简介&#xff1a;专注Java技术领域和毕业设计项目实战、Java微信小程序、安卓等技术开发&#xff0c;远程调试部署、代码讲解、文档指导、ppt制作等技术指导。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬…

IPO投资策略:如何评估新上市公司

IPO投资策略:如何评估新上市公司 关键词:IPO投资策略、新上市公司评估、财务分析、行业前景、管理团队 摘要:本文聚焦于IPO投资策略,旨在深入探讨如何全面、科学地评估新上市公司。通过对背景知识的介绍,阐述核心概念及联系,剖析核心算法原理与操作步骤,运用数学模型和公…

基于SpringBoot+Vue校园足球俱乐部管理系统的设计与实现

博主主页&#xff1a;一点素材 博主简介&#xff1a;专注Java技术领域和毕业设计项目实战、Java微信小程序、安卓等技术开发&#xff0c;远程调试部署、代码讲解、文档指导、ppt制作等技术指导。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬…

导师严选2026 TOP10 AI论文工具:专科生毕业论文写作全测评

导师严选2026 TOP10 AI论文工具&#xff1a;专科生毕业论文写作全测评 2026年AI论文工具测评&#xff1a;为何值得一看&#xff1f; 随着人工智能技术的不断进步&#xff0c;AI写作工具在学术领域的应用越来越广泛。对于专科生而言&#xff0c;撰写毕业论文不仅是学业的重要环节…

Linux OOM killer 评分系统的演变及分数优先级详解

&#x1f4ca; OOM 分数优先级详解 &#x1f3af; OOM 评分系统的演变 在 Linux 内核中&#xff0c;OOM Killer 的评分系统经过了演进&#xff1a; 历史版本&#xff1a; oom_adj&#xff08;旧版&#xff0c;范围&#xff1a;-16 到 15&#xff09; 内核版本 2.6.11-2.6.36…

降AI率必备!6款免费工具亲测,学生党轻松降80%,论文AI检测一次过

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

AI Agent实战指南:程序员必学大模型应用,从概念到商业布局,值得收藏

人工智能体(AI Agent)已从技术概念跃入商业现实&#xff0c;迎来爆发时刻。作为大语言模型驱动的智能系统&#xff0c;AI Agent能自主感知、决策与执行&#xff0c;从"辅助工具"向"核心生产力"跃迁。OpenAI、Monica、阿里巴巴等科技大厂纷纷布局&#xff0…

基于SpringBoot+Vue学校物资采购系统的设计与实现

博主主页&#xff1a;一点素材 博主简介&#xff1a;专注Java技术领域和毕业设计项目实战、Java微信小程序、安卓等技术开发&#xff0c;远程调试部署、代码讲解、文档指导、ppt制作等技术指导。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬…

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

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

Balanced 01-String

Balanced 01-String 题目描述 小苯有一个长度为 $n$ 的字符串 $s$,只包含字符 $\texttt{0}$、$\texttt{1}$ 和 $\texttt{?}$。 他定义一个 $01$ 字符串是平衡的,当且仅当字符串中所有相邻两个字符相同的对数(即满足…

AI大模型学习全攻略:零基础入门、35岁转行可行性与就业前景

文章探讨35岁转行学习AI大模型的可行性、零基础入门可能性和行业前景。指出35岁转行完全可行&#xff0c;零基础学习者可通过丰富资源掌握技能。AI大模型行业前景广阔&#xff0c;需求增长。文章提供了系统学习路线&#xff0c;包括基础理解、API应用开发、应用架构实践和私有化…

基于SpringBoot+Vue一鹿租车公司车辆管理系统的设计与实现

博主主页&#xff1a;一点素材 博主简介&#xff1a;专注Java技术领域和毕业设计项目实战、Java微信小程序、安卓等技术开发&#xff0c;远程调试部署、代码讲解、文档指导、ppt制作等技术指导。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬…

D6 707.设计链表

707 设计链表(力扣:https://leetcode.cn/problems/design-linked-list/ 条件: 见原题链接 Tips: 代码: 点击查看代码 struct ListNode{int val;ListNode* prev;ListNode* next;//使用初始化列表ListNode( int num…

实验室智能监控系统实战源码-基于YOLOv8的实时目标检测与PyQt5可视化界面

实验室智能监控系统实战源码-基于YOLOv8的实时目标检测与PyQt5可视化界面 前言 实验室安全管理一直是科研机构和教育单位的重点。传统依赖人工巡查的方式存在效率低、易遗漏、成本高等问题&#xff0c;难以满足全天候监控需求。随着计算机视觉技术的发展&#xff0c;基于深度…

毕业党救星!5个降AI率工具大公开,亲测好用,能帮你把AI率降低80%以上

上周答辩前夕&#xff0c;我室友差点崩溃——论文被导师退回来了&#xff0c;原因是"疑似大量使用AI生成内容"。她哭着说&#xff1a;"我明明自己改过好几遍啊&#xff0c;为什么还是被查出来了&#xff1f;" 这场景我太熟悉了。去年我自己也经历过&#…

如何在idea中创建mavenweb项目

1、首先进入idea,正常新建一个maven项目2、建立完成之后会出现java、resources这两个包。在main包里面,也就是和java、resources这两个包同一级中新建一个webapps的包(这个包的包名是任意的,这里就先命名webapps)…

AI率过高有救了!这5个工具实测能打,可将论文AIGC痕迹大幅降低80%

上周答辩前夕&#xff0c;我室友差点崩溃——论文被导师退回来了&#xff0c;原因是"疑似大量使用AI生成内容"。她哭着说&#xff1a;"我明明自己改过好几遍啊&#xff0c;为什么还是被查出来了&#xff1f;" 这场景我太熟悉了。去年我自己也经历过&#…