FastMCP让AI智能体用自然语言调用API,小白也能成为大模型开发专家!
FastMCP是一个开源协议,革新了AI智能体与外部工具的交互方式,将传统复杂CRUD式API调用转变为自然语言对话。文章通过天气查询实例,展示了如何在LangGraph中集成FastMCP,让AI智能体能理解自然语言指令并调用工具。这种技术范式让人机协作更高效,开发者可从"编写代码"转向"设计流程",使AI真正成为数字同事,大幅降低开发门槛。
简介
FastMCP是一个开源协议,革新了AI智能体与外部工具的交互方式,将传统复杂CRUD式API调用转变为自然语言对话。文章通过天气查询实例,展示了如何在LangGraph中集成FastMCP,让AI智能体能理解自然语言指令并调用工具。这种技术范式让人机协作更高效,开发者可从"编写代码"转向"设计流程",使AI真正成为数字同事,大幅降低开发门槛。
熟悉我的朋友们都知道我对智能体的自定义开发一直都是情有独钟的,我始终坚信,通过自定义开发出来的智能体最终一定是要超越通用智能体的能力的,至少在对于你的个性化需求这个方面。因此,我也非常关注智能体开发的这个领域,尤其是LangGraph的开发,我最近也买了沧海九粟老师的新书《LangGraph实战》。非常痴迷与通过构建自己的智能体来完成个性话的任务。
那么在开发自己的智能体的过程中,你是否也经历过这样的尴尬?在构建一个智能体时,为了调用一个简单的天气API,不得不写一长串复杂的代码,然后还要处理异常、解析JSON。这不仅繁琐,而且一旦API更新,整个逻辑就得重写。这正是传统“CRUD”式调用的痛点。
现在,FastMCP为我们提供了一种全新的范式。它允许我们的AI智能体,像一个刚入职的实习生一样,用一句自然语言就能完成复杂操作。今天,我就带大家快速上手这个革命性的技术。
一、FastMCP是什么?为什么它能“杀死”CRUD?
- 一句话定义:FastMCP是一个开源协议,它为大型语言模型(LLM)与外部工具(如API、数据库、文件系统)之间的交互建立了一套标准化接口。
- 核心思想:与其让AI学习如何“硬编码”调用API,不如让它学会“自然对话”。你可以把FastMCP看作是AI与外部世界的“翻译官”。
- 对比:
-
传统方式 (CRUD)
:
requests.get("https://api.weather.com/v1?city=Beijing")
→json.loads(response.text)
→print(data['temperature'])
-
FastMCP方式
:AI说:“请告诉我北京的天气。”
结论:FastMCP的核心价值在于“自然性”,它让AI的交互方式从“编程”回归到“沟通”。
二、实战指南:3步搭建你的第一个FastMCP Agent
下面,我将以一个“天气查询”为例,演示如何集成FastMCP。
Step 1: 创建MCP服务端 (提供工具)
首先,我们需要创建一个MCP服务器来暴露“查询天气”这个能力。使用 FastMCP
库非常简单。
# mcp_servers/weather_server.py
from mcp.server.fastmcp importFastMCP
# 初始化一个名为 "Weather" 的MCP服务器
mcp =FastMCP("Weather")
# 使用 @mcp.tool() 装饰器,将Python函数注册为一个MCP工具
@mcp.tool()
def get_weather(location: str)-> str:
# 这里可以接入真实的天气API
# 为了演示,我们返回一个模拟结果
return f"当前{location}的天气是晴朗,气温25度。"
# 启动服务器,监听SSE连接
mcp.run(transport="sse")
运行命令: python mcp_servers/weather_server.py
Step 2: 在LangGraph中加载MCP工具
接下来,我们需要让我们的LangGraph智能体知道这个新工具的存在。
# agent.py
from langchain_mcp_adapters.client importMultiServerMCPClient
from langgraph.graph importStateGraph, START, END
from langgraph.graph.message import add_messages
from langgraph.prebuilt importToolNode, tools_condition
# 1. 加载MCP工具
async def load_mcp_tools():
# 指定MCP服务器的地址
servers ={
"weather":{
"transport":"sse",
"url":"http://127.0.0.1:8001",# 确保与上面的端口一致
}
}
# 通过MultiServerMCPClient加载工具
client =MultiServerMCPClient(servers)
tools = await client.get_tools()
return tools
# 2. 构建工作流
graph_builder =StateGraph(State)
graph_builder.add_node("agent", call_model)# 你的大模型节点
graph_builder.add_node("tool",ToolNode(tools))# 工具节点
# 3. 定义边
graph_builder.add_edge("tool","agent")# 工具执行完后,回到Agent继续决策
# 4. 将MCP工具注入工作流
async with load_mcp_tools()as tools:
graph_builder.add_node("tool",ToolNode(tools))
graph_builder.add_edge("tool","agent")
Step 3: 让AI“说话”
现在,当用户问“帮我查一下上海的天气”时,AI会自动识别这是一个需要调用外部工具的任务,并通过FastMCP协议向 weather_server
发送请求,最终得到答案。
三、从“工具”到“员工”的进化
FastMCP不仅仅是解决了API调用的问题,它代表了人机协作的新范式。它让我们从“编写代码”转向“设计流程”,以前很多需要通过代码解决的问题,都可以做的更AI化,通过自然语言的表达来传递,让AI真正成为我们高效的数字同事。
快去GitHub上找到 langchain-mcp-adapters
的官方仓库,动手试试吧!好久没有写类似的教程了,准备慢慢的再把这种文章重新拾起来,得对得起加加笔记这个做笔记的初衷啊,自己记笔记的同时,也能分享给大家一些有用的东西。
我是加加,十年编程老兵,全栈技术领航者,现专注大模型与AI独立开发。
我不仅是技术的探索者,更是梦想的引路人。
加入我的AI独立开发社群,让我们一起驾驭AI,解锁独立开发的无限潜力,共创技术新纪元。
我在前行的路上,等你一起飞跃。
四、AI大模型学习路线
如果你对AI大模型入门感兴趣,那么你需要的话可以点击这里大模型重磅福利:入门进阶全套104G学习资源包免费分享!
这份完整版的大模型 AI 学习和面试资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
这是一份大模型从零基础到进阶的学习路线大纲全览,小伙伴们记得点个收藏!
第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;
第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;
第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;
第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;
第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;
第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;
第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。
100套AI大模型商业化落地方案
大模型全套视频教程
200本大模型PDF书籍
👉学会后的收获:👈
• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;
• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;
• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;
• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。
LLM面试题合集
大模型产品经理资源合集
大模型项目实战合集
👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓
更多推荐
所有评论(0)