Skip to content

Class: Tool

Definition for a tool the client can call.

URI: mcp:Tool

 classDiagram
    class Tool
    click Tool href "../Tool/"
      HasMeta <|-- Tool
        click HasMeta href "../HasMeta/"
      HasName <|-- Tool
        click HasName href "../HasName/"
      HasIcons <|-- Tool
        click HasIcons href "../HasIcons/"

      Tool : _meta





        Tool --> "0..1" MetaObject : _meta
        click MetaObject href "../MetaObject/"



      Tool : annotations





        Tool --> "0..1" ToolAnnotations : annotations
        click ToolAnnotations href "../ToolAnnotations/"



      Tool : description

      Tool : execution





        Tool --> "0..1" ToolExecution : execution
        click ToolExecution href "../ToolExecution/"



      Tool : icons





        Tool --> "*" Icon : icons
        click Icon href "../Icon/"



      Tool : inputSchema





        Tool --> "1" JsonSchema : inputSchema
        click JsonSchema href "../JsonSchema/"



      Tool : name

      Tool : outputSchema





        Tool --> "0..1" JsonSchema : outputSchema
        click JsonSchema href "../JsonSchema/"



      Tool : title

Inheritance

Slots

Name Cardinality and Range Description Inheritance
annotations 0..1
ToolAnnotations
Optional additional tool information direct
execution 0..1
ToolExecution
Execution-related properties for this tool direct
description 0..1
String
A human-readable description direct
inputSchema 1
JsonSchema
A JSON Schema object defining the expected parameters for the tool direct
outputSchema 0..1
JsonSchema
An optional JSON Schema object defining the structure of the tool's output direct
_meta 0..1
MetaObject
Optional metadata object HasMeta
name 1
String
Intended for programmatic or logical use, but used as a display name in past ... HasName
title 0..1
String
Intended for UI and end-user contexts — optimized to be human-readable and ea... HasName
icons *
Icon
Optional set of sized icons that the client can display in a user interface HasIcons

Usages

used by used in type used
CreateMessageRequestParams tools range Tool
ListToolsResult tools range Tool

Identifier and Mapping Information

Schema Source

Mappings

Mapping Type Mapped Value
self mcp:Tool
native mcp:Tool

LinkML Source

Direct

name: Tool
description: Definition for a tool the client can call.
from_schema: https://w3id.org/lmodel/mcp
mixins:
- HasMeta
- HasName
- HasIcons
slots:
- annotations
- execution
- description
- inputSchema
- outputSchema
slot_usage:
  annotations:
    name: annotations
    description: Optional additional tool information.
    range: ToolAnnotations
    inlined: true
  execution:
    name: execution
    description: Execution-related properties for this tool.
    range: ToolExecution
    inlined: true
  name:
    name: name
    required: true
  inputSchema:
    name: inputSchema
    required: true

Induced

name: Tool
description: Definition for a tool the client can call.
from_schema: https://w3id.org/lmodel/mcp
mixins:
- HasMeta
- HasName
- HasIcons
slot_usage:
  annotations:
    name: annotations
    description: Optional additional tool information.
    range: ToolAnnotations
    inlined: true
  execution:
    name: execution
    description: Execution-related properties for this tool.
    range: ToolExecution
    inlined: true
  name:
    name: name
    required: true
  inputSchema:
    name: inputSchema
    required: true
attributes:
  annotations:
    name: annotations
    description: Optional additional tool information.
    from_schema: https://w3id.org/lmodel/mcp
    rank: 1000
    alias: annotations
    owner: Tool
    domain_of:
    - HasAnnotations
    - Tool
    range: ToolAnnotations
    inlined: true
  execution:
    name: execution
    description: Execution-related properties for this tool.
    from_schema: https://w3id.org/lmodel/mcp
    rank: 1000
    alias: execution
    owner: Tool
    domain_of:
    - Tool
    range: ToolExecution
    inlined: true
  description:
    name: description
    description: A human-readable description.
    from_schema: https://w3id.org/lmodel/mcp
    rank: 1000
    slot_uri: dct:description
    alias: description
    owner: Tool
    domain_of:
    - Implementation
    - ResourceLink
    - Resource
    - ResourceTemplate
    - PromptArgument
    - Prompt
    - JsonSchema
    - Tool
    - StringSchema
    - NumberSchema
    - BooleanSchema
    - UntitledSingleSelectEnumSchema
    - TitledSingleSelectEnumSchema
    - UntitledMultiSelectEnumSchema
    - TitledMultiSelectEnumSchema
    - LegacyTitledEnumSchema
    - GetPromptResult
    range: string
  inputSchema:
    name: inputSchema
    description: A JSON Schema object defining the expected parameters for the tool.
    from_schema: https://w3id.org/lmodel/mcp
    rank: 1000
    alias: inputSchema
    owner: Tool
    domain_of:
    - Tool
    range: JsonSchema
    required: true
  outputSchema:
    name: outputSchema
    description: An optional JSON Schema object defining the structure of the tool's
      output.
    from_schema: https://w3id.org/lmodel/mcp
    rank: 1000
    alias: outputSchema
    owner: Tool
    domain_of:
    - Tool
    range: JsonSchema
  _meta:
    name: _meta
    description: Optional metadata object.
    from_schema: https://w3id.org/lmodel/mcp
    rank: 1000
    alias: _meta
    owner: Tool
    domain_of:
    - HasMeta
    range: MetaObject
  name:
    name: name
    description: Intended for programmatic or logical use, but used as a display name
      in past specs or fallback (if title is not present).
    from_schema: https://w3id.org/lmodel/mcp
    rank: 1000
    slot_uri: schema:name
    alias: name
    owner: Tool
    domain_of:
    - HasName
    - ToolUseContent
    - Root
    - CompletionArgument
    - SchemaProperties
    - ElicitationContent
    - ModelHint
    - CallToolRequestParams
    - GetPromptRequestParams
    range: string
    required: true
  title:
    name: title
    description: Intended for UI and end-user contexts — optimized to be human-readable
      and easily understood.
    from_schema: https://w3id.org/lmodel/mcp
    rank: 1000
    slot_uri: dct:title
    alias: title
    owner: Tool
    domain_of:
    - HasName
    - ToolAnnotations
    - EnumOption
    - JsonSchema
    - StringSchema
    - NumberSchema
    - BooleanSchema
    - UntitledSingleSelectEnumSchema
    - TitledSingleSelectEnumSchema
    - UntitledMultiSelectEnumSchema
    - TitledMultiSelectEnumSchema
    - LegacyTitledEnumSchema
    range: string
  icons:
    name: icons
    description: Optional set of sized icons that the client can display in a user
      interface.
    from_schema: https://w3id.org/lmodel/mcp
    rank: 1000
    alias: icons
    owner: Tool
    domain_of:
    - HasIcons
    range: Icon
    multivalued: true
    inlined: true
    inlined_as_list: true