Skip to content

tools / Exports / McpTool

Class: McpTool<TParams, TResult>

MCP schema-based tool class

McpTool

Description

Tool that uses MCP (Model Context Protocol) schema format for parameter definition.

Example

typescript
import { McpTool } from '@robota-sdk/tools';

const mcpTool = new McpTool({
  name: 'calculateSum',
  description: 'Calculate the sum of two numbers',
  category: 'math',
  parameters: {
    type: 'object',
    properties: {
      a: {
        type: 'number',
        description: 'First number'
      },
      b: {
        type: 'number',
        description: 'Second number'
      }
    },
    required: ['a', 'b']
  },
  execute: async (params) => {
    const result = params.a + params.b;
    return {
      status: 'success',
      data: { sum: result }
    };
  }
});

Type parameters

NameTypeDescription
TParamsanyTool parameter type
TResultanyTool result type

Hierarchy

Table of contents

Constructors

Properties

Accessors

Methods

Constructors

constructor

new McpTool<TParams, TResult>(options): McpTool<TParams, TResult>

Constructor

Type parameters

NameType
TParamsany
TResultany

Parameters

NameTypeDescription
optionsMcpToolOptions<TParams, TResult>MCP tool options

Returns

McpTool<TParams, TResult>

Overrides

BaseTool.constructor

Defined in

packages/tools/src/tool/mcp-tool.ts:71

Properties

name

Readonly name: string

Tool name

Inherited from

BaseTool.name

Defined in

packages/tools/src/tool/base-tool.ts:29


description

Readonly description: string

Tool description

Inherited from

BaseTool.description

Defined in

packages/tools/src/tool/base-tool.ts:34


category

Optional Readonly category: string

Tool category

Inherited from

BaseTool.category

Defined in

packages/tools/src/tool/base-tool.ts:39


version

Optional Readonly version: string

Tool version

Inherited from

BaseTool.version

Defined in

packages/tools/src/tool/base-tool.ts:44

Accessors

schema

get schema(): any

Tool schema (returns MCP schema)

Returns

any

MCP schema

Overrides

BaseTool.schema

Defined in

packages/tools/src/tool/mcp-tool.ts:81

Methods

execute

execute(params): Promise<ToolResult<TResult>>

Execute tool

Parameters

NameTypeDescription
paramsTParamsTool parameters

Returns

Promise<ToolResult<TResult>>

Tool execution result

Inherited from

BaseTool.execute

Defined in

packages/tools/src/tool/base-tool.ts:108


toFunctionSchema

toFunctionSchema(): FunctionSchema

Convert to function schema

Returns

FunctionSchema

Function schema

Inherited from

BaseTool.toFunctionSchema

Defined in

packages/tools/src/tool/base-tool.ts:145


toFunctionDefinition

toFunctionDefinition(): FunctionDefinition

Convert to function definition

Returns

FunctionDefinition

Function definition

Inherited from

BaseTool.toFunctionDefinition

Defined in

packages/tools/src/tool/base-tool.ts:158


toString

toString(): string

Generate string representation

Returns

string

String representation of the tool

Inherited from

BaseTool.toString

Defined in

packages/tools/src/tool/base-tool.ts:171


create

create<TParams, TResult>(options): McpTool<TParams, TResult>

MCP tool creation helper method

Type parameters

NameType
TParamsany
TResultany

Parameters

NameTypeDescription
optionsMcpToolOptions<TParams, TResult>MCP tool options

Returns

McpTool<TParams, TResult>

McpTool instance

Defined in

packages/tools/src/tool/mcp-tool.ts:145

Released under the MIT License.