Skip to main content

Interface: OpenApiTool

Defined in: http-server-mcp-openapi/src/openApiToTools.ts:103

A Tool derived from one OpenAPI operation.

Extends​

  • Tool

Properties​

_meta?​

optional _meta?: Record<string, unknown>

Defined in: http-server-mcp/src/tool.ts:87

Tool metadata forwarded verbatim on tools/list. The MCP Apps extension links a tool to its view through it: build the bag with registerAppResource(...).toolMeta().

Inherited from​

Tool._meta


annotations?​

optional annotations?: object

Defined in: http-server-mcp/src/tool.ts:74

Behaviour hints forwarded on tools/list (readOnlyHint, destructiveHint, idempotentHint, openWorldHint). Clients use them to decide when to ask the user for confirmation; they never enforce anything.

Inherited from​

Tool.annotations


definition​

definition: ToolDefinition

Defined in: http-server-mcp-openapi/src/openApiToTools.ts:109

The operation it was derived from — method, path, extensions — for decisions that key on the API rather than the tool name, such as which scope a gate requires.


description​

description: string

Defined in: http-server-mcp/src/tool.ts:39

What the tool does, written for the model.

Inherited from​

Tool.description


handler​

handler: (args) => {[key: string]: unknown; } | Promise<{[key: string]: unknown; }>

Defined in: http-server-mcp/src/tool.ts:89

Answers a call with the (validated, when enforced) arguments.

Parameters​

ParameterType
argsRecord<string, unknown>

Returns​

{[key: string]: unknown; } | Promise<{[key: string]: unknown; }>

Inherited from​

Tool.handler


inputSchema?​

optional inputSchema?: ToolSchema

Defined in: http-server-mcp/src/tool.ts:50

The tool's input.

  • A JSON Schema is advertised verbatim and enforced only with validateArguments; the handler receives the raw arguments.
  • A Standard Schema (z.object(...)) is always enforced; the handler receives its parsed output, defaults and coercions applied.

Default​

{ type: 'object', properties: {} }

Inherited from​

Tool.inputSchema


name​

name: string

Defined in: http-server-mcp/src/tool.ts:35

Unique tool name.

Inherited from​

Tool.name


outputSchema?​

optional outputSchema?: ToolSchema

Defined in: http-server-mcp/src/tool.ts:68

The result's schema, advertised on tools/list. A result's structuredContent is validated against it.

Inherited from​

Tool.outputSchema


summary?​

optional summary?: string

Defined in: http-server-mcp/src/tool.ts:81

The line the deferred search shows for the tool. Defaults to the first line of description. Not sent on tools/list.

Inherited from​

Tool.summary


tags?​

optional tags?: string[]

Defined in: http-server-mcp/src/tool.ts:76

Groups the tool for the deferred search filter. Not sent on tools/list.

Inherited from​

Tool.tags


title?​

optional title?: string

Defined in: http-server-mcp/src/tool.ts:37

Display name clients show instead of name.

Inherited from​

Tool.title


validateArguments?​

optional validateArguments?: boolean

Defined in: http-server-mcp/src/tool.ts:63

Whether a JSON Schema inputSchema is enforced before the handler runs.

Enable it once the schema describes every value the tool genuinely accepts. Schemas generated from an OpenAPI document are a common source of incomplete ones — a field a client may send as null to clear it, or one accepting several shapes, is easy to emit as a bare { type: 'string' } — and validating against them rejects calls the underlying API would have accepted. A Standard Schema ignores this flag.

Default​

false

Inherited from​

Tool.validateArguments