注明:本系列文章公开免费,若出现自动转(吃)VIP(相)文(难)章(看),请联系。

参考

MCP协议说明: https://modelcontextprotocol.io/docs/getting-started/intro

前言

本文只针对核心内容进行摘取,聚焦重点内容、帮助读者从繁杂的文档中抽离出来。

概述

本小结给出官方描述供学习参考;在阐述给出更直观的理解引导。

什么是MCP

MCP (Model Context Protocol) is an open-source standard for connecting AI applications to external systems.

Using MCP, AI applications like Claude or ChatGPT can connect to data sources (e.g. local files, databases), tools (e.g. search engines, calculators) and workflows (e.g. specialized prompts)—enabling them to access key information and perform tasks.

Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standardized way to connect electronic devices, MCP provides a standardized way to connect AI applications to external systems.

MCP结构
一句话:MCP是一个拓展AI应用能力的协议。最终实现AI应用与用户交互和资源访问操作(数据、硬件设备)。

基本概念

架构

MCP是C/S架构。
MCP Host: AI应用。管理多个MCP client。
MCP Client: 与MCP server进行一对一连接的实例。Mcp client从MCP server获取内容信息(上下文)给MCP host 使用。
MCP Server: 是一个给MCP clients提供内容信息(上下文)的服务。
MCP架构

层级(重点)

关注: 关于MCP的层级中Tools,Resources,Prompts的内容需要重点关注,个人认为它是整个协议实现核心,理解它开发和应用的基础理论就明确了。在下一篇详细介绍这三个基本元。

MCP由两个层组成:

  • Data layer(数据层): 基于JSON-RPC基础协议实现C/S通讯, 包括生命周期管理,基础元素。基础元素包括tools, resources, prompts等.
  • Transport layer(传输层): 定义了通讯机制、以及C/S间数据更新的通道。包括通讯建立, 消息帧, 及授权.

从概念上讲,数据层是内部层,而传输层则是外部层。

Data layer(数据层)

遵循JSON-RPC 2.0协议基础, 定义了消息结构及其语义。

  • 生命周期管理: 处理C/S两端的通讯的连接,协商。
  • 服务端功能: 提供核心功能,包括 AI操作的tools, 上下文资源的resources, 从MCP Client处获取信息并生成交互的模板信息prompts。
  • 客户端功能: servers要求client从host LLM采样;向用户获取输入,并将消息记录到客户端中。
  • 实用功能:支持额外功能。诸如实时更新通知以及长运行操作进度跟踪等。
Transport layer(传输层)

传输层管理C/S间的通讯通道和授权 。 处理连接建立, 消息帧, 以及确保通信安全。

  • Stdio transport: 利用标准的输入\输出与本地进程进行通讯, 实现最佳性能且不产生网络开销。
  • Streamable HTTP transport: 使用 HTTP POST 方式进行C/S的消息传输,可用服务器推送事件以实现流式传输功能。因此能够实现远程服务器之间的通信,支持常见的 HTTP 认证方法,如凭证令牌、API 密钥和自定义标头。MCP 建议使用 OAuth 来获取认证令牌。

在下一篇,将详细介绍MCP中JSON-RPC规定和键值含义

基本元素

  • Tools: AI程序能够调用的可执行功能,用于执行操作 (e.g., file operations, API calls, database queries)
  • Resources: 为AI应用提供信息的数据来源 (e.g., file contents, database records, API responses)
  • Prompts: 可重复使用的模板,有助于规范与语言模型的交互流程(e.g., system prompts, few-shot examples)

总结

  1. MCP(模型上下文协议)是一种开源标准,用于将人工智能应用程序与外部系统进行连接。
  2. AI应用通过MCP协议可连接资源(resources),工具(tools),工作流(prompts)进行交互;获取对应的信息来做处理。
  3. MCP通过tools,resources,prompts基元给AI应用提供调用方法,数据,复用模版。
  4. MCP实现模型、数据、设备服务接口统一,整体实现一个AI应用。
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