@bilims/mcp-sqlserver
Version:
MCP Server for Microsoft SQL Server with CRUD operations and data analysis capabilities
106 lines (105 loc) • 3.92 kB
TypeScript
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>;
}>;
}