Skip to content

tools / Exports / ToolProviderFactory

Class: ToolProviderFactory

Tool Provider Factory class

Creates and manages various types of tool providers.

Table of contents

Constructors

Methods

Constructors

constructor

new ToolProviderFactory(options?): ToolProviderFactory

Parameters

NameType
options?Object
options.logger?(message: string, context?: Record<string, any>) => void

Returns

ToolProviderFactory

Defined in

packages/tools/src/tool-provider-factory.ts:39

Methods

createZodFunctionProvider

createZodFunctionProvider(name, tools): ToolProvider

Create Zod Function Tool Provider

Parameters

NameType
namestring
toolsRecord<string, ZodFunctionTool<ZodObject<ZodRawShape, UnknownKeysParam, ZodTypeAny, {}, {}>>>

Returns

ToolProvider

Defined in

packages/tools/src/tool-provider-factory.ts:46


createOpenAPIProvider

createOpenAPIProvider(name, openApiSpec, options?): ToolProvider

Create OpenAPI Tool Provider

Parameters

NameType
namestring
openApiSpecany
options?Object
options.baseUrl?string

Returns

ToolProvider

Defined in

packages/tools/src/tool-provider-factory.ts:62


createMCPProvider

createMCPProvider(name, mcpClient): ToolProvider

Create MCP Tool Provider

Parameters

NameType
namestring
mcpClientMCPClient

Returns

ToolProvider

Defined in

packages/tools/src/tool-provider-factory.ts:80


createProvider

createProvider<T>(type, name, config): ToolProvider

Generic Tool Provider creation method

Type parameters

NameType
Textends ToolProviderType

Parameters

NameType
typeT
namestring
configToolProviderConfigs[T]

Returns

ToolProvider

Defined in

packages/tools/src/tool-provider-factory.ts:93


getProvider

getProvider(name): undefined | ToolProvider

Get registered Provider

Parameters

NameType
namestring

Returns

undefined | ToolProvider

Defined in

packages/tools/src/tool-provider-factory.ts:121


getAllProviders

getAllProviders(): Record<string, ToolProvider>

Get all registered Provider list

Returns

Record<string, ToolProvider>

Defined in

packages/tools/src/tool-provider-factory.ts:128


removeProvider

removeProvider(name): boolean

Remove Provider

Parameters

NameType
namestring

Returns

boolean

Defined in

packages/tools/src/tool-provider-factory.ts:135


getAllAvailableTools

getAllAvailableTools(): Record<string, string[]>

Get integrated list of available tools from all Providers

Returns

Record<string, string[]>

Defined in

packages/tools/src/tool-provider-factory.ts:142


findProviderForTool

findProviderForTool(toolName): undefined | { providerName: string ; provider: ToolProvider }

Find Provider that provides specific tool

Parameters

NameType
toolNamestring

Returns

undefined | { providerName: string ; provider: ToolProvider }

Defined in

packages/tools/src/tool-provider-factory.ts:155


callTool

callTool(toolName, parameters): Promise<any>

Tool call (automatically find appropriate Provider)

Parameters

NameType
toolNamestring
parametersRecord<string, any>

Returns

Promise<any>

Defined in

packages/tools/src/tool-provider-factory.ts:167

Released under the MIT License.