欢迎光临
我们一直在努力

收藏备用!Python+FastMCP从零搭MCP服务器,打通大模型与网络自动化

对于刚接触大模型落地的程序员或小白来说,如何让AI真正对接实际业务场景,比如网络自动化,是个绕不开的问题。本文就带大家用Python和FastMCP框架,从零构建一套MCP服务器——相当于给大模型装一个"万能USB接口",轻松实现大模型与网络数据源的无缝联动。

全文从基础概念讲起,一步步覆盖环境搭建、代码编写、工具测试,甚至不同传输模式的实战对比,每个环节都配了具体示例和操作截图。不管你是想入门大模型应用开发,还是要落地网络智能运维,这份教程都值得收藏备用。内容包括MCP核心原理、环境准备、代码结构解析、CherryStudio集成测试、多传输模式实践及进阶技巧,帮你快速掌握标准化的大模型对接方法。

第一部分:MCP服务器核心概念

什么是MCP(Model Context Protocol,模型上下文协议)?

MCP是Anthropic公司开源的一个通用的、开发的标准,用于打通大模型(人工智能体)与各个数据源的交互,习惯把mcp server叫做usb接口,即插即用的功能。

所以看这张图会更清晰,mcp server可以看作是一个python的脚本(获取或配置数据)。

MCP在网络自动化中的作用

  • 标准化工具接入: 将设备查询、网络资源查询及配置下发等能力封装为MCP工具,便于模型调用。
  • 一致的资源读取: 以URI形式暴露资产清单、拓扑、日志等数据,提升可观察性。
  • 安全与可控: 通过权限与输入校验,让模型在受控边界内执行操作。
  • 可组合工作流: 将多工具、多资源的操作编排为可复用流程,加速自动化。
  • 易于集成: 与MCP客户端(如CherryStudio)和LLM快速对接,缩短落地时间。

为什么选择Python和FastMCP?

  • Python: 作为一种通用编程语言,Python拥有丰富的库生态系统和简洁的语法,非常适合快速开发和原型设计。
  • FastMCP: 是一个基于Python的轻量级MCP框架,它简化了MCP服务器的构建过程,提供了清晰的API来定义工具(Tools)、资源(Resources)和提示(Prompts),使得开发者可以专注于业务逻辑而非底层通信细节。

第二部分:环境准备

在开始构建MCP服务器之前,我们需要准备好Python开发环境并安装必要的库。

1. Python环境安装

建议安装Python 3.9+以上。如果您尚未安装,请访问Python官方网站下载并安装最新版本。

2. uv 工具的安装与使用

uv 是一个现代化的Python包管理器和项目管理工具,它提供了比 pip 和 venv 更快的性能。

安装 uv

pip install uv

创建项目目录

首先,创建一个新的项目目录,例如 mcp-server:

# -p 指定python版本
C:\\>uv init mcp-server -p 3.13
Initialized project `mcp-server` at `C:\\mcp-server`

创建虚拟环境

进入项目目录,并使用 uv 创建虚拟环境:

C:\\mcp-server>uv venv

3. fastmcp 库的安装

激活虚拟环境,然后安装 fastmcp 库:

# 激活虚拟环境
C:\\mcp-server>.\\.venv\\Scripts\\activate
# 安装fastmcp库
(mcp-server) C:\\mcp-server>uv add fastmcp

第三部分:构建你的第一个MCP服务器

现在,我们将在 main.py 文件中编写MCP服务器的核心代码。

1. 基础代码结构解析

一个 FastMCP 服务器通常包含以下几个核心组件:

  • FastMCP 实例: 服务器的入口点。
  • @mcp.tool(): 定义可供客户端调用的函数,执行特定操作。
  • @mcp.resource(): 定义可供客户端查询或操作的数据资源。
  • @mcp.prompt(): 定义用于生成文本或与大型语言模型交互的提示。

2. 示例代码:main.py

在项目根目录下创建 main.py 文件,并写入以下代码:

from fastmcp import FastMCP

# 创建一个MCP服务器实例,命名为"Demo"
mcp = FastMCP("Demo")

# 添加一个加法工具
@mcp.tool()
def add(a: int, b: int)> int:
"""Add two numbers"""
return a + b

# 添加一个动态问候资源
# 资源路径支持变量,例如这里的{name}
@mcp.resource("greeting://{name}")
def get_greeting(name: str)> str:
"""Get a personalized greeting"""
returnf"Hello, {name}!"

