人人能看懂的大模型MCP,附MCP服务实战指南


大模型(本文特指大语言模型)本来是这样一个东西:我们输入一段文字给它,它返回一段文字给我们。这就是大模型能且唯一能够做的事情。
那么它又是如何做到获取天气信息、操作数据库、订机票、点外卖的?显然,背后一定借助了完成对应事情的工具,而且我们需要在大模型和工具之间建立一个桥梁。
我们通过一个例子来认识这个桥梁背后的工作逻辑。
假设我们开发了一个程序,这个程序就是上面所说的大模型和工具之间的桥梁。现在用户在程序的文本输入框中输入:“请在数据库中查询张三的信息,在使用体验上,用户以为自己直接在和大模型对话,实际上该程序接收到用户的问题后,把问题内容进行了扩充:
人人能看懂的大模型MCP,附MCP服务实战指南
上面经过程序扩充的内容才作为用户的问题被发送给了大模型,大模型按照约定的格式回复的内容如下:
人人能看懂的大模型MCP,附MCP服务实战指南
接下来程序便依据上述大模型的回复信息去调用了user_info这个工具,假设工具返回信息为:“姓名:张三,年龄:25,性别:男….”,这个工具返回信息被程序再次扩充成如下形式:
人人能看懂的大模型MCP,附MCP服务实战指南
上面的内容被再次输入给大模型,大模型返回:
人人能看懂的大模型MCP,附MCP服务实战指南
这便是用户最终得到的答案⬆️。
所以用户以为:
人人能看懂的大模型MCP,附MCP服务实战指南
实际上:
人人能看懂的大模型MCP,附MCP服务实战指南
MCP Host和MCP Client正是扮演了上面例子中桥梁的角色,MCP Server扮演了上面例子中工具的角色,MCP(模型上下文协议)正是通过这些角色来完成上面例子中的工作流程的,这几个角色间数据的传输方式和格式遵从MCP规范
接下来我们同样通过一个简单的例子来学习如何自己开发一个MCP Server并在MCP Host中使用它。
开发一个工具当然不限定语言,这里我们使用Python。
首先安装uv,不了解uv的读者也可跟着教程走下去:
人人能看懂的大模型MCP,附MCP服务实战指南
选择一个文件夹作为MCP Server的目录,在该目录中执行命令,完成uv项目的初始化:
人人能看懂的大模型MCP,附MCP服务实战指南
在生成的文件中,我们打开pyproject.toml:
人人能看懂的大模型MCP,附MCP服务实战指南
编辑该文件,这里只需要在依赖里面添加一个本教程用到的叫“mcp”的Python库。
人人能看懂的大模型MCP,附MCP服务实战指南
接下来创建一个叫main.py的文件,我们在这里写MCP Server的代码:
人人能看懂的大模型MCP,附MCP服务实战指南
参照上图,一个MCP服务包含图中标注的4个关键点:
关键点1:创建一个mcp对象,对象的描述信息作为参数。
关键点2和3:使用装饰器装饰一个函数,这个函数正是我们所说的工具,函数建议带上详细的类型注解和参数注释(如图中3所示),大模型正是通过这些信息判断应该调用什么工具的!一个服务里面当然可以有多个工具,即多个函数。
关键点4:使用mcp.run(“stdio”)启动服务,这里的参数”stdio”表示这是一个本地服务,通过标准输入输出的方式和MCP其它角色通信。
最后,把我们的MCP Server配置到MCP Host中去,这里以Cline为例(Windows系统):
人人能看懂的大模型MCP,附MCP服务实战指南
关于Cline的使用方法请参见往期:万物对接大模型:【爆火】MCP原理与使用指南
来测试一下效果:
人人能看懂的大模型MCP,附MCP服务实战指南

本文内容就到这里,读者有疑问的地方欢迎到交流群中讨论:
人人能看懂的大模型MCP,附MCP服务实战指南

前沿技术大模型技术新闻资讯

🧠 解码大语言模型的记忆力:上下文长度的前世今生

2025-6-7 12:11:00

前沿技术大模型技术新闻资讯

AI术语入门(下篇):Prompt、Agent、Langchain,下一站的AI地图

2025-6-7 13:54:59

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
购物车
优惠劵
搜索