简介

本文详细介绍了使用Python开发MCP服务的完整流程,包括环境准备、Server开发、工具调试及Cherry Studio集成。通过FastMCP SDK实现了一个天气查询工具,展示了如何创建、测试和部署MCP服务。文章还提供了自定义Client的实现方法,帮助开发者理解MCP通信机制。无论是对AI工具感兴趣的小白还是有经验的开发者,都能通过本教程掌握MCP服务的开发与集成技巧。


之前介绍了如何使用别人提供的MCP服务,今天我们来看一看如何搭建自己的MCP服务。目前MCP Server 官方给出了两种语言的SDK,分别是 NodeJS 以及 Python,由于笔者自工作以来一直使用Python,因此使用该语言来开发MCP Server和Client。

前置环境准备

在着手开发之前,先要把需要的环境准备好,MCP 官方推荐使用 uv 来进行 Python 工程的管理。

我们可以到uv官网下载安装包,依据自己的开发平台找到对应的版本,windows64一般选择如下版本:uv-x86_64-pc-windows-msvc.zip。将该压缩包解压到指定目录后,会得到如下三个文件:

为了能在电脑的命令行中使用该命令,需要将解压后的目录配置在环境变量中。

然后我们打开命令行,就可以执行uv命令了,比如我们执行uv --version就可以看到其版本信息:

MCP Server

配置好uv工具后,我们就可以使用如下命令初始化一个MCP项目了。

uv init achievement --python=3.13

初始化成功后,会自动创建一个名为achievement的文件夹,里面主要包含了一个测试文件 hello.py,项目包管理文件 pyproject.toml 以及 README.md。

然后我们可以进入到achievement文件夹中,执行如下命令安装mcp包。

uv add"mcp[cli]"

此时,该目录下会创建一个.venv虚拟环境,并自动安装一堆依赖。

环境配置完成后,我们就可以正式开发一个MCP Server了。MCP Server 的 Python SDK,分为 FastMCP SDK 和 Low-Level SDK 两种。FastMCP 是在 Low-Level 的基础上又做了一层封装,不论是写代码,还是项目依赖等,操作起来都更加简单,容易上手。在achievement文件夹下新建一个server.py的文件,并在其中定义了一个查询天气的Tool,其内容如下:

import requests

在使用这个Tool之前,我们还要先在此项目的虚拟环境中下载requests包,在achievement文件夹下执行下列命令:

uv add requests

这个Tool能不能使用呢?我们可以执行以下命令来进行调试:

 .\.venv\Scripts\mcp.exe dev server.py

按住ctrl点击带token的链接,就可以进入如下页面:

点击Connect后状态变为绿色,表示连接成功。

进入到Tools选项中,点击List Tools即可列出当前可用的工具列表:get_weather,选择该工具后,右侧就会出现该工具需要输入的参数,这里我输入了北京,为了能够获取输出,需要在左侧的Configuration中将Request Timeout参数更改为100000,否则会显示超时。

调试成功后,我们就可以找个MCP Host工具来加载了,之前已经介绍过Cline了,这里再介绍一个Cherry Studio。

进入到官网主页后,点击下载客户端,会得到一个exe文件,直接运行即可安装,不在此赘述。

安装完成后,为了更好地使用模型,首先进入左下角的设置界面,选择模型服务,可以照图中的一样将阿里云百炼、深度求索、硅基流动设置好。设置过程很简单,把申请的API密钥填写后点击检测,成功后将右上方的开关开启即可使用。

设置好模型后,选择MCP服务器,首先点击右上角的图标,配置好相应的工具。

若是相应的目录里有以下三个文件,就说明工具已经配置完成了。

然后点击上方的编辑按钮。

将下面的内容填入JSON即可,记得更换为自己的程序目录。

{

点击确定后,我们就可以在页面看到MCP Server已经正确连接了。

此时,再回到对话界面,选中我们已经连接的MCP Server,模型我用的是阿里云百炼的qwen-max。

我们输入问题:北京的天气怎么样,模型便可自动调用MCP Server中的工具,并将结果反馈给我们。

这里需要注意的是,要想调用MCP Server的话,还需要模型具备调用工具的能力,以及开启该能力。

MCP Client

上面我们都是用已有的MCP Host来完成对MCP Server的连接,下面我们来看看如何通过Python语言编写一个自定义的MCP Client。

由于我们的MCP Server是在本地运行的,因此Client也需要采用Stdio模式来进行连接。

from mcp import ClientSession, StdioServerParameters

上述代码实际上就是启动一个stdio的client,维持一个会话,等到初始化完成后,就执行工具列表查询,以及调用工具的功能。

首先我们在命令行窗口中通过以下命令把MCP Server运行起来。

uv run server.py

然后再打开一个命令行窗口,执行下列命令,就可以把Client运行起来了。

uv run client.py

AI大模型从0到精通全套学习大礼包

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

只要你是真心想学AI大模型,我这份资料就可以无偿共享给你学习。大模型行业确实也需要更多的有志之士加入进来,我也真心希望帮助大家学好这门技术,如果日后有什么学习上的问题,欢迎找我交流,有技术上面的问题,我是很愿意去帮助大家的!

如果你也想通过学大模型技术去帮助就业和转行,可以扫描下方链接👇👇
大模型重磅福利:入门进阶全套104G学习资源包免费分享!
在这里插入图片描述

01.从入门到精通的全套视频教程

包含提示词工程、RAG、Agent等技术点
在这里插入图片描述

02.AI大模型学习路线图(还有视频解说)

全过程AI大模型学习路线

在这里插入图片描述
在这里插入图片描述

03.学习电子书籍和技术文档

市面上的大模型书籍确实太多了,这些是我精选出来的

在这里插入图片描述
在这里插入图片描述

04.大模型面试题目详解

在这里插入图片描述

在这里插入图片描述

05.这些资料真的有用吗?

这份资料由我和鲁为民博士共同整理,鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位,在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利,同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。

所有的视频由智泊AI老师录制,且资料与智泊AI共享,相互补充。这份学习大礼包应该算是现在最全面的大模型学习资料了。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。

在这里插入图片描述
在这里插入图片描述

智泊AI始终秉持着“让每个人平等享受到优质教育资源”的育人理念‌,通过动态追踪大模型开发、数据标注伦理等前沿技术趋势‌,构建起"前沿课程+智能实训+精准就业"的高效培养体系。

课堂上不光教理论,还带着学员做了十多个真实项目。学员要亲自上手搞数据清洗、模型调优这些硬核操作,把课本知识变成真本事‌!

在这里插入图片描述
如果说你是以下人群中的其中一类,都可以来智泊AI学习人工智能,找到高薪工作,一次小小的“投资”换来的是终身受益!

应届毕业生‌:无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。

零基础转型‌:非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界‌。

业务赋能 ‌突破瓶颈:传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型‌。

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

在这里插入图片描述

Logo

更多推荐