MCP 上手指南:用一套开放协议把工具接进大模型

Function Calling 用久了都会撞上同一堵墙:文件系统、数据库、浏览器……每接一个新工具,都要针对不同的模型和框架重写一遍胶水代码。MCP(Model Context Protocol)就是为拆掉这堵墙而生的开放协议——它把模型如何发现工具、如何传参、如何返回结果全部标准化,Server 只写一次,所有支持 MCP 的客户端都能直接复用。

三个核心概念

MCP 只有三类原语:Tools 是可被模型主动调用的函数,Resources 是只读数据源,Prompts 是预设提示模板。架构上分为 Host、Client、Server 三层:Host 是你的 AI 应用,Server 对外提供能力,Client 在中间按 JSON-RPC 协议通信。绝大多数场景你只需要实现 Server 这一侧。

十分钟跑通第一个 Server

以官方 Python SDK 为例,安装依赖 pip install "mcp[cli]" 后,用装饰器注册一个工具:

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("echo")

@mcp.tool()
def shout(text: str) -> str:
    """把文本转成大写返回"""
    return text.upper()

执行 mcp dev server.py 会自动拉起 Inspector 调试界面,在工具列表里点开 shout、填入参数就能看到返回值。把它配置到 Claude Desktop、Cline 等客户端后,模型会自主判断何时调用这个工具。

上生产前的安全清单

  • 只读优先:查询类工具先上线,写入与删除默认拒绝;
  • 命令白名单:涉及执行命令的 Server 只放行白名单内的程序,禁止拼接任意 shell;
  • 沙箱隔离:文件系统类 Server 用容器或 chroot 圈定可见目录;
  • 审计日志:记录每次调用的工具名、参数与耗时,事故可回放。

生态里 filesystem、Playwright、PostgreSQL 等现成 Server 已经不少,动手造轮子之前先搜一轮,往往改改配置就能用。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容