UNPKG

@bilims/mcp-sqlserver

Version:

MCP Server for Microsoft SQL Server with CRUD operations and data analysis capabilities

106 lines (105 loc) 3.92 kB
import { z } from 'zod'; import { DatabaseConnection } from '../database/connection.js'; import { QueryOptions } from '../types/config.js'; import * as sql from 'mssql'; export declare const ExecuteStoredProcedureSchema: z.ZodObject<{ procedureName: z.ZodString; schema: z.ZodDefault<z.ZodOptional<z.ZodString>>; parameters: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodObject<{ name: z.ZodString; value: z.ZodAny; type: z.ZodOptional<z.ZodEnum<["varchar", "int", "bigint", "decimal", "bit", "datetime", "date", "text", "nvarchar", "float", "real"]>>; size: z.ZodOptional<z.ZodNumber>; precision: z.ZodOptional<z.ZodNumber>; scale: z.ZodOptional<z.ZodNumber>; output: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>; }, "strip", z.ZodTypeAny, { name: string; output: boolean; value?: any; type?: "bigint" | "float" | "date" | "varchar" | "int" | "decimal" | "bit" | "datetime" | "text" | "nvarchar" | "real" | undefined; size?: number | undefined; precision?: number | undefined; scale?: number | undefined; }, { name: string; value?: any; type?: "bigint" | "float" | "date" | "varchar" | "int" | "decimal" | "bit" | "datetime" | "text" | "nvarchar" | "real" | undefined; size?: number | undefined; precision?: number | undefined; scale?: number | undefined; output?: boolean | undefined; }>, "many">>>; }, "strip", z.ZodTypeAny, { parameters: { name: string; output: boolean; value?: any; type?: "bigint" | "float" | "date" | "varchar" | "int" | "decimal" | "bit" | "datetime" | "text" | "nvarchar" | "real" | undefined; size?: number | undefined; precision?: number | undefined; scale?: number | undefined; }[]; schema: string; procedureName: string; }, { procedureName: string; parameters?: { name: string; value?: any; type?: "bigint" | "float" | "date" | "varchar" | "int" | "decimal" | "bit" | "datetime" | "text" | "nvarchar" | "real" | undefined; size?: number | undefined; precision?: number | undefined; scale?: number | undefined; output?: boolean | undefined; }[] | undefined; schema?: string | undefined; }>; export declare const GetStoredProceduresSchema: z.ZodObject<{ schema: z.ZodOptional<z.ZodString>; namePattern: z.ZodOptional<z.ZodString>; }, "strip", z.ZodTypeAny, { schema?: string | undefined; namePattern?: string | undefined; }, { schema?: string | undefined; namePattern?: string | undefined; }>; export declare const GetStoredProcedureInfoSchema: z.ZodObject<{ procedureName: z.ZodString; schema: z.ZodDefault<z.ZodOptional<z.ZodString>>; }, "strip", z.ZodTypeAny, { schema: string; procedureName: string; }, { procedureName: string; schema?: string | undefined; }>; export declare class StoredProcedureTools { private db; constructor(db: DatabaseConnection); private getSqlType; executeStoredProcedure(params: z.infer<typeof ExecuteStoredProcedureSchema>, options?: QueryOptions): Promise<{ success: boolean; procedureName: string; resultSets: { resultSetIndex: number; rowCount: number; data: any[]; truncated: boolean; }[]; outputParameters: Record<string, any>; returnValue: any; executionTime: string; }>; getStoredProcedures(params: z.infer<typeof GetStoredProceduresSchema>): Promise<{ success: boolean; procedureCount: number; procedures: sql.IRecordSet<any>; }>; getStoredProcedureInfo(params: z.infer<typeof GetStoredProcedureInfoSchema>): Promise<{ success: boolean; procedure: any; parameters: sql.IRecordSet<any>; }>; }