W
AI-Wiki
ENTITY

模型上下文协议

定义或身份

模型上下文协议(Model Context Protocol,MCP)是一种面向大型语言模型(LLM)的标准化工具连接协议,用来把模型与外部数据源、服务和可调用工具连接起来。

在本文语境中,它的核心意义不是“让模型变得更聪明”,而是把外部能力以统一格式暴露给模型,使模型能够通过一致的方式理解“有哪些工具、每个工具做什么、需要什么参数、会返回什么结果”。

原文将 MCP 描述为一种“通用适配器”:借助这一标准,LLM 可以与 Google Drive、Slack、GitHub、数据库等多种外部系统交互,而不必为每一种服务都依赖完全不同的接入方式。

角色职责

在这篇文章讨论的工具调用体系里,模型上下文协议承担的是“标准化基础设施”角色,主要职责包括:

  • 统一描述工具能力:把工具的功能、参数需求、使用方式整理成可供模型理解的 schema。
  • 统一函数调用接口:让主 LLM 能以相对一致的方式发起函数调用,而不是直接处理各类底层 API 细节。
  • 为工具生态提供接入标准:使新工具、新服务可以被纳入同一调用框架中,便于扩展。

换句话说,MCP 负责定义工具“长什么样、怎么被调用”,而不是决定“当前任务到底该用哪一个工具”。

关键信息

MCP 解决的问题

文章明确把 MCP 放在“外部工具接口”这一层来理解。由于 LLM 存在训练数据固化、上下文窗口有限等约束,要应对实时变化的外部环境,就需要接入外部工具。

例如在旅行规划场景里,模型如果要完成实际服务,可能需要:

  • 访问航班数据库;
  • 检索酒店可用性;
  • 查询目的地天气;

如果没有这些工具接口,即使模型语言能力很强,也无法真正完成订票、查询或联动服务。MCP 在这里的作用,就是把这些外部能力以统一方式提供给模型。

MCP 提供的是工具 schema,不是知识库内容

RAG-MCP 语境下,一个很关键的区分是:检索对象不是普通知识文档,而是 MCP 工具描述本身。

原文特别强调,RAG-MCP 检索的是“MCP 函数模式和相关描述”,例如:

  • MCP 函数模式;
  • 工具参数定义;
  • 工具使用示例;
  • 与该工具相关的描述性元信息。

这说明 MCP 不是在提供事实性知识,而是在提供功能性接口定义。RAG 在这里被用来检索“可调用能力”,不是检索百科、手册或一般文本资料。

细节与边界

MCP 不直接解决工具发现与选择问题

这是本文最重要的边界之一。

虽然 MCP 能把大量工具以标准化方式暴露给 LLM,但它并不直接回答:当可用工具从几十个增长到 50、100 甚至 1000 个时,模型该如何高效、准确地挑选最合适的那个。

也就是说:

  • MCP 负责工具定义;
  • RAG-MCP 负责工具发现与选择。

前者是标准化接入层,后者是检索式路由层。二者不是替代关系,而是上下游关系。

工具生态爆发后,MCP 描述本身会造成提示词膨胀

文章指出,常规做法是把所有工具描述——也就是功能定义、参数需求等内容——直接放进提示词交给 LLM。

当工具较少时,这种方式还能工作;但当工具数量迅速增多时,MCP 描述本身会成为提示词膨胀的重要来源。问题主要表现在:

  • 工具描述累积消耗大量 token;
  • 占用有限上下文窗口;
  • 挤压用户查询、对话历史和推理空间;
  • 让模型必须在大量相似工具之间做筛选,决策复杂度显著上升。

原文给出的数量级非常具体:当工具扩展到 50、100,甚至 1000 个时,这一问题会迅速恶化。

MCP 的标准化不等于选择效率

即使上下文窗口继续增大,问题也不会自然消失。文章强调,要求 LLM 在数百个工具描述中逐个比较,尤其是在工具功能重叠、差异细微时,会带来明显的效率与准确率问题。

其后果包括:

  • 选择次优工具;
  • 错误识别不存在的工具或 API;
  • 因认知负担过高而整体性能下降。

这说明 MCP 的标准化主要提升“可接入性”和“可描述性”,但不自动保证“可发现性”和“可决策性”。

在本文中的补充方案:RAG-MCP

文章将 RAG-MCP 定位为 MCP 的补充层,而不是对 MCP 的否定。

其核心思想是:先把 MCP 工具描述存放到外部索引中,再根据用户任务语义检索出最相关的前 k 个工具,最后只把这些候选工具的 MCP 模式与参数信息提供给主 LLM。

因此二者关系可以概括为:

  • 模型上下文协议:标准化基础设施,负责定义和暴露工具;
  • RAG-MCP:发现与选择层,负责在海量 MCP 工具中做语义检索、排序与筛选。

这种分层带来的直接效果,是把“工具发现过程”与“核心 LLM 生成过程”解耦。模型不必面对整库工具,只需处理经过筛选的少量 MCP 描述。

与本文相关的具体事实

原文围绕 MCP 提到的具体事实包括:

  • MCP 由 Anthropic 提出,用于建立 AI 系统与外部数据源及服务之间的通用标准;
  • 它使 LLM 可以与 Google Drive、Slack、GitHub、数据库等工具交互;
  • 在常规方案中,所有工具的 MCP 描述可能被整体注入提示词;
  • 当工具规模扩大时,这些描述会显著推高 token 消耗,成为提示词膨胀来源;
  • RAG-MCP 检索的不是普通知识语料,而是 MCP 函数模式、工具描述和使用示例等功能性内容;
  • 因此,MCP 是工具标准,RAG-MCP 是工具选择机制。

相关条目