MCP(模型上下文协议)入门知识
00 分钟
2024-4-6
2025-4-6
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的能力,使其能够完成更多实际应用场景中的任务。
上一篇
搞定开发全流程:一个更轻松的SOP指南
下一篇
AI赋能原型设计,十倍速创建原型图