【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 去执行某个工具,并将结果返回
相关推荐
本旺7 小时前
[AIAgent-MCP]MCP Client 全景:Elicitation、Roots 与 Sampling 一次讲透
人工智能·ai·aiagent·mcp
海兰7 小时前
使用 TypeScript 创建 Elasticsearch MCP 服务器
服务器·elasticsearch·typescript·mcp
tzy2331 天前
Skill 为什么“淘汰”了 MCP?
ai·agent·function call·skill·mcp
OpenTiny社区1 天前
WebAgent :基于 MCP 协议打造的智能应用“超级路由器”
前端·agent·mcp
最初的↘那颗心1 天前
企业级 AI Agent 工程方法论:安全防线、协作网格与质量飞轮(下)
ai agent·安全防御·agentops·mcp·a2a
最初的↘那颗心1 天前
企业级 AI Agent 工程方法论:从原型到生产的完整指南(上)
大模型·rag·ai agent·mcp·企业级ai
镜花水月linyi2 天前
一口气讲清楚 Agent、RAG、Skill、MCP 到底是什么?
人工智能·agent·mcp
-许平安-2 天前
MCP项目笔记七(插件 calculator)
c++·笔记·json·plugin·mcp