Skip to content

Documentation / @agentick/mcp / MCPToolDefinition

Interface: MCPToolDefinition

Defined in: protocol/types.ts:296

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:325

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:307


description?

optional description: string

Defined in: protocol/types.ts:304


handler

handler: MCPToolHandler

Defined in: protocol/types.ts:326


icons?

optional icons: Icon[]

Defined in: protocol/types.ts:312

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:305


name

name: string

Defined in: protocol/types.ts:297


outputSchema?

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

Defined in: protocol/types.ts:306


title?

optional title: string

Defined in: protocol/types.ts:303

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:314

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

resourceUri?

optional resourceUri: string

visibility?

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

Released under the ISC License.