核心要点
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 里通常有三层:Host 是 Cursor、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 友好的工具接口,二者经常是上下层关系。
追问
追问 1:MCP 和 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 发现与调用闭环。
🔗 相似问题
同一考点的不同问法,换着练更稳
没找到想看的面试题?把你想看的告诉我们 →
延伸学习
按主题分类的相关资源,便于系统复习
知识库文章
- MCP (Model Context Protocol) 全面指南:从协议原理到生产级 Agent 集成
- AI Agent 入门:从概念到实现
- AI Agent 工具调用工程:从 Function Calling 到自主工具编排的完整技术栈
