【AI】mcp server是什么玩意儿
文章目录
- 背景
- mcp server的必要性
- mcp server的基本概念
- mcp server的架构与核心组件
- 总结
背景
劈里啪啦的整了一堆概念,对mcp server还是只停留在知道个词的地步。
虽然目前大模型的对话生成能力很强,但是大模型(如deepseek)并不能直接进行如 文件增删、数据库查询、发送邮件等操作,就算你把数据库地址账号密码这些输入到deepseek模型,它也只会停留在文字层面,无法向专业人员一样操作数据库,然后帮你拿回查询结果。
说白了,人类对大语言模型的使用不想仅停留于多轮对话,然后输出干巴巴的语句。想更进一步偷懒,把使用工具的权力也交给AI模型,让AI模型帮你按输出的建议执行实际的操作。
最典型的就是, 让cursor帮你生成一个增删改成的python demo,不只输出代码内容,顺便把初始化项目目录、新建文件、启动开发、根据控制台报错、反复自动进行多轮debug。甚至,你要是整个ssh的mcp server, 是不是顺便还能帮你在服务器上装个nginx, 安docker,发布上线python demo、 从而直接运维后台服务了。
当然,就目前而言,可靠性还是差得很远,要是不做约束,你也无法确保它哪天会不会给你删库跑路了。
mcp server的必要性
所以,mcp server就是为了解决大语言模型和与外部工具的交互问题而出现的,提供能力增强的同时,也得加以约束。
mcp server的基本概念
MCP Server是Anthropic公司于2024年提出的开源协议(MCP)的核心部分,旨在解决LLM与外部系统(如数据库、API、文件等)的集成问题。其主要功能包括:
资源暴露:提供对数据实体(文件、数据库记录等)的标准化访问接口,例如file:///home/user/report.txt或memo://recent-insights。
工具提供:暴露可执行功能(如数据库查询、文件写入等),供LLM调用以完成复杂任务(例如query_database(SQL语句)或write_file(文件路径,内容))。
动态通知:当资源变化时通过JSON-RPC 2.0协议向客户端推送通知(如notification消息)。
mcp server的架构与核心组件
MCP采用客户端-服务器架构,包含以下核心组件:
MCP Host:运行AI应用程序的环境(如Claude Desktop、Cursor IDE等),托管MCP Client并协调通信。
MCP Client:中介角色,管理Host与Server间的请求/响应,处理实时通知(如任务进度更新)。
MCP Server:轻量级本地服务,通过工具(Tools)、资源(Resources)、提示(Prompts)三大能力扩展LLM功能。
总结
MCP Server作为LLM生态的关键基础设施,通过标准化协议解决了AI与真实世界交互的碎片化问题,其轻量级、安全性和模块化特性使其成为智能体开发的重要工具。