🎯 MCP 是什么?
Model Context Protocol(MCP) 是开放协议,规定 Host(如 IDE、桌面聊天应用)如何通过标准方式连接 MCP Server,把资源(文件、数据库表)和工具(调用 API、执行命令)暴露给模型使用。
培训中可以把它理解为:在 Function Calling 之上,为「整个应用如何接外部世界」提供的统一插座标准——Server 写一次,多个 Host 可复用。
📚 核心概念
Host
承载对话的应用,如 Cursor、Claude Desktop。内置 MCP Client,负责把用户意图交给模型并执行工具调用。
MCP Client
Host 内的连接器,按协议与 Server 通信(常通过 stdio 或 HTTP)。
MCP Server
独立进程/服务,声明自己能提供哪些 Resources 与 Tools,例如 Postgres、Git、Slack。
Resources
只读或可读的上下文,如文件内容、数据库 schema,供模型「看见」。
Tools
可执行动作,如查询、创建工单、发消息;Host 在模型请求后代为调用并回传结果。
Prompts(可选)
Server 预置的提示模板,Host 可一键插入对话。
🆚 MCP vs Function Calling vs 传统插件
| 维度 | Function Calling | MCP | 传统单体插件 |
| 层级 | 单次 API 请求内的 JSON 工具声明 | 应用 ↔ 外部系统的进程级协议 | 每个 Host 各自集成 SDK |
| 复用 | 每套后端都要写一遍工具执行逻辑 | 同一 Server 可被多 Host 使用 | 难以跨产品复用 |
| 典型场景 | 自研后端 + OpenAI 兼容 API | IDE、桌面 Agent、企业内网工具链 | 早期 ChatGPT 插件商店模式 |
| 安全边界 | 由你的服务端控制 | Server 进程权限 + Host 审批 | 依赖各插件沙箱实现 |
💡 一句话:Function Calling 解决「模型这次回复要调什么函数」;MCP 解决「整个产品如何标准化接上 Postgres / Git / 内部 API」。
🏗️ 架构与数据流
Host + MCP Client发现已连接 Order-DB Server,将可用 Tools 列表交给模型
大模型决定调用 query_orders,输出结构化参数
MCP Server在权限范围内执行 SQL,返回表格 JSON
数据源Postgres / 内部 API / 文件系统
用户 → Host(Cursor) → MCP Client ⇄ MCP Server(Postgres/Git/…) → 结构化结果 → 模型组织自然语言 → 用户
🖥️ 常见 Host(2025–2026)
| Host | 典型用途 | 说明 |
| Cursor | 研发写代码、读仓库 | 在设置中配置 mcp.json,可接 filesystem、GitHub 等 Server |
| Claude Desktop | 知识工作者本地助手 | 官方支持 MCP 配置,适合文档与本地文件 |
| Claude Code / 其他 IDE 插件 | 终端与 IDE 内 Agent | 生态持续增加,以各产品文档为准 |
| 自研企业 Portal | 内网问答 + 办单 | 可嵌入 MCP Client SDK,与 Agent 编排 组合 |
🧩 常见 MCP Server 类型
filesystem
读写工作区文件(需严格路径白名单)。
postgres / sqlite
只读或受限 SQL,适合数据分析 Copilot。
github / git
查 PR、Issue、diff,研发场景常见。
slack / 企业 IM
发消息、查频道(需 OAuth 与审计)。
brave-search 等
联网检索,注意合规与密钥管理。
自研 Server
用官方 SDK 包装内部 CRM/工单 API,最小暴露。
⚙️ 配置示例(Cursor)
在项目或用户目录配置 mcp.json(路径以 Cursor 文档为准),示例:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/dir"]
}
}
}
培训演示建议:先用只读目录或沙箱数据库,避免模型误删文件。与 API 集成 课衔接时,对比「自研后端 FC」与「MCP 外挂 Server」两种集成路径。
🛡️ 安全与治理
- 最小权限:Server 只暴露必要表/目录/接口;写操作需二次确认或人工审批
- 网络隔离:生产库 MCP 走内网;禁止把生产密钥放在客户端配置文件
- 审计:记录 tool 名称、参数摘要、调用结果、操作者(对接 生产观测)
- 提示注入:恶意文档可能诱导模型调用危险工具——结合 内容安全 与输出复核
- 与 Agent 编排:多步任务中限制工具调用次数与超时,见 Agent 框架
🎓 培训要点(90 分钟建议)
业务/产品(30min)
理解 MCP 解决「接系统」的标准化;与 RAG 分工:RAG 负责「知识」,MCP 负责「动作」。
开发(45min)
对比 FC 实现路径;在 Cursor 接 1 个只读 Server;讨论自研 Server 的 API 包装。
运维/安全(15min)
权限、审计、密钥、内网部署 checklist。
课后练习
列举本部门 3 个可 MCP 化的系统;画一张 Host–Server 数据流草图。
🔗 同章延伸阅读(应用篇)
技能篇(API / RAG / 提示词)请通过顶部「技能」篇章切换,不在本页展开。