feat: Replace usage of mcp_core Tools/ToolAnnotations in openapi schema (#3649)

This commit is contained in:
Alex Hancock
2025-07-25 10:21:59 -04:00
committed by GitHub
parent 1bccd2613f
commit 858d4062bc
3 changed files with 26 additions and 86 deletions
+6 -58
View File
@@ -666,73 +666,21 @@ export type ThinkingContent = {
thinking: string;
};
/**
* A tool that can be used by a model.
*/
export type Tool = {
annotations?: ToolAnnotations | null;
/**
* A description of what the tool does
*/
description: string;
/**
* A JSON Schema object defining the expected parameters for the tool
*/
inputSchema: unknown;
/**
* The name of the tool
*/
annotations?: ToolAnnotations;
description?: string;
inputSchema: {
[key: string]: unknown;
};
name: string;
};
/**
* Additional properties describing a tool to clients.
*
* NOTE: all properties in ToolAnnotations are **hints**.
* They are not guaranteed to provide a faithful description of
* tool behavior (including descriptive properties like `title`).
*
* Clients should never make tool use decisions based on ToolAnnotations
* received from untrusted servers.
*/
export type ToolAnnotations = {
/**
* If true, the tool may perform destructive updates to its environment.
* If false, the tool performs only additive updates.
*
* (This property is meaningful only when `read_only_hint == false`)
*
* Default: true
*/
destructiveHint?: boolean;
/**
* If true, calling the tool repeatedly with the same arguments
* will have no additional effect on its environment.
*
* (This property is meaningful only when `read_only_hint == false`)
*
* Default: false
*/
idempotentHint?: boolean;
/**
* If true, this tool may interact with an "open world" of external
* entities. If false, the tool's domain of interaction is closed.
* For example, the world of a web search tool is open, whereas that
* of a memory tool is not.
*
* Default: true
*/
openWorldHint?: boolean;
/**
* If true, the tool does not modify its environment.
*
* Default: false
*/
readOnlyHint?: boolean;
/**
* A human-readable title for the tool.
*/
title?: string | null;
title?: string;
};
export type ToolConfirmationRequest = {