核心要点

  • 能讲清 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 就安全——写操作必须配白名单与人工审批,否则模型可直接触发高危操作。

追问

追问 1MCP 和 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 工具

  • 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 系统的最流行框架。