核心要点
能讲清 MCP 三层架构 Host→Client→Server 经 JSON-RPC 通信,Server 暴露 Resources(只读数据)/Tools(可执行操作)/Prompts(模板)三类能力
能对比 MCP 与 Function Calling:FC 是单模型 API 层的工具调用约定,MCP 是跨应用、跨厂商的工具接入协议,与具体 LLM 解耦
能说出核心价值:工具供应商写一次 MCP Server,Claude Desktop、Cursor 等任意 Host 都能接入,解决 N×M 的集成碎片化
能点出落地约束:写操作需白名单与人工审批,stdio/SSE 等传输方式各有适用场景
简要回答
MCP 定义 LLM 应用如何发现、调用外部工具和数据源的标准接口,让工具一次开发、多客户端复用,降低 Agent 集成碎片化。
标准回答
要解决的问题
每个 Agent 框架各自实现一套工具接入,N 个应用对接 M 个工具就是 N×M 的重复开发,无法复用。
三层架构
- Host:IDE 或 Agent 应用(如 Claude Desktop、Cursor)。
- Client:Host 内为每个连接维护的客户端,与 Server 一一对应。
- Server:工具/数据源提供方,三者经 JSON-RPC 通信。
Server 暴露的三类能力
- Resources:只读数据(文件、数据库记录)。
- Tools:可执行操作(查询、写入)。
- Prompts:可复用的提示模板。
核心价值
工具供应商只写一次 MCP Server,任意支持 MCP 的 Host 都能接入;协议与具体 LLM 提供商解耦,把 N×M 降为 N+M。
常见误区
⚠️ 常见踩坑
以为 MCP 取代 REST/OpenAPI——实际很多 MCP Server 是在已有 REST/数据库之上再包一层;以为接了 MCP 就安全——写操作必须配白名单与人工审批,否则模型可直接触发高危操作。
追问
追问 1:MCP 和 OpenAPI 有什么区别?
定位:OpenAPI 描述 HTTP REST API 的端点、参数与响应,面向开发者与网关;MCP 是 LLM Host 与工具/数据源之间的运行时协议(JSON-RPC),暴露 Resources、Tools、Prompts,面向 Agent。
调用链:OpenAPI 由应用按文档发 HTTP;MCP 由 Host 内 Client 连接 Server,模型通过结构化工具调用驱动执行。
关系:很多能力底层仍是 REST/数据库,上层再包一层 MCP Server 供 Cursor、Claude Desktop 等统一接入,二者互补而非替代。
追问 2:如何为一个数据库写 MCP Server?
1. 划边界:优先只读 Tools(list_tables、describe_table、run_select),写操作需白名单或人工审批。
2. 实现:用官方 TypeScript/Python SDK 注册工具;连接串走环境变量;禁止拼接用户原始 SQL,用参数化查询。
3. 返回:结果 JSON/表格化,限制行数与字段,避免巨型结果塞进上下文。
4. 安全:只读副本、超时、连接池、审计日志、最小权限。
5. 验证:stdio 本地调试后,用 Claude Desktop/Cursor 测 schema 发现与调用闭环。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。
📚 知识库
📰 AI 资讯
🛠️ AI 工具
- LangChain
最流行的 LLM 应用开发框架,137K+ stars。提供链式编排、RAG 检索增强生成、Agent 构建等核心能力,覆盖 Python 和 JavaScript 双语言生态,是构建 LLM 应用的基础设施
- MCP Playwright
Playwright 浏览器自动化的 MCP 实现,将成熟的 Playwright 测试框架能力通过标准 MCP 协议暴露给 AI Agent。支持网页抓取、表单自动化、E2E 测试场景、SPA 应用交互等完整浏览器自动化能力。5,400+ GitHub Star,相比原生浏览器 MCP 方案,Playwright 的跨浏览器支持(Chromium/Firefox/WebKit)和成熟 API 使其在复杂场景下更可靠
- AutoGen / AG2
微软开源对话式多 Agent 框架,54,000+ GitHub stars(最高),强项是代码沙箱和迭代调试,多个 Agent 通过对话协作完成复杂编程任务,MIT 协议
- crewAI
角色扮演 AI Agent 编排框架,49,411+ stars。通过角色分配让多个 Agent 协作完成复杂任务,支持工具调用、任务委派、结果审核。是构建 Multi-Agent 系统的最流行框架。