mysql-query-mcp-server
Version:
MySQL Query MCP server for AI assistants - execute read-only MySQL queries from Cursor IDE, Windsurf, or Claude Desktop
64 lines (63 loc) • 1.9 kB
TypeScript
import { z } from 'zod';
import type { Tool } from '@modelcontextprotocol/sdk/types.js';
export declare const Environment: z.ZodEnum<["local", "development", "staging", "production"]>;
export type Environment = z.infer<typeof Environment>;
export interface DatabaseConfig {
host: string;
user: string;
password: string;
database: string;
ssl?: boolean;
port?: number;
connectionLimit?: number;
}
export declare const QueryParams: z.ZodObject<{
sql: z.ZodString;
environment: z.ZodEnum<["local", "development", "staging", "production"]>;
timeout: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
}, "strip", z.ZodTypeAny, {
sql: string;
environment: "local" | "development" | "staging" | "production";
timeout: number;
}, {
sql: string;
environment: "local" | "development" | "staging" | "production";
timeout?: number | undefined;
}>;
export type QueryParameters = z.infer<typeof QueryParams>;
export declare const InfoParams: z.ZodObject<{
environment: z.ZodEnum<["local", "development", "staging", "production"]>;
}, "strip", z.ZodTypeAny, {
environment: "local" | "development" | "staging" | "production";
}, {
environment: "local" | "development" | "staging" | "production";
}>;
export type InfoParameters = z.infer<typeof InfoParams>;
export interface QueryResult {
rows: unknown[];
fields: {
name: string;
type: string;
length: number;
}[];
executionTime: number;
rowCount: number;
}
export interface DatabaseInfo {
version: string;
status: string;
variables: Record<string, string>;
processlist: unknown[];
databases: string[];
}
export interface DatabaseError extends Error {
code?: string;
errno?: number;
sqlState?: string;
sqlMessage?: string;
}
export interface MySQLTools {
query: Tool;
info: Tool;
environments: Tool;
}