UNPKG

@l4t/mcp-ai

Version:

A set of tools for making integration and aggregation of MCP servers extremely easy.

81 lines (80 loc) 2.94 kB
import { McpIntegratorConfig, Provider } from '../common/types.js'; import { ToolFormat, ProviderResponse, ProviderRequest, McpIntegrator } from './types.js'; export declare const create: <P extends Provider>(config: Readonly<{ connection: import("../common/types.js").Connection; provider: Provider; model?: string | undefined; modelId?: string | undefined; includeListToolsTool?: boolean | undefined; maxParallelCalls?: number | undefined; }> & { provider: P; }) => Readonly<{ connect: () => Promise<void>; disconnect: () => Promise<void>; getTools: () => Promise<readonly Readonly<{ name: string; description: string; inputSchema: Readonly<{ type: "object"; properties: Readonly<Record<string, { type: string; description?: string | undefined; enum?: readonly string[] | undefined; nullable?: boolean | undefined; }>>; required?: readonly string[] | undefined; }>; outputSchema?: Readonly<{ type: "object"; properties: Readonly<Record<string, { type: string; description?: string | undefined; enum?: readonly string[] | undefined; nullable?: boolean | undefined; }>>; required?: readonly string[] | undefined; }> | undefined; }>[]>; formatToolsForProvider: (tools: readonly Readonly<{ name: string; description: string; inputSchema: Readonly<{ type: "object"; properties: Readonly<Record<string, { type: string; description?: string | undefined; enum?: readonly string[] | undefined; nullable?: boolean | undefined; }>>; required?: readonly string[] | undefined; }>; outputSchema?: Readonly<{ type: "object"; properties: Readonly<Record<string, { type: string; description?: string | undefined; enum?: readonly string[] | undefined; nullable?: boolean | undefined; }>>; required?: readonly string[] | undefined; }> | undefined; }>[]) => readonly ToolFormat<P>[]; extractToolCalls: (response: ProviderResponse<P>) => readonly Readonly<{ id: string; name: string; input: unknown; }>[]; executeToolCalls: (calls: readonly Readonly<{ id: string; name: string; input: unknown; }>[]) => Promise<readonly Readonly<{ id: string; content: unknown; }>[]>; createToolResponseRequest: (originalRequest: ProviderRequest<P>, response: ProviderResponse<P>, results: readonly Readonly<{ id: string; content: unknown; }>[]) => ProviderRequest<P>; }>;