@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
TypeScript
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>;
}>;