从0到1开发一个自己的工具 MCP 并发布到 test PyPi(Python个人版)

1. 我理解的 MCP

  • 官方的套词就不说了,到处都是,这里说说个人的理解,仅供参考
  • 目前 AI 的能力在一点一点的进步,但是 AI 的世界和真实的世界还是隔着十万八千里,AI 知道时间是什么,但是不知道现在几点;AI 的知识库停留到它训练的那一刻,它不知道最新的工具文档和代码包;AI 知道怎么开车,但是它看不到路,摸不到方向盘,踩不了刹车。
  • 大家发现没有,这里面 AI 缺了什么能力?对,缺乏和真实世界产生联系的能力。而 MCP 就是用来做这个的,让 AI 可以跟真实世界发生联系,来回互动。这个我个人觉得就是 MCP 最大的意义。
  • 有了 MCP,当你问 AI 现在几点,它就不会再乱编了,会去调用时间 MCP,获取真实的时间;有了 MCP,当你问 AI 一个最新出炉的技术文档,它也不会再乱编了,会去调用网络查询 MCP,获得最新的内容,整理后发给你;有了 MCP,它就可以开车,只要你把看路的能力,转动方向盘的能力,刹车的能力给它,它就能开,能转弯,能刹车。

2. 写一个自己的MCP然后发布到 PyPi 上,包括加法工具和获取当前 ip 工具

官方 Python SDK 地址

2.1 先碎碎念一下 uv

  • 官方的 Python SDK 使用的是 Python 一个新的包管理工具,uv,已经写了一篇前置文章把 uv 的简单使用刷了一下,快速用 uv 模拟发布一个 Python 依赖包到 TestPyPI 上,以及常用命令
  • 为什么要模拟发布呢,因为 MCP 这东西太新了,要求的 Python 版本是3.10起步,而我本地是3.9,不想不敢升级,印象中之前升级遇到坑,有一些老 Python 项目无法兼容3.10,似乎3.10删了一些东西,无法理解,不向下兼容,坑死了。
  • 拉回来,其实一开始是陷入了牛角尖,一直在琢磨如何测试 MCP 的效果,也是因为第一次接触 MCP,对这个东西的运行机制不了解,虽然它一出来的时候就关注到了,但是网上的 MCP 例子,都是什么操控数据库啦,操控 git 啦,操控聊天工具啦,其实都没有什么本质上的提效(针对程序员来说),就一直没有试用。
  • 这一次正正经经的试用,起因其实是 Augment,太好用了,但也太慢了,不可能一直盯着它看进度,就想着做一个通知类的 MCP,让 Augment 在运行结束后通知一下我,这样可以把正在摸鱼的我拉回电脑前。
  • 接下来我们来尝试开发一个简单的 MCP,就叫 mcp-scoful-demo,功能包括加法、获取当前本地 ip 地址

2.2 初始化项目(全程在 cmd 下运行命令)

uv init --lib mcp-scoful-demo # 初始化
cd mcp-scoful-demo # 进入初始化的目录

2.3 添加 mcp 依赖

uv add "mcp[cli]"

2.4 添加 server.py,先把加法功能添加上

  • mcp-scoful-demo目录下,找到src/mcp-scoful-demo,添加server.py,内容如下:
cd src
cd mcp-scoful-demo
code server.py #假设你本地已经安装了 vs code
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值