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
- from schema: https://w3id.org/lmodel/mcp
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