MCP轻松入门
欢迎来到啾啾的博客🐱。
记录学习点滴。分享工作思考和实用技巧,偶尔也分享一些杂谈💬。
有很多很多不足的地方,欢迎评论交流,感谢您的阅读和评论😄。
目录
- 引言
- 1 MCP到底是什么?
- 2 MCP是如何工作的?
-
- 2.1 MCP核心架构
- 2.2 工作流程示例
- 3 MCP应用
- 4 MCP面试题
引言
本篇将对MCP做基本的介绍。
资料:
MCP官网
1 MCP到底是什么?
当前的LLM应用,每个应用或Agent都需要和外部世界交互,比如读取你的文件、访问数据库、调用API、使用某个工具。
这种与外界的交互,我们需要为每一个交互示例设置对应的连接器(Connectors),如果交互要进行调整,往往需要重写连接器。
因此,会有NxM集成管理繁琐的问题。有N个AI应用和M个数据/工具源,就需要维护高达 N x M 个连接。
所以,我们需要创造一个通用的、开放的、标准化的协议,让任何AI模型都能用同一种“语言”和任何外部数据或工具对话。
MCP就是这个协议。
MCP 是一个开放协议,它规范了应用程序向 LLMs 提供上下文的方式。
简单来说主要做了两件事情:
- 中间层,对需要调用的工具\数据的统一管理,包括调用控制、安全性控制等
- 提供标准、通用的第三方协议以适配不同环境
起到了解耦的作用。且中间层灵活,可以对系列Server统一修改,提升了扩展性。
| 问题 | 没有MCP的痛点 | MCP的解决方案 |
|---|---|---|
| 集成复杂性 | N x M 的点对点集成,代码重复、难以维护。 | N + M 的中心化模式,抽象和标准化,一次构建,处处使用。 |
| 安全风险 | AI直接接触敏感系统,存在注入、越权、幻觉风险。 | 扮演安全网关,隔离凭证,提供权限最小化的受控接口。 |
| 厂商锁定 | 工具生态与特定AI模型(如OpenAI)紧密耦合,难以迁移。 | 提供中立的中间层,解耦工具和模型,实现生态自由。 |
2 MCP是如何工作的?
2.1 MCP核心架构
MCP采用的是一个经典的客户端-服务器(Client-Server)架构。
核心组件为:
-
MCP Host
AI应用本身。内部运行着AI模型和MCP Client。
它负责理解用户意图,并决定何时、向哪个MCP Server发起请求。 -
MCP Client
AI应用内部遵循MCP协议的“发信员”,一个保持与 MCP 服务器连接的组件。
当AI模型决定需要从外部获取信息时,AI应用会通过MCP Client,向指定的MCP Server发送一个标准格式的请求。 -
MCP Server
MCP 服务器。
接收遵循MCP协议的标准化请求,然后将这些请求“翻译”成对底层工具(如SQL查询、API调用)的具体操作,最后再把执行结果按MCP协议的格式返回。
![![[MCP-1.png]]](https://i-blog.csdnimg.cn/direct/2a6fdd0196fa4788bf239e0cad84139d.png)
2.2 工作流程示例
MCP的核心价值是解耦与标准化,AI与工具的交互经由MCP进行。
![![[MCP-4.png]]](https://i-blog.csdnimg.cn/direct/fdcedd41d57f4200b9b38df816af5899.png)
3 MCP应用
在实际生产中应用MCP时,需要思考以下几点:
-
Server的设计与实现:
- 使用官方SDKs: MCP提供了多语言的官方SDK,这能让你专注于业务逻辑(如何查询数据库、调用API),而不是协议本身的细节。
- 定义清晰的能力(Capabilities): 你的Server应该暴露一组清晰、原子化的操作。不要试图创建一个能做所有事情的“万能”Server。
- 版本管理: 如果你更新了Server的功能(比如给Jira Server增加了‘更新ticket’的功能),你需要做好版本管理,以防破坏依赖旧版本的AI应用。
-
安全、认证与授权:
- 这是最重要的部分。谁有权调用你的MCP Server?
- 你需要为Server实现认证机制(比如OAuth, API Keys),确保只有经过授权的MCP Client可以连接。
- 在Server内部,你需要实现授权逻辑。例如,一个普通员工用户通过AI机器人调用EmployeeDB Server,应该只能查询自己的信息,而HR经理则可以查询团队信息。
-
Server的发现与注册(Discovery & Registry):
- 当你有几十上百个MCP Server后,AI应用如何知道有哪些Server可用,以及它们分别提供什么功能?
- 在企业内部,通常需要建立一个“MCP Server注册中心”,所有Server在启动时向其注册自己的地址和能力描述。AI应用可以先查询注册中心,来动态发现可用的工具。
-
性能与监控:
- MCP Server本身也需要像其他微服务一样被监控。你需要关注其延迟、错误率和负载。
- 对于频繁被查询的数据,可以在Server内部实现缓存策略,以提高响应速度。
4 MCP面试题
问题1:“请解释一下什么是MCP,以及它解决了什么核心问题?”
MCP,全称Model-Context-Protocol,模型上下文协议。
通过提供一个标准的第三方协议,构建中间层,解耦AI应用与工具服务的N x M集成问题。
问题2:“假设我们要构建一个内部IT支持机器人,它需要能访问用户的个人电脑信息(操作系统、内存占用)和公司的Jira系统来创建故障单。你会如何使用MCP来设计这个系统?”
定义MCP Server两个,一个访问本地电脑信息、一个访问Jira系统创建故障单。
为每个AI应用定义一个MCP Client,其可以调用任意多个不同的MCP Server。
MCP Client首先调用本地信息访问的MCP Server,然后调用Jira创建故障单的MCP Server。
更多推荐

所有评论(0)