Package io.modelcontextprotocol.spec
Record Class McpSchema.Tool
java.lang.Object
java.lang.Record
io.modelcontextprotocol.spec.McpSchema.Tool
- Record Components:
name- A unique identifier for the tool. This name is used when calling the tool.title- A human-readable title for the tool.description- A human-readable description of what the tool does. This can be used by clients to improve the LLM's understanding of available tools.inputSchema- A JSON Schema object that describes the expected structure of the arguments when calling this tool. Per SEP-1613, the dialect defaults to JSON Schema 2020-12 (McpSchema.JSON_SCHEMA_DIALECT_2020_12) when no explicit$schemaentry is present. To declare a different dialect, include a"$schema"key in the map. For tools with no parameters the spec recommends{"type":"object","additionalProperties":false}.outputSchema- An optional JSON Schema object defining the structure of the tool's output returned in the structuredContent field of a CallToolResult. Same dialect rules asinputSchema.annotations- Optional additional tool information.icons- Optional list of icons for this tool.meta- See specification for notes on _meta usage
- Enclosing class:
- McpSchema
public static record McpSchema.Tool(String name, String title, String description, Map<String,Object> inputSchema, Map<String,Object> outputSchema, McpSchema.ToolAnnotations annotations, Map<String,Object> meta, List<McpSchema.Icon> icons)
extends Record
Represents a tool that the server provides. Tools enable servers to expose
executable functionality to the system. Through these tools, you can interact with
external systems, perform computations, and take actions in the real world.
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionTool(String name, String title, String description, Map<String, Object> inputSchema, Map<String, Object> outputSchema, McpSchema.ToolAnnotations annotations, Map<String, Object> meta) Deprecated.Tool(String name, String title, String description, Map<String, Object> inputSchema, Map<String, Object> outputSchema, McpSchema.ToolAnnotations annotations, Map<String, Object> meta, List<McpSchema.Icon> icons) Creates an instance of aToolrecord class. -
Method Summary
Modifier and TypeMethodDescriptionReturns the value of theannotationsrecord component.static McpSchema.Tool.Builderbuilder()Deprecated.Usebuilder(String, Map)instead.static McpSchema.Tool.BuilderDeprecated.static McpSchema.Tool.Builderbuilder(String name, McpJsonMapper jsonMapper, String inputSchema) static McpSchema.Tool.BuilderReturns the value of thedescriptionrecord component.final booleanIndicates whether some other object is "equal to" this one.final inthashCode()Returns a hash code value for this object.icons()Returns the value of theiconsrecord component.Returns the value of theinputSchemarecord component.meta()Returns the value of themetarecord component.name()Returns the value of thenamerecord component.Returns the value of theoutputSchemarecord component.title()Returns the value of thetitlerecord component.final StringtoString()Returns a string representation of this record class.
-
Constructor Details
-
Tool
public Tool(String name, String title, String description, Map<String, Object> inputSchema, Map<String, Object> outputSchema, McpSchema.ToolAnnotations annotations, Map<String, Object> meta, List<McpSchema.Icon> icons) Creates an instance of aToolrecord class.- Parameters:
name- the value for thenamerecord componenttitle- the value for thetitlerecord componentdescription- the value for thedescriptionrecord componentinputSchema- the value for theinputSchemarecord componentoutputSchema- the value for theoutputSchemarecord componentannotations- the value for theannotationsrecord componentmeta- the value for themetarecord componenticons- the value for theiconsrecord component
-
Tool
@Deprecated public Tool(String name, String title, String description, Map<String, Object> inputSchema, Map<String, Object> outputSchema, McpSchema.ToolAnnotations annotations, Map<String, Object> meta) Deprecated.
-
-
Method Details
-
builder
Deprecated.Usebuilder(String, Map)instead. -
builder
Deprecated.Uses empty input schema.- Parameters:
name-- Returns:
-
builder
-
builder
public static McpSchema.Tool.Builder builder(String name, McpJsonMapper jsonMapper, String inputSchema) -
toString
Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components. -
hashCode
public final int hashCode()Returns a hash code value for this object. The value is derived from the hash code of each of the record components. -
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object). -
name
Returns the value of thenamerecord component.- Returns:
- the value of the
namerecord component
-
title
Returns the value of thetitlerecord component.- Returns:
- the value of the
titlerecord component
-
description
Returns the value of thedescriptionrecord component.- Returns:
- the value of the
descriptionrecord component
-
inputSchema
Returns the value of theinputSchemarecord component.- Returns:
- the value of the
inputSchemarecord component
-
outputSchema
Returns the value of theoutputSchemarecord component.- Returns:
- the value of the
outputSchemarecord component
-
annotations
Returns the value of theannotationsrecord component.- Returns:
- the value of the
annotationsrecord component
-
meta
Returns the value of themetarecord component.- Returns:
- the value of the
metarecord component
-
icons
Returns the value of theiconsrecord component.- Returns:
- the value of the
iconsrecord component
-
builder(String, Map)