核心要点

  • MCP 是工具接入协议,不是 Agent 框架:它标准化 LLM 应用如何发现、连接和调用外部工具/数据源。

  • Host / Client / Server 是核心架构:Host 是 IDE 或 Agent 应用,Server 是工具提供方,中间通过 Client 建立连接。

  • 它和 Function Calling 是上下游关系:Function Calling 负责模型输出调用意图,MCP 负责工具侧发现、描述与执行。

  • 生态价值是工具复用和厂商解耦:工具写一次 MCP Server,就能被多个 AI 应用接入。

简要回答

MCP 定义 LLM 应用如何发现、调用外部工具和数据源的标准接口,让工具一次开发、多客户端复用,降低 Agent 集成碎片化。

标准回答

一、先给一句候选人能说出口的定义

MCP 可以理解成 AI 应用连接工具和数据源的标准协议。过去每个 Agent 框架都要自己接数据库、浏览器、文件系统、内部 API,集成方式碎片化;MCP 把这些能力包装成统一的 Server,让不同 Host 都能按同一套方式发现和调用。

二、把架构拆清楚

MCP 里通常有三层:HostCursor、Claude Desktop 或企业 Agent 平台;Client 负责和某个 MCP Server 建连接;Server 暴露 Tools、Resources、Prompts。Tools 是可执行操作,比如查数据库;Resources 是可读上下文,比如文件或知识库;Prompts 是可复用模板。底层常用 JSON-RPC,传输可以是 stdio、SSE 或 Streamable HTTP。

三、讲清它和 Function Calling 的边界

Function Calling 解决“模型如何表达我要调用哪个工具、传什么参数”;MCP 解决“工具如何被发现、描述、连接和执行”。两者经常配合:Host 从 MCP Server 读取工具 schema,转成模型 API 的 tools;模型返回 tool call 后,Host 再调用 MCP Server 执行。回答时最好补一句:MCP 的价值不是让模型变聪明,而是让工具生态更可复用、更解耦。

常见误区

⚠️ 常见踩坑

误区一:把 MCP 说成模型能力。MCP 不负责模型推理,也不是让模型自动会用工具;它只是工具接入层协议。

误区二:把 MCP 和 OpenAPI 对立起来。OpenAPI 常描述 REST API,MCP 可以把 REST、数据库、文件系统再包装成 Agent 友好的工具接口,二者经常是上下层关系。

追问

追问 1MCP 和 OpenAPI 有什么区别?

题库专题:什么是 A2A 协议?它与 MCP 协议是什么关系与区别?

定位: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 发现与调用闭环。

🔗 相似问题

同一考点的不同问法,换着练更稳

没找到想看的面试题?把你想看的告诉我们 →

延伸学习

按主题分类的相关资源,便于系统复习