UNPKG

@samchon/openapi

Version:

OpenAPI definitions and converters for 'typia' and 'nestia'.

62 lines (58 loc) 1.65 kB
import { OpenApiV3_1 } from "../OpenApiV3_1"; /** * MCP tool type. * * `IMcpTool` is an interface representing a tool type defined in * the MCP (Model Context Protocol). * * Note that, don't be confused with {@link IMcpLlmFunction} type, that is * used for {@link McpLlm.application} which converts this `IMcpTool` type * to the {@link IMcpLlmFunction} type. * * @warning Don't be confused with {@link IMcpLlmFunction} * @author Jeongho Nam - https://github.com/samchon */ export interface IMcpTool { /** * Name of the tool. * * @maxLength 64 */ name: string; /** * Description of the tool. */ description?: string | undefined; /** * Input schema of the tool. * * The input schema, parameters of the tool. * * As MCP (Model Context Protocol) does not restict the JSON schema * specification, `@samchon/openapi` has defined it to be universal * structure {@link OpenApiV3_1.IJsonSchema} which can cover every * JSON schema specification. */ inputSchema: IMcpTool.IInputSchema; } export namespace IMcpTool { /** * Input schema of the tool. * * The input schema, parameters of the tool. * * As MCP (Model Context Protocol) does not restict the JSON schema * specification, `@samchon/openapi` has defined it to be universal * structure {@link OpenApiV3_1.IJsonSchema} which can cover every * JSON schema specification. */ export type IInputSchema = ( | OpenApiV3_1.IJsonSchema.IObject | OpenApiV3_1.IJsonSchema.IReference ) & { /** * Collection of the named schemas. */ $defs?: Record<string, OpenApiV3_1.IJsonSchema>; }; }