getfromcode我的博客 会员免费

AI agent 大模型实战之 stdio创建本地mcp服务和客户端

这门课解决什么问题 MCP(Model Context Protocol)是连接 AI agent 与外部工具的标准协议。这门课聚焦于 stdio 传输方式——即 agent 与本地 MCP 服务之间通过标准输入输出进行通信的技术实现。你需要解决的核心问题是:如何快速搭建一个本地 MCP 服务,并让

单课价¥29新品 上架
会员价 会员免费开通会员,全站课程按额度无限下载套餐详情
186 人关注 更新于 2026-11-05 永久有效
发货

网盘链接 · 支付成功后自动发货

保障

永久有效 · 链接失效免费补发

客服

每日 9:00-21:00 在线客服 联系客服

购买方式开通会员 · 全站免费下单课购买 · 仅本课

支付成功后自动显示网盘下载链接;链接失效可联系客服免费补链,永久有效。

正版保障 极速发货 售后无忧

这门课解决什么问题

MCP(Model Context Protocol)是连接 AI agent 与外部工具的标准协议。这门课聚焦于stdio传输方式——即 agent 与本地 MCP 服务之间通过标准输入输出进行通信的技术实现。你需要解决的核心问题是:如何快速搭建一个本地 MCP 服务,并让 agent 调用它执行具体任务(如数学计算、文件处理等),而无需依赖外部 API 或复杂部署。

适合什么基础

建议读者具备 Python 基础,了解基本的函数定义与装饰器用法。课程不会从零讲语法,而是聚焦于 MCP 架构设计与代码落地。如果你熟悉 LangChain 或其他 agent 框架,理解起来会更快;即使不熟悉,课程也会用清晰的代码示例带你走通。

建议先看哪几块

  • MCP 服务端创建:使用 FastMCP 框架注册工具函数,理解@mcp.tool()装饰器的用法与参数传递机制。
  • stdio 客户端连接:通过StdioServerParameters和ClientSession建立与服务端的通信通道。
  • LangChain agent 集成:使用load_mcp_tools将 MCP 工具注入 agent,理解工具注册与调用流程。

学完能独立做什么

学完这门课,你可以独立搭建一个本地 MCP 服务(如数学计算、文件读写等),并通过 agent 框架调用这些工具完成实际任务。更重要的是,你会掌握 MCP 服务的标准开发模式,能够将其应用到自己的项目中,比如为 AI 助手添加自定义工具能力,或构建更复杂的 agent 工作流。

资料怎么配合练习

课程资料包含可直接运行的 Python 代码示例,建议边看边改:尝试修改工具函数的参数和返回值,尝试添加新的工具,或尝试连接不同的 MCP 服务。每个模块结束后,尝试用课程中的代码搭建一个最小可运行示例,验证自己的理解是否正确。资料本身即是练习的起点,动手修改和扩展比单纯阅读更有价值。


from mcp.server.fastmcp import FastMCP mcp = FastMCP("Math Tools") @mcp.tool()
def add(a:int,b:int)->int: return a+b @mcp.tool()
def mult(a:int,b:int)->int: return a*b if __name__=="__main__": mcp.run(transport="stdio")
from langchain.agents import create_agent
from langchain_mcp_adapters.tools import load_mcp_tools
from mcp import StdioServerParameters, ClientSession
from mcp.client.stdio import stdio_client
import asyncio from app.bailian.common import llm SYSTEM_PROMPT="""
你是数学计算专家 你有2个工具函数:
- add :根据这个函数去把用户输入的2个值相加 并且返回
- mult :根据这个函数去把用户输入的2个值相乘 并且返回
- 先算乘后算加
""" async def create_mcp_stdio_client(): server_params = StdioServerParameters( command="python", args=["/Volumes/c/workspace/ai-agent-test/mcp_all/stdio_test/mcp_stdio_server.py"] ) async with stdio_client(server_params) as (read,write): async with ClientSession(read,write) as session: await session.initialize() tools =await load_mcp_tools(session) print(tools) agent = create_agent( model=llm, tools=tools, debug=True, system_prompt=SYSTEM_PROMPT, ) resp = await agent.ainvoke( {"messages": [{"role": "user", "content": "1 + 100 * 100 = ?"}]}) print(resp) return resp asyncio.run(create_mcp_stdio_client())

QQ_1769337254072.png