摘要:大模型的**MCP协议(Model Context Protocol,模型上下文协议)**是一种开放标准协议,让大模型与外部数据源、工具和服务之间建立安全、标准化的双向连接。
大家好,我是程序员寒山。
你想不想开发自己的MCP呢?
MCP最近特别火,大家都在聊也都在说,但是很多人还是没有搞清楚,今天手把手教大家怎么开发自己的MCP,同时给大家用通俗的语言说一下MCP。
大模型的**MCP协议(Model Context Protocol,模型上下文协议)**是一种开放标准协议,让大模型与外部数据源、工具和服务之间建立安全、标准化的双向连接。
它通过统一接口规范,解决AI应用开发中的数据孤岛、工具适配复杂等问题,使大模型能够灵活调用私有数据或第三方服务,从而提升其实用性和执行能力。
MCP协议类似于硬件领域的USB接口,提供统一的交互标准,允许大模型通过固定格式的请求调用工具或数据源,无需为每个工具单独开发适配代码。安全双向通信
支持本地和远程通信模式,本地通过标准输入输出(stdio)实现高安全性,远程基于HTTP/SSE协议扩展至云端服务,同时通过加密机制保护数据传输。灵活架构
采用客户端-服务器模型,包含以下核心组件:MCP主机(Host):发起请求的终端应用(如IDE、智能体客户端)。MCP客户端(Client):在主机内与MCP服务器通信的桥梁。MCP服务器(Server):提供数据或工具服务的后端程序,支持Python、Node.js等语言开发。功能多样性
MCP服务器可提供三类功能:资源(Resources):静态数据(如文件、数据库记录)。工具(Tools):动态函数(如调用API、执行操作)。提示(Prompts):预定义的交互模板,用于标准化与大模型的对话。创建MCP服务器
需编写服务端程序,并通过SDK(如Python的mcp.server)注册工具或资源。 例如,用@mcp.Tool装饰器标记函数,使其可被大模型调用。from mcp.server.fastmcp import FastMCP mcp = FastMCP @mcp.tool def get_desktop_files: """获取桌面文件列表""" return os.listdir(os.path.expanduser("~/Desktop"))配置客户端
在AI应用(如Cursor、Dify、CherryStudio等)中配置MCP服务器地址。 例如,编辑mcp.json文件指定服务器启动命令:{ "server_name": { "url": "http://192.168.1.131:8000/sse", "headers": {}, "timeout": 60, "sse_read_timeout": 300 }} { "mcpServers": { "listdesktopfiles": { "command": "python d:\\mcp-demo\\file.py" } } }调用与交互
用户通过自然语言指令触发大模型调用MCP工具。 例如,输入“我的桌面有哪些文件”,模型解析后自动调用get_desktop_files工具并返回结果。企业私有数据接入
允许大模型安全访问企业内部数据库、文档库,生成基于私有知识的精准回答(如医疗诊断辅助、金融分析)。是RAG本地知识库的一个有效的补充。第三方服务集成
例如,百度高德地图通过MCP协议封装核心API,开发者无需处理复杂接口,即可让大模型直接调用地点检索、路线规划等功能。自动化任务执行
现在很多的自动化编程工具,也都使用MCP协议,例如Cursor、Cline等。自己创建修改文件,调用MCP工具,实现自动化任务执行。
有菜谱的结构化数据,菜谱的数据库处理脚本,菜谱的数据库文件,以及本地MCP服务器代码。如下图:
MCP协议是一个固定且开放的标准,定义了详细的通信规范与架构设计。其核心价值在于降低AI应用开发门槛,通过统一接口实现“连接万物”,推动大模型从“问答”向“执行”演进。
未来,随着更多厂商和开发者加入,MCP有望成为AI领域的“微服务框架”,进一步释放大模型的潜力。
我们的本地RAG知识可以通过MCP协议进行扩展,从而实现更复杂的知识库。
来源:半月叨