本文详细阐述了MCP(Model Context
Protocol)中工具(Tools)的概念和实现方式,为工具的设计、使用和安全提供了清晰的指南。以下是文档的核心要点:
工具概念
工具是MCP的一个关键组成部分,允许服务器暴露可执行的功能,供客户端和LLMs调用。通过工具,模型可以执行计算、操作外部系统,甚至与真实世界交互。
* 设计目的:工具被设计为模型可控(model-controlled),模型可以自动调用工具执行任务,但需要人类批准。
* 核心能力:
* 发现(Discovery):列出所有可用工具。
* 调用(Invocation):通过API调用工具并获取结果。
* 灵活性(Flexibility):支持从简单操作到复杂API交互。
工具定义
工具通过如下结构定义:
{
name: string; // 工具唯一标识符
description?: string; // 人类可读的描述
inputSchema: { // JSON Schema 描述输入参数
type: "object",
p