跳至主要內容

MCP 基础

悟空约 520 字大约 2 分钟...

img
img

大模型怎么知道 要调用哪个 mcp 的哪个服务,如果有多个 mcp 服务,然后 各自的 api 又很相近(比如名字),大模型如何调用正确的?

大模型在调用特定 MCP 中的正确服务时,通常会经历以下步骤:

  1. 列出可用工具:MCP Client 会通过 list_tool 方法从 MCP Server 获取所有支持的工具的名称、描述和参数等信息。这些信息会被传递给大模型,使它了解当前可用的工具及其功能1。
  2. 生成提示(Prompt):大模型根据用户输入的问题或任务,结合从 MCP Server 获取的工具信息,生成一个合适的提示(Prompt)。这个提示帮助大模型判断哪个工具最适合解决当前问题1。
  3. 选择工具:大模型基于生成的提示,决定使用哪个工具来解决问题。如果存在多个 MCP 服务且它们的 API 名称相似,大模型会依据工具的具体描述和参数信息进行区分,确保选择最匹配的工具2。
  4. 调用工具:选定工具后,MCP Hosts 调用 MCP Client 的 call_tool 方法与 MCP Server 进行通信,执行具体的操作。MCP Server 负责调用实际的工具或读取资源,并将结果反馈给 MCP Client,再由 MCP Hosts 将结果展示给用户1。

为了确保调用到正确的服务,特别是在多个 MCP 服务的 API 名称相似的情况下,可以通过以下方式优化:

  • 详细描述和参数:确保每个工具都有详细的描述和明确的参数定义,以便大模型能够准确地区分不同的工具。
  • 领域划分:将不同领域的工具分配给专门的 Agent,避免单一 Agent 处理过多工具而导致混淆3。

通过以上机制,大模型可以有效地确定并调用正确的 MCP 服务。

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v3.3.0