【MCP】第一章 初识 MCP

【MCP】第一章 初识 MCP

文章目录

  • [【MCP】第一章 初识 MCP](#【MCP】第一章 初识 MCP)
  • [一、什么是 MCP](#一、什么是 MCP)
  • [二、MCP 能干什么](#二、MCP 能干什么)
  • [三、MCP 原理](#三、MCP 原理)
    • [1.MCP 的通信机制](#1.MCP 的通信机制)
    • 2.stdio
    • 3.SSE
    • [4.MCP 的 C/S 架构](#4.MCP 的 C/S 架构)
    • [5.MCP Host](#5.MCP Host)
    • [6.MCP Client](#6.MCP Client)
    • [7.MCP Server](#7.MCP Server)
    • [8.MCP 的工作流程](#8.MCP 的工作流程)

一、什么是 MCP

官方文档

MCP(Model Context Protocol,模型上下文协议),2024 年 11 月 底,由 Anthropic 推出的一种开放标准。旨在为大模型语言(LLM)提供统一的标准化方式与外部数据源和工具之间进行通信。

MCP(模型上下文协议,Model Context Protocol)是一种开源标准,用于将 AI 应用与外部系统连接起来。

通过 MCP,像 Claude 或 ChatGPT 这样的 AI 应用可以连接到数据源(例如本地文件、数据库)、工具(例如搜索引擎、计算器)以及工作流程(例如专用提示)------从而使它们能够获取关键信息并执行任务。

可以把 MCP 想象成 AI 应用的 USB-C 接口。就像 USB-C 为电子设备提供了一种标准化的连接方式一样,MCP 为 AI 应用连接外部系统提供了一种标准化的方法。

传统 AI 集成过于复杂,每个数据源构建独立连接的方式,是一个 M * N 问题。架构碎片化,难以扩展,限制了 AI 获取必要上下文信息的能力。MCP 提供统一且可靠的方式来访问所需数据,克服了以往集成方法的局限性。

MCP 作为一种标准化协议,极大地简化了大语言模型与外部世界的交互方式,使开发者能够以统一的方式为 AI 应用添加各种能力。

MCP 官方资源:https://github.com/modelcontextprotocol/servers

MCP热门资源:https://github.com/appcypher/awesome-mcp-servers

Glama:https://glama.ai/mcp/servers

Smithery:https://smithery.ai

Cursor:https://cursor.directory/

阿里云百炼:https://bailian.console.aliyun.com/?tab=mcp#/mcp-market

二、MCP 能干什么

1.举例

  • 开发部署
    通过自然语言指令 "部署新版本到测试环境",触发 MCP 链式调用 GitLab API、Jenkins API、Slack API
  • SQL 查询
    通过自然语言输入,比如 "查询某集团部门上个季度销售额",就能查询数据库的数据,并结合大模型进行回答,不再需要编写 SQL,MCP 自动转换为精准 SQL 语句并执行。

三、MCP 原理

1.MCP 的通信机制

根据 MCP 的规范,当前支持两种通信机制(传输方式):

  • stdio(标准输入输出,MCP 默认通信方式):主要用在本地服务商,操作你本地的软件或者本地的文件。比如 Blender 这种就只能用 stdio,因为他没有在线服务。
  • SSE(Server-Sent Events):主要用在远程通信服务上,这个服务本身就有在线的 API,比如访问你的谷歌邮件,天气情况等。

2.stdio

优点

  • 这种方式适用于客户端和服务器在同一台机器上运行的场景,简单
  • stdio 模式无需外部网络依赖,通信速度快,适合快速响应的本地应用
  • 可靠性高,且易于调试

缺点

  • stdio 的配置比较复杂,我们需要做一些准备工作,需要提前安装对应的命令行工具
  • stdio 模式为单进程通信,无法并行处理多个客户端请求,同时由于进程资源开销较大,不适合在本地运行大量服务。

3.SSE

场景

  • SSE 方式适用于客户端和服务器位于不同物理位置的场景
  • 适用于实时数据更新、消息推送、轻量级监控和实时日志流等场景
  • 对于分布式或远程部署的场景,基于 HTTP 和 SSE 的传输方式更为合适

优点

  • 客户端配置方式非常简单,只需要配置一个链接就行

4.MCP 的 C/S 架构

MCP 遵循客户端-服务器架构(client-server),其中包含以下几个核心概念:

  • MCP 主机(MCP Hosts)
  • MCP 客户端(MCP Clients)
  • MCP 服务器(MCP Servers)
  • 本地资源(Local Resources)
  • 远程资源(Remote Resources)

5.MCP Host

作为运行 MCP 的主应用程序,例如 Claude Desktop、Cursor、Cline 或 AI 工具。为用户提供与 LLM 交互的接口,同时集成 MCP Client 以连接 MCP Server。

6.MCP Client

充当 LLM 和 MCP Server 之间的桥梁,嵌入在主机程序中,主要负责:

  • 接收来自 LLM 的请求
  • 将请求转发到相应的 MCP Server
  • 将 MCP Server 的结果返回给 LLM

7.MCP Server

每个 MCP 服务器都提供了一组特定的工具,负责从本地数据或远程服务中检索信息,是 MCP 架构中的关键组件

与传统的远程 API 服务器不同,MCP 服务器既可以作为本地应用程序在用户设备上运行(Stdio),也可部署至远程服务器(SSE)。MCP Server 让 LLM 不仅能说,还能做。

MCP Server 的本质是运行在电脑上的一个 nodejs 或者 python 程序等。可以理解为客户端用命令行调用了电脑上的 nodejs 或者 python 程序等。

8.MCP 的工作流程

API 主要有两个:

  • tools/list:列出 Server 支持的所有工具
  • tools/call:Client 请求 Server 去执行某个工具,并将结果返回
相关推荐
呆呆敲代码的小Y1 天前
从LLM到Agent Skill:AI核心技术全拆解与系统化学习路线
人工智能·ai·llm·agent·优化·skill·mcp
蓝色的杯子2 天前
MCP 入门到实战指南
人工智能·python·mcp
花千树-0102 天前
第一个简单 Agent 实战:天气查询 + 计算器工具 Agent
langchain·agent·function call·ai agent·mcp·harness
小兵张健2 天前
从 Playwright MCP 到 Playwright CLI
程序员·openai·mcp
花千树-0102 天前
MCP 协议通信详解:从握手到工具调用的完整流程
ai·langchain·aigc·agent·ai agent·mcp
better_liang2 天前
每日Java面试场景题知识点之-MCP协议在Java开发中的应用实践
java·spring boot·ai·mcp·企业级开发
想你依然心痛3 天前
【腾讯位置服务开发者征文大赛】时空数据智能洞察:基于MCP协议与腾讯位置服务的商业选址AI决策系统实战
人工智能·tag·腾讯地图·mcp·腾讯位置服务
@Demi3 天前
Cursor 配置 MasterGo MCP 还原UI设计稿
ui·cursor·mastergo·mcp
Luca_kill3 天前
MCP数据采集革命:从传统爬虫到智能代理的技术进化
爬虫·python·ai·数据采集·mcp·webscraping·集蜂云
你_好3 天前
Chrome 内置了 AI 工具协议?WebMCP 抢先体验 + 开源 DevTools 全解析
前端·mcp