type
status
date
summary
slug
tags
category
Created time
Apr 6, 2025 07:04 AM
icon
password
MCP(模型上下文协议)入门知识
什么是MCP (What)
模型上下文协议(Model Context Protocol,简称 MCP)是一种开放标准协议,由Anthropic开发,旨在标准化大型语言模型(LLM)与外部数据源、工具和服务之间的交互方式。它创建了AI模型与外部世界之间的无缝连接,使AI能够更好地理解和处理上下文信息。
MCP的核心功能包括:
**工具(Tools)**:允许LLM调用外部函数或服务,如获取天气预报、查询数据库等,需经用户授权。
**资源(Resources)**:使LLM能访问外部数据源,如文档、配置文件等,以获取实时或特定领域的信息。
**提示(Prompts)**:提供预设模板,帮助用户完成特定任务,优化LLM的输出,如特定格式的写作模板。
为什么需要MCP (Why)
AI模型尤其是大型语言模型,在没有适当的上下文管理时可能会:
- 误解模糊的查询
- 提供不一致的答案
- 在长对话中丢失跟踪
误解模糊的查询
提供不一致的答案
在长对话中丢失跟踪
MCP解决了以下问题:
- **减少上下文切换**:允许AI在不离开当前环境的情况下执行各种任务
- **标准化交互**:建立AI模型和外部工具之间通信的共同语言
- **提高响应准确性**:通过访问实时和相关数据
- **增强连贯性**:使对话更自然流畅
- **减少重复**:用户不必在每条消息中重复解释细节
- **提高效率**:减少需要澄清的后续问题
**减少上下文切换**:允许AI在不离开当前环境的情况下执行各种任务
**标准化交互**:建立AI模型和外部工具之间通信的共同语言
**提高响应准确性**:通过访问实时和相关数据
**增强连贯性**:使对话更自然流畅
**减少重复**:用户不必在每条消息中重复解释细节
**提高效率**:减少需要澄清的后续问题
何时使用MCP (When)
MCP在以下情况特别有用:
- 需要AI访问最新或专业信息时
- 执行需要外部工具或服务的复杂任务时
- 管理长期对话或多步骤交互时
- 需要连接到专业知识库或数据源时
- 开发需要与外部系统交互的AI应用时
需要AI访问最新或专业信息时
执行需要外部工具或服务的复杂任务时
管理长期对话或多步骤交互时
需要连接到专业知识库或数据源时
开发需要与外部系统交互的AI应用时
在哪里使用MCP (Where)
MCP可应用于各种场景:
- **增强型问答系统**:通过集成外部数据源,提供实时、准确的答案
- **智能助手**:通过集成工具和服务,执行复杂任务,如预订、计算、搜索等
- **知识管理**:通过集成文档库和数据库,提供专业领域的知识支持
- **多轮对话**:通过上下文管理,实现连贯的多轮对话
- **代码编辑器**:如Cursor等可通过MCP扩展功能
**增强型问答系统**:通过集成外部数据源,提供实时、准确的答案
**智能助手**:通过集成工具和服务,执行复杂任务,如预订、计算、搜索等
**知识管理**:通过集成文档库和数据库,提供专业领域的知识支持
**多轮对话**:通过上下文管理,实现连贯的多轮对话
**代码编辑器**:如Cursor等可通过MCP扩展功能
谁在使用MCP (Who)
越来越多的公司和工具正在采用MCP:
- **开发工具提供商**:Zed、Replit、Codeium、Sourcegraph等
- **大型公司**:Block、Apollo等
- **AI平台**:Cursor、Claude等
**开发工具提供商**:Zed、Replit、Codeium、Sourcegraph等
**大型公司**:Block、Apollo等
**AI平台**:Cursor、Claude等
如何实现和使用MCP (How)
MCP的架构由以下组件组成:
- **主机(Host)**:LLM应用程序(如Claude Desktop),负责创建和管理客户端实例,控制客户端的连接权限和生命周期
- **客户端(Client)**:由主机创建,与特定服务器建立1:1的连接,处理协议协商和功能交换
- **服务器(Server)**:提供专门的上下文和功能,通过MCP原语公开资源、工具和提示,可以是本地进程或远程服务
**主机(Host)**:LLM应用程序(如Claude Desktop),负责创建和管理客户端实例,控制客户端的连接权限和生命周期
**客户端(Client)**:由主机创建,与特定服务器建立1:1的连接,处理协议协商和功能交换
**服务器(Server)**:提供专门的上下文和功能,通过MCP原语公开资源、工具和提示,可以是本地进程或远程服务
使用步骤
**查找MCP**:访问如Smithery、MCP-Get、Galama、MCP.so等平台找到合适的MCP
**配置客户端**:选择兼容工具如Cursor或Claude
**设置认证**:如需要,生成适当权限的访问令牌
**安装MCP**:在兼容工具中配置和启用MCP
**激活和使用**:命名你的MCP并开始使用
可用工具和资源
- **多种SDK**:提供TypeScript、Python和Kotlin的开发工具包
- **Docker容器化**:简化部署并确保跨环境一致性
- **官方集成**:Cloudflare、JetBrains、Stripe等
- **社区服务器**:Airtable、Discord、Google Calendar、Notion、Spotify等
**多种SDK**:提供TypeScript、Python和Kotlin的开发工具包
**Docker容器化**:简化部署并确保跨环境一致性
**官方集成**:Cloudflare、JetBrains、Stripe等
**社区服务器**:Airtable、Discord、Google Calendar、Notion、Spotify等
设计原则
**用户控制**:用户能够控制哪些上下文被发送到LLM,何时执行操作,以及隐私和安全设置
**灵活性**:协议支持多种集成模式,适应不同的使用场景,允许自定义实现,支持未来的扩展
**安全性**:通过验证所有输入、保护敏感数据、实现访问控制等措施,确保系统的安全性
**可扩展性**:协议设计为可扩展的,支持新的功能,允许版本控制,维护向后兼容性
通过MCP,开发者可以创建各种工具来增强LLM的能力,使其能够完成更多实际应用场景中的任务。
- 作者:NotionNext
- 链接:https://blog.wenhaofree.com/article/mcp-introduction
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。