Documentation / @agentick/mcp / MCPToolDefinition
Interface: MCPToolDefinition
Defined in: protocol/types.ts:278
A tool registered on the MCP server. Includes a handler — this is the server-side definition (not the discovered shape).
Properties
_meta?
optional_meta:Record<string,unknown>
Defined in: protocol/types.ts:307
Raw _meta passthrough for interop with hosts or SDKs that author tools against the legacy MCP Apps spec. On registration, if _meta["ui/resourceUri"] is set but ui.resourceUri isn't, the canonical ui.resourceUri is hydrated from it. Any extra keys on _meta are preserved verbatim on tools/list.
annotations?
optionalannotations:object
Defined in: protocol/types.ts:289
description?
optionaldescription:string
Defined in: protocol/types.ts:286
handler
handler:
MCPToolHandler
Defined in: protocol/types.ts:308
icons?
optionalicons:Icon[]
Defined in: protocol/types.ts:294
Optional icons for client UI rendering (per spec IconsSchema). Multiple sizes/themes can be provided; clients pick the best fit.
inputSchema
inputSchema:
Record<string,unknown> |ZodType<unknown,unknown,$ZodTypeInternals<unknown,unknown>>
Defined in: protocol/types.ts:287
name
name:
string
Defined in: protocol/types.ts:279
outputSchema?
optionaloutputSchema:Record<string,unknown> |ZodType<unknown,unknown,$ZodTypeInternals<unknown,unknown>>
Defined in: protocol/types.ts:288
title?
optionaltitle:string
Defined in: protocol/types.ts:285
Human-readable display name (per spec BaseMetadataSchema). Optional. If omitted, clients use name for display, except where annotations.title takes precedence.
ui?
optionalui:object
Defined in: protocol/types.ts:296
MCP Apps metadata — links this tool to a ui:// resource.
resourceUri?
optionalresourceUri:string
visibility?
optionalvisibility: ("model"|"app")[]