当前位置: 首页 > news >正文

网站提升权重武汉网络推广平台

网站提升权重,武汉网络推广平台,高校邦营销型网站建设测验答案,郑州网站开发公目录 1. 我理解的 MCP2. 写一个自己的MCP然后发布到 PyPi 上,包括加法工具和获取当前 ip 工具2.1 先碎碎念一下 uv2.2 初始化项目(全程在 cmd 下运行命令)2.3 添加 mcp 依赖2.4 添加 server.py,先把加法功能添加上2.5 运行并测试加…

目录

  • 1. 我理解的 MCP
  • 2. 写一个自己的MCP然后发布到 PyPi 上,包括加法工具和获取当前 ip 工具
    • 2.1 先碎碎念一下 uv
    • 2.2 初始化项目(全程在 cmd 下运行命令)
    • 2.3 添加 mcp 依赖
    • 2.4 添加 server.py,先把加法功能添加上
    • 2.5 运行并测试加法功能
    • 2.6 再添加获取当前本地 ip 功能并测试
  • 3. 打包发布到 test PyPi
  • 4. 测试已发布的包
  • 5. MCP 的一些资源

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
  • 把下面的代码复制进 server.py
# server.py
from mcp.server.fastmcp import FastMCP# Create an MCP server
mcp = FastMCP("mcp-scoful-demo")# 不是老说 AI 不会计算吗?那我们直接给 Ai 安排上加法功能,让 AI 再也不会算错了 hh
# Add an addition tool
@mcp.tool()
def add(a: int, b: int) -> int:"""Add two numbers"""return a + b

2.5 运行并测试加法功能

uv run mcp dev server.py
  • 上面这个命令运行成功后,会自动出这样的链接
    在这里插入图片描述
  • 按住 Ctrl 键,点击 http://127.0.0.1:6274,会跳转浏览器,打开这样一个界面,这个是官方出的基于 Node 的一个测试工具,可以测试本地开发的或者已经发布出去了的 MCP,使用上面的命令是直接指定要运行我们开发的 MCP,如果单纯只是想运行起来这个inspector工具,可以使用命令:npx @modelcontextprotocol/inspector
    在这里插入图片描述
  • 啥都不用管,CommandArguments已经自动配好了,直接点Connect,出现下面这样Connected,就表示连上了我们开发的 mcp 了,如果报错了,Connected 下面会出红色的日志,但其实没卵用,有个坑是,在 server.py 里使用 print 打印,这里是不显示的,必须引入 logging,然后使用 logging.error(),内容才会在这里显示。另外 MCP 开发目前我还没找到断点 debug 的方式,如果知道的大佬,麻烦评论一下。
    在这里插入图片描述
  • 接下来获取一下我们开发的加法功能
    在这里插入图片描述
    在这里插入图片描述
  • 测试一下加法功能
    在这里插入图片描述
  • 当当当,一个简单的 MCP 就这样做好了,是不是好简单?!

2.6 再添加获取当前本地 ip 功能并测试

  • 在代码最后加上
# 获取当前本地 ip 地址
import httpx
@mcp.tool()
async def fetch_current_ip() -> str:"""fetch current ip"""async with httpx.AsyncClient() as client:response = await client.get(f"https://ipinfo.io/ip")return response.text
  • inspector 里重启一下 MCP,因为修改代码了
    在这里插入图片描述
  • 按照之前的步骤,List tools,选择新的 Tool,再 Run Tool
    在这里插入图片描述
  • done,又搞定一个 tool

3. 打包发布到 test PyPi

  • 修改 __init__.py

    • 清空原来的内容
    • 修改内容如下:
      from .server import servedef main():# Call serve functionserve()if __name__ == "__main__":main()
      
  • 修改 pyproject.toml

    • 在最后追加内容
      [[tool.uv.index]]
      name = "testpypi"
      url = "https://test.pypi.org/simple/"
      publish-url = "https://test.pypi.org/legacy/"
      explicit = true[project.scripts]
      mcp-scoful-demo = "mcp_scoful_demo:main"
      
  • 发布到 test PyPi,按照下面的命令依次运行,具体详细说明请看《快速用 uv 模拟发布一个 Python 依赖包到 TestPyPI 上,以及常用命令》

    • uv sync
    • uv lock
    • uv build
    • uv publish --index testpypi # 这个就是发布命令,如果是发生产,不用–index
    • 结果如下:
      在这里插入图片描述

4. 测试已发布的包

  • 等待5-10分钟,需要同步一下
  • 使用命令:npx @modelcontextprotocol/inspector,打开 inspector
    在这里插入图片描述
  • 一样点击跳浏览器,然后在Command里输入:uvx --default-index https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ mcp-scoful-demo,(PS:这里可以指定版本号,mcp-scoful-demo==0.1.1,另外如果是发布到生产环境,格式是:uvx mcp-scoful-demo),确保Arguments里没内容,然后切换 Tools 标签,点击 List Tools,随便选一个工具,Run Tool
    在这里插入图片描述

5. MCP 的一些资源

  • 官方的开源组织 Model Context Protocol
  • 官方文档
  • 几个社区 MCP 库(老实说,都没啥意思,对程序员写码有用的没几个)
    • https://mcp.so/
    • https://cursor.directory/
    • https://www.pulsemcp.com/
    • https://glama.ai/mcp/servers

over, enjoy!!!
如对您有帮助,感谢投喂!
微信感谢投喂版

http://www.ds6.com.cn/news/2139.html

相关文章:

  • 做网站的一般多少钱百度推广话术全流程
  • 北海哪里做网站建设知乎营销推广
  • 简述网站开发的三层架构外贸建站与推广如何做
  • 制作一个有用户网站张家界seo
  • tomcat 网站开发seo营销
  • 厦门网站建设北京度seo排名
  • 衢州市住房和城乡建设局网站站长统计幸福宝下载
  • 做心灵鸡汤网站栏目排版长春网站建设
  • 网站设计与制作包括网络营销中的四种方法
  • 网站注册费用需要多钱重庆seo外包平台
  • p2p做网站网络营销品牌策划
  • 为耐克做品牌推广的网站成都网站制作关键词推广排名
  • 中国建设企业协会网站首页学百度推广培训
  • 舟山 做企业网站自助网站建设
  • 施工企业市场调查目的与主题主要有()。seo网站建设优化
  • 正规网站做菠菜广告什么都能搜的浏览器
  • 扬州北京网站建设汕头网站排名优化
  • 石家庄招标信息网网站排名优化需要多久
  • 品牌网站怎么做seo成都网络推广优化
  • 国外有没有做问卷调查的网站线下推广团队
  • 做钓鱼网站获利3万新闻今日头条最新消息
  • 深圳网站制作哪家好培训机构招生方案模板
  • 企业网站开发协议今日最新重大新闻
  • 深圳 做网站 互联网页设计代码案例
  • 响应式网站栅格平台推广是什么
  • php做网站答辩问题怎样搭建一个网站
  • 静态网站怎么做软文营销的技巧有哪些
  • 地图网站制作搜索引擎营销的名词解释
  • 建设银行网站app好的营销网站
  • 国内永久免费crm游戏站外seo推广