MCP 了解一下

vibe coding 是越来越火了,而现在 AI 编辑器也卷出了天际,Trae、Cursor、Claude 等等,层出不穷。而伴随着五花八门的工具诞生,那么总得有一个适配协议吧,就像 USB-C 一样统一一下。那么,MCP(Model Context Protocol)就此诞生了。

以下内容均来自 modelcontextprotocol.io/introductio...

MCP 是什么

MCP is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standardized way to connect your devices to various peripherals and accessories, MCP provides a standardized way to connect AI models to different data sources and tools.

MCP 是一种开放式协议,它规范了应用程序向 LLM 提供上下文的方式。把 MCP 想象成人工智能应用的 USB-C 端口。就像 USB-C 提供了将设备连接到各种外设和配件的标准化方式一样,MCP 也提供了将人工智能模型连接到不同数据源和工具的标准化方式。

以上内容来自:modelcontextprotocol.io/introductio... 里面涵盖了 MCP 的各种接口介绍。

MCP 作用

MCP 可帮助您在 LLM 的基础上构建代理和复杂的工作流程。LLM 经常需要与数据和工具集成,而 MCP 可提供以下功能:

  • 对于增长的预构建集成,LLM 可以直接接入。
  • 在 LLM 提供者 以及 供应者之间的灵活切换。
  • 在基础设施内保护数据安全的最佳实践。

MCP 组成

组成

  1. MCP Hosts:想要通过 mcp 获取数据的程序,如 Claude Desktop、IDEs、AI tools。
  2. MCP Servers:向 Client 提供 context、tools、prompts等。
  3. MCP Clients: 存在 hosts 中,与 Servers 1:1 连接。
  4. MCP Data Source: Servers 可以安全访问的电脑文件、数据库或者服务等。
  5. MCP Services:MCP 服务器可通过互联网(如 API)连接的外部系统。

核心组件

协议层

协议层处理消息框架,请求/响应链接和高级通信模式

主要包含的几个类:

  • Protocol
  • Client
  • Server

传输层

运输层处理客户与服务器之间的实际通信。 MCP支持多种传输机制:

  1. Stdio 传输
    • 使用标准输入/输出进行通信
    • 对于本地流程较为理想
  2. HTTP 、SSE 传输
    • 使用服务器发送事件处理服务器到客户端的信息
    • HTTP POST 用于客户端向服务器发送信息 所有的传输方式都是通过 JSON-RPC 2.0 进行消息传输。

消息类型

  • Request
ts 复制代码
interface Request {
    method: string;
    params?: {...}
}
  • Result
ts 复制代码
interface Result {
    [key:string]: unknown
}
  • Errors
ts 复制代码
interface Error {
    code: number;
    message: string;
    data?: unknown
}
  • Notification

单向消息

ts 复制代码
interface Notification {
    method: string;
    params?: { ... };
    
}

实现

相关推荐
wordbaby3 分钟前
Vue 图片重试指令 (v-img-retry) 增强:集成 visibility 控制,实现无缝加载过渡
前端·vue.js·http
亦止辰6 分钟前
AceEditor使用
前端
前端涂涂7 分钟前
nodejs中文件的重命名,移动,删除;文件夹的创建,递归创建,删除,读取;查看资源状态,批量重命名的用法,创建文件时的相对路径和绝对路径的区别和参照
前端
前端程序猿i9 分钟前
Vue组件库开发实战:从0到1构建可复用的微前端模块
前端·javascript·vue.js
幼儿园技术家16 分钟前
微信小程序/H5 调起确认收款界面
前端
微笑边缘的金元宝21 分钟前
Echarts柱状图斜线环纹(图形的贴花图案)
前端·javascript·echarts
wuxiguala26 分钟前
【web考试系统的设计】
前端
独立开阀者_FwtCoder2 小时前
CSS view():JavaScript 滚动动画的终结
前端·javascript·vue.js
咖啡教室2 小时前
用markdown语法制作一个好看的网址导航页面(markdown-web-nav)
前端·javascript·markdown
独立开阀者_FwtCoder2 小时前
Vue 团队“王炸”新作!又一打包工具发布!
前端·javascript·vue.js