# 添加一个Prompt,用于生成问候语
@mcp.prompt()
def greet_user(name: str, style: str = "friendly")> str:
"""Generate a greeting prompt"""
styles = {
"friendly": "Please write a warm, friendly greeting",
"formal": "Please write a formal, professional greeting",
"casual": "Please write a casual, relaxed greeting",
}

returnf"{styles.get(style, styles['friendly'])} for someone named {name}."

if __name__ == '__main__':
# 运行MCP服务器,使用stdio传输模式
mcp.run(transport="stdio")

3. 代码详解

  • mcp = FastMCP("Demo"): 初始化一个名为 “Demo” 的MCP服务器实例。
  • @mcp.tool(): 装饰器将 add 函数注册为一个MCP工具。客户端可以通过MCP协议调用此函数,并传递参数 a 和 b。
  • @mcp.resource("greeting://{name}"): 装饰器将 get_greeting 函数注册为一个MCP资源。客户端可以通过访问 greeting://<name> 这样的URI来获取个性化问候语。
  • @mcp.prompt(): 装饰器将 greet_user 函数注册为一个MCP提示。这通常用于与大型语言模型(LLM)集成,根据提供的 name 和 style 生成相应的问候语提示。
  • mcp.run(transport="stdio"): 启动MCP服务器。transport="stdio" 表示服务器将通过标准输入/输出进行通信,这是一种常见的本地调试和集成方式。

第四部分:集成与测试:CherryStudio配置

CherryStudio 是一个强大的MCP客户端,可以方便地连接和测试您的MCP服务器。

1. CherryStudio简介

CherryStudio提供了一个友好的图形界面,允许您发现、调用MCP服务器上的工具、资源和Prompt,并与大型语言模型进行交互。

2. 配置MCP服务器连接(以stdio模式为例)

步骤一:添加MCP服务器

打开CherryStudio,找到设置-MCP,点击“添加”并选择“快速创建”。

步骤二:配置服务器参数

按照以下配置填写服务器信息:

  • 名称: 自定义一个名称,例如 “MyMCPDemo”

  • 类型: 选择 stdio 模式

  • 参数: 填写以下内容,指定MCP服务器的运行方式和代码路径。请确保 C:\\mcp-server 替换为您实际的项目路径。

–directory
C:\\mcp-server
run
main.py

步骤三:保存并启用

点击保存并启用。

3. 在CherryStudio中测试MCP服务器

步骤一:选择MCP和大模型

返回到CherryStudio首页,在聊天界面选择您刚刚配置的MCP服务器(map-add-server)和大模型。

步骤二:调用工具进行测试

在聊天输入框中输入 100+100,然后查看效果。CherryStudio将通过MCP服务器调用 add 工具并返回结果。

第五部分:探索不同的传输模式(可选/进阶)

FastMCP 支持多种传输模式,以适应不同的部署和集成场景。除了 stdio,常用的还有 sse (Server-Sent Events) 和 streamable-http。

1. SSE模式

SSE模式适用于需要服务器向客户端单向推送事件的场景。

代码修改

在 main.py 中,将 mcp.run() 的 transport 参数修改为 sse:

# …这块代码不变…
if __name__ == '__main__':
mcp.run(transport="sse")

CherryStudio配置调整

在CherryStudio的MCP设置中,将类型改为 sse。

2. Streamable-HTTP模式

Streamable-HTTP模式通常用于更复杂的HTTP通信场景,支持流式传输。

代码修改

在 main.py 中,将 mcp.run() 的 transport 参数修改为 streamable-http:

# …这块代码不变…
if __name__ == '__main__':
mcp.run(transport="streamable-http")

CherryStudio配置调整

在CherryStudio的MCP设置中,将类型改为 streamable-http。

3. 不同传输模式的适用场景简析

  • stdio: 适用于本地开发、调试和简单的进程间通信。
  • sse: 适用于需要服务器向客户端单向推送事件的场景,例如实时日志、状态更新等。
  • streamable-http: 适用于需要更灵活的HTTP通信,支持长连接和流式数据传输,常用于构建高性能的API服务。

第六部分:进阶思考与最佳实践

1. MCP服务器的扩展性

  • 添加更多工具: 根据业务需求,定义更多 @mcp.tool() 函数来执行网络配置、数据查询、故障诊断等操作。
  • 定义复杂资源: 使用 @mcp.resource() 定义更复杂的网络设备状态、拓扑信息等资源。
  • 集成更多Prompt: 结合不同的LLM,定义多样化的 @mcp.prompt() 来实现智能问答、配置生成等功能。

