【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 去执行某个工具,并将结果返回
相关推荐
ServBay2 天前
Laravel Herd MCP 的替代,多语言与跨平台的 AI 本地开发选择
后端·ai编程·mcp
码哥字节2 天前
我把整个代码库喂给 Claude Code,工具超 50 个就静默丢失,这个坑太阴了
mcp·claude code·ai编程工具
ServBay6 天前
打通 AI 编程本地运维边界,利用 MCP 协议简化环境与服务管理
后端·ai编程·mcp
Solis程序员7 天前
MCP (Model Context Protocol):AI应用连接外部世界的标准协议
人工智能·microsoft·agent·skill·mcp
-星空下无敌7 天前
Skills详解(2万字详细教程),Skills是什么,如何安装并使用Skills
人工智能·ai·提示词·codex·mcp·skills·agent skills
老H科研技术8 天前
第 07 篇:OAuth 2.1 与授权架构 —— AS/RS 分离的正确姿势
人工智能·mcp
海天一色y8 天前
深入理解 Function Calling、MCP 与 Skills:AI Agent 的三层能力架构
人工智能·mcp·skills
未秃头的程序猿8 天前
别再重复适配了!用MCP给AI配个"万能工具箱",Java项目接入新能力再也不改代码
后端·ai编程·mcp
宋哥转AI8 天前
Spring AI Alibaba实战:通过MCP协议串联Graph编排与RAG检索
agent·mcp