MCP 基础
约 520 字大约 2 分钟...


大模型怎么知道 要调用哪个 mcp 的哪个服务,如果有多个 mcp 服务,然后 各自的 api 又很相近(比如名字),大模型如何调用正确的?
大模型在调用特定 MCP 中的正确服务时,通常会经历以下步骤:
- 列出可用工具:MCP Client 会通过
list_tool
方法从 MCP Server 获取所有支持的工具的名称、描述和参数等信息。这些信息会被传递给大模型,使它了解当前可用的工具及其功能1。 - 生成提示(Prompt):大模型根据用户输入的问题或任务,结合从 MCP Server 获取的工具信息,生成一个合适的提示(Prompt)。这个提示帮助大模型判断哪个工具最适合解决当前问题1。
- 选择工具:大模型基于生成的提示,决定使用哪个工具来解决问题。如果存在多个 MCP 服务且它们的 API 名称相似,大模型会依据工具的具体描述和参数信息进行区分,确保选择最匹配的工具2。
- 调用工具:选定工具后,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