Model Context Protocol (MCP)
了解模型上下文协议 (MCP) 如何标准化 AI 与数据和工具之间的连接。探索如何将 Ultralytics YOLO26 与 MCP 集成,以实现更智能的工作流。
模型上下文协议 (MCP) 是一项开放标准,旨在标准化 AI 模型与外部数据、工具及环境交互的方式。过去,将 大语言模型 (LLMs) 或计算机视觉系统连接到现实世界的数据源(如本地文件、数据库或 API 端点)时,需要为每个工具构建自定义集成。MCP 通过提供一种通用协议(类似于 AI 应用的 USB 接口)解决了这种碎片化问题。这使得开发者只需构建一次连接器,即可在多个 AI 客户端中使用,从而显著降低了创建 上下文感知客户支持 智能体和智能助手的复杂性。
Link to this sectionMCP 的工作原理#
MCP 的核心在于客户端-主机-服务器架构。“客户端”是发起请求的 AI 应用程序(如编程助手或聊天机器人界面)。“主机”提供运行时环境,而“服务器”则是连接特定数据或工具的桥梁。当 AI 智能体 需要访问文件或查询数据库时,它会通过该协议发送请求。MCP 服务器处理此请求,检索必要的上下文,并将其以结构化方式格式化后返回给模型。
该架构支持三种主要功能:
- 资源: 这些功能允许模型读取数据,例如日志、代码文件或业务文档,从而为 检索增强生成 (RAG) 提供必要的基础支撑。
- 提示词: 预定义的模板,帮助用户或模型与服务器有效交互,简化 提示词工程 工作流。
- 工具: 可执行函数,允许模型采取行动,例如编辑文件、运行脚本或与 计算机视觉 流水线交互。
Link to this section实际应用#
MCP 正在迅速普及,因为它将模型与集成逻辑解耦。以下是其应用的两个具体示例:
-
统一开发环境: 在软件工程中,开发者经常需要在 IDE、终端和文档之间切换。支持 MCP 的编程助手可以同时连接到 GitHub 存储库、本地文件系统和错误追踪数据库。如果开发者问:“为什么登录失败?”,AI 可以利用 MCP 服务器拉取最新的错误日志、阅读相关的认证代码并检查未解决的问题,将这些 多模态数据 合成为解决方案,而无需用户手动复制和粘贴上下文。
-
上下文感知视觉检测: 在工业环境中,标准视觉模型可以检测缺陷,但缺乏历史上下文。通过使用 MCP,可以将 Ultralytics YOLO26 检测系统链接到库存数据库。当模型检测到“损坏的零件”时,它会触发一个 MCP 工具查询数据库中零件的库存情况,并自动起草维护工单。这使得简单的 目标检测 任务转变为完整的自动化工作流。
Link to this section区分相关术语#
区分 MCP 与 AI 生态系统中的类似概念很有帮助:
- MCP 与 API: 应用程序编程接口 (API) 是一套特定规则,用于软件之间的相互对话。MCP 是一种 协议,标准化了 任何 AI 模型与 任何 API 或数据源交互的方式。你可以构建一个封装特定 API 的 MCP 服务器,使其对所有兼容 MCP 的客户端通用。
- MCP 与 RAG: 检索增强生成 是一种向模型提供外部数据的技术。MCP 是促进这一过程的 基础设施。RAG 是“做什么”(获取数据),而 MCP 是“如何做”(标准的连接管道)。
- MCP 与函数调用: 许多模型(包括 OpenAI GPT-4)原生支持函数调用。MCP 创建了一种标准方法来定义和公开这些函数(工具),因此它们不必每次都硬编码在模型的系统提示词中。
Link to this section与计算机视觉的集成#
虽然 MCP 最初是为基于文本的 LLM 推广的,但它在视觉驱动的工作流中也日益重要。开发者可以创建将计算机视觉能力公开为工具的 MCP 服务器。例如,作为一个中央控制器的 LLM 可以通过作为 MCP 工具公开的本地 Python 脚本,将视觉任务委托给 Ultralytics 模型。
以下 Python 代码片段展示了一个概念性工作流,其中脚本使用视觉模型生成上下文,随后可通过兼容 MCP 的端点进行服务:
from ultralytics import YOLO
# Load the YOLO26 model (efficient, end-to-end detection)
model = YOLO("yolo26n.pt")
# Perform inference to get visual context from an image
results = model("https://ultralytics.com/images/bus.jpg")
# Extract detection data to be passed as context
detections = []
for r in results:
for box in r.boxes:
cls_name = model.names[int(box.cls)]
detections.append(f"{cls_name} (conf: {box.conf.item():.2f})")
# This string serves as the 'context' a downstream agent might request
context_string = f"Visual Analysis: Found {', '.join(detections)}"
print(context_string)Link to this sectionAI 连接的未来#
模型上下文协议的引入标志着向模块化和可互操作的 智能体 AI 系统迈进。通过连接标准化,行业正从孤立的聊天机器人转向能够在组织现有基础设施内执行有意义工作的集成式助手。随着 Ultralytics Platform 等工具的不断发展,像 MCP 这样的标准协议将在 自定义训练模型 如何在大型企业工作流中部署和使用方面发挥关键作用。






