Class McpToolDefinition

java.lang.Object
com.tnsai.mcp.model.McpToolDefinition

public class McpToolDefinition extends Object
Represents an MCP tool definition.

Named McpToolDefinition to avoid collision with Tool from the tnsai-tools module.

The annotations field carries the MCP 2025-03-26 tool-annotation hints — idempotentHint, readOnlyHint, destructiveHint, openWorldHint — emitted as a nested JSON object per the spec. The field is omitted from serialization when empty so older MCP clients see the unchanged baseline shape.

  • Constructor Details

    • McpToolDefinition

      public McpToolDefinition()
    • McpToolDefinition

      public McpToolDefinition(String name, String description, com.fasterxml.jackson.databind.JsonNode inputSchema)
    • McpToolDefinition

      public McpToolDefinition(String name, String description, com.fasterxml.jackson.databind.JsonNode inputSchema, Map<String,Object> annotations)
  • Method Details

    • getName

      public String getName()
    • setName

      public void setName(String name)
    • getDescription

      public String getDescription()
    • setDescription

      public void setDescription(String description)
    • getInputSchema

      public com.fasterxml.jackson.databind.JsonNode getInputSchema()
    • setInputSchema

      public void setInputSchema(com.fasterxml.jackson.databind.JsonNode inputSchema)
    • getAnnotations

      public Map<String,Object> getAnnotations()
      MCP 2025-03-26 tool annotations. Returns null when no hint is set. Read-only — modifying the returned map does not affect serialization.
    • setAnnotations

      public void setAnnotations(Map<String,Object> annotations)
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • builder

      public static McpToolDefinition.Builder builder()