2. 错误处理与日志记录

在实际应用中,为您的MCP工具和资源添加健壮的错误处理机制和详细的日志记录至关重要。这有助于快速定位问题并提高系统的稳定性。

3. 安全性考虑

  • 认证与授权: 确保只有经过授权的客户端才能访问您的MCP服务器。
  • 数据加密: 在传输敏感数据时,使用加密协议保护数据安全。
  • 输入验证: 对所有来自客户端的输入进行严格验证,防止注入攻击和其他安全漏洞。

4. 生产部署建议

对于生产环境,您可能需要考虑将MCP服务器部署为独立的微服务,并结合容器化技术(如Docker)和编排工具(如Kubernetes)来管理和扩展。

第七部分:总结与展望

本文带您从零开始,使用Python和FastMCP框架构建了一个简单的MCP服务器,并通过CherryStudio进行了测试。我们探讨了MCP的核心概念、环境准备、代码实现以及不同传输模式的配置。

MCP作为模型上下文协议,为将大语言模型与外部工具、数据源和运维流程连接提供了标准化路径。借助其轻量、清晰的接口,您可以逐步将智能能力融入网络自动化场景,构建更可靠、可扩展的运维体系。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线科技企业深耕十二载,见证过太多因技术卡位而跃迁的案例。那些率先拥抱 AI 的同事,早已在效率与薪资上形成代际优势,我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在大模型的学习中的很多困惑。我们整理出这套 AI 大模型突围资料包:

  • ✅ 从零到一的 AI 学习路径图
  • ✅ 大模型调优实战手册(附医疗/金融等大厂真实案例)
  • ✅ 百度/阿里专家闭门录播课
  • ✅ 大模型当下最新行业报告
  • ✅ 真实大厂面试真题
  • ✅ 2025 最新岗位需求图谱

所有资料 ⚡️ ,朋友们如果有需要 《AI大模型入门+进阶学习资源包》,下方扫码获取~
在这里插入图片描述

① 全套AI大模型应用开发视频教程

(包含提示工程、RAG、LangChain、Agent、模型微调与部署、DeepSeek等技术点)
在这里插入图片描述

② 大模型系统化学习路线

作为学习AI大模型技术的新手,方向至关重要。 正确的学习路线可以为你节省时间,少走弯路;方向不对,努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划,带你从零基础入门到精通!
在这里插入图片描述

③ 大模型学习书籍&文档

学习AI大模型离不开书籍文档,我精选了一系列大模型技术的书籍和学习文档(电子版),它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。
在这里插入图片描述

④ AI大模型最新行业报告

2025最新行业报告,针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。
在这里插入图片描述

⑤ 大模型项目实战&配套源码

学以致用,在项目实战中检验和巩固你所学到的知识,同时为你找工作就业和职业发展打下坚实的基础。
在这里插入图片描述

⑥ 大模型大厂面试真题

面试不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我精心整理了一份大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

图片

以上资料如何领取?

在这里插入图片描述

为什么大家都在学大模型?

最近科技巨头英特尔宣布裁员2万人,传统岗位不断缩减,但AI相关技术岗疯狂扩招,有3-5年经验,大厂薪资就能给到50K*20薪!

图片

不出1年,“有AI项目经验”将成为投递简历的门槛。

风口之下,与其像“温水煮青蛙”一样坐等被行业淘汰,不如先人一步,掌握AI大模型原理+应用技术+项目实操经验,“顺风”翻盘!
在这里插入图片描述
在这里插入图片描述

这些资料真的有用吗?

这份资料由我和鲁为民博士(北京清华大学学士和美国加州理工学院博士)共同整理,现任上海殷泊信息科技CEO,其创立的MoPaaS云平台获Forrester全球’强劲表现者’认证,服务航天科工、国家电网等1000+企业,以第一作者在IEEE Transactions发表论文50+篇,获NASA JPL火星探测系统强化学习专利等35项中美专利。本套AI大模型课程由清华大学-加州理工双料博士、吴文俊人工智能奖得主鲁为民教授领衔研发。

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

以上全套大模型资料如何领取?

在这里插入图片描述

赞(0)
未经允许不得转载:171主机测评 » 收藏备用!Python+FastMCP从零搭MCP服务器,打通大模型与网络自动化
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址