Skip to content

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?

optional annotations: object

Defined in: protocol/types.ts:289


description?

optional description: string

Defined in: protocol/types.ts:286


handler

handler: MCPToolHandler

Defined in: protocol/types.ts:308


icons?

optional icons: 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?

optional outputSchema: Record<string, unknown> | ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>>

Defined in: protocol/types.ts:288


title?

optional title: 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?

optional ui: object

Defined in: protocol/types.ts:296

MCP Apps metadata — links this tool to a ui:// resource.

resourceUri?

optional resourceUri: string

visibility?

optional visibility: ("model" | "app")[]

Released under the ISC License.