侧边栏壁纸
博主头像
西瓜码农

成功需要脚踏实地,一步一个脚印

  • 累计撰写 292 篇文章
  • 累计创建 1 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

MCP协议实战:让AI从聊天变成干活,5步搭好工具链

你有没有这种经历?让AI帮你查个天气,它说"我做不到";让它把数据存到数据库,它说"我没有权限";让它每周发个周报邮件,它直接摆烂。不是AI不够聪明,是它缺一双手。

一、MCP是什么?一句话讲清楚

MCP(Model Context Protocol)就是AI界的USB-C接口。

以前每个AI平台各搞一套工具接口——OpenAI有Function Calling,Anthropic有Tool Use,Google有自己的格式,国内各家又不一样。开发者想给AI接个数据库,得给每个平台写一遍适配代码,累死。

MCP出来之后,一套协议通吃。你写一个MCP Server,Claude能用,ChatGPT能用,DeepSeek也能用。就像USB-C统一了充电线,MCP统一了AI的工具接口。

我自己的感受:之前用OpenClaw搭自动化工作流,每接一个新工具都要写一堆胶水代码。现在用MCP,装个Server就完事了,省下来的时间够我多写两篇教程。

二、MCP怎么工作?三个角色搞明白

MCP架构就三个参与者:

  • Host(宿主):跑AI模型的应用,比如Claude Desktop、VS Code、Cherry Studio
  • Client(客户端):Host和Server之间的桥梁,一个Host可以同时连多个Server
  • Server(服务端):提供工具和数据的程序,比如文件系统、数据库、搜索引擎

Server暴露三类能力:Tools(AI可执行的操作,比如"查数据库")、Resources(AI可读取的数据,比如文件内容)、Prompts(预设的交互模板)。

传输方式两种:Stdio(本地进程间通信,性能最好)和Streamable HTTP(远程服务器用,支持OAuth)。

三、MCP vs Function Calling,差别在哪?

很多人问:OpenAI的Function Calling不也能让AI调工具吗?

能,但有本质区别:

  • 协议性质:Function Calling绑定OpenAI生态,MCP是开放协议
  • 工具发现:Function Calling要硬编码每个函数,MCP支持动态发现(tools/list自动探测)
  • 一次开发到处跑:MCP Server写一次,所有AI平台都能用;Function Calling换平台就得重写

我的观点:Function Calling像是给AI配了几个固定遥控器,按了才响。MCP像是给AI装了USB-C口,什么设备都能插。短期看Function Calling够用,长期看MCP才是正道——没人想为每个AI平台写一遍适配代码。

四、5步搭一个文件系统MCP Server

动手环节。用FastMCP(官方推荐的高层API)搭一个让AI能读写本地文件的Server。

第1步:装SDK

pip install mcp

⚠️ 目前稳定版v1.28.1,v2.0还在alpha。建议requirements.txt写mcp>=1.27,<2。

第2步:写Server代码。核心就是用@mcp.tool()装饰器把Python函数暴露成AI可调用的工具:

  • read_file(path) —— 读文件
  • write_file(path, content) —— 写文件
  • list_directory(path) —— 列目录
  • get_file_info(path) —— 查文件信息

函数的类型注解自动生成参数描述,docstring自动变成工具描述,AI根据它判断什么时候调哪个工具。FastMCP帮你处理JSON-RPC协议、生命周期、传输层,不用手动写。

第3步:测试启动。python my_fs_server.py,没报错就对了。

第4步:配置Claude Desktop。在配置文件里加mcpServers字段,command填python,args填Server脚本的绝对路径。重启后界面右下角会出现锤子图标。

第5步:开聊。说"帮我读一下桌面的notes.md",Claude会自动调用MCP工具执行。

五、进阶:数据库MCP Server

文件系统只是热身。更实用的是让AI查数据库。

用FastMCP搭SQLite Server,暴露两个工具:query_database(执行SELECT查询)和get_schema(获取表结构)。安全起见,只允许SELECT,禁止写入操作。

配好之后,你就能在Claude里说:"帮我从数据库查最近一周的订单数据,分析销售趋势,把结果存到桌面report.md里。"AI会自动调数据库Server查数据、调文件Server写结果,一条指令搞定三步操作。

实测体验:我搭了一个数据库MCP Server接公司内部SQLite,让AI做数据查询和简单分析,效率比之前手动写SQL快了3倍以上。关键是它还能自动生成图表描述,省了可视化那一步。

六、更多玩法和安全提醒

MCP生态已经相当丰富:

  • 浏览器自动化:npx @anthropic/mcp-server-playwright,AI能控制浏览器
  • 搜索引擎:pip install mcp-server-web-search
  • GitHub:npx @modelcontextprotocol/server-github,AI能创建Issue、看PR
  • 飞书/钉钉:社区版Server,AI帮你发消息、管文档

更多Server去 registry.modelcontextprotocol.io 找,几百个。

安全提醒:MCP Server默认有你运行用户的文件权限,恶意Prompt可能让AI读敏感文件。建议:限制可读写目录范围、敏感操作要用户确认、只允许SELECT查询。别为了方便把权限全开了。

对普通人意味着什么

MCP的真正影响不是技术层面的,而是它让AI从"聊天工具"变成了"干活工具"。以前你跟AI说"帮我查数据库",它只能告诉你SQL怎么写。现在它直接查完给你结果。

更关键的是,MCP是开放协议,不绑定任何厂商。你今天在Claude上写的Server,明天ChatGPT支持了也能用。你搭的数据库工具,后年换AI平台也能无缝对接。

这就好比你买了一条USB-C线,今天充手机,明天充电脑,后天充耳机。规格统一了,一切都简单了。

如果你还没试过MCP,建议今天就动手搭一个文件系统Server,5分钟搞定。你会发现AI能做的事,比你想象的多得多。

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区