UNPKG

@kpritam/gremlin-mcp

Version:

A Gremlin MCP server that allows for fetching status, schema, and querying using Gremlin for any Gremlin-compatible graph database (TypeScript implementation).

103 lines 4.58 kB
/** * Configuration module for Gremlin MCP Server. */ import { z } from 'zod'; /** * Comprehensive configuration schema with flattened structure. * Validates environment variables and transforms them into a clean config object. */ declare const configSchema: z.ZodEffects<z.ZodObject<{ GREMLIN_ENDPOINT: z.ZodString; GREMLIN_USE_SSL: z.ZodEffects<z.ZodDefault<z.ZodString>, boolean, string | undefined>; GREMLIN_USERNAME: z.ZodOptional<z.ZodString>; GREMLIN_PASSWORD: z.ZodOptional<z.ZodString>; LOG_LEVEL: z.ZodDefault<z.ZodEnum<["error", "warn", "info", "debug"]>>; GREMLIN_IDLE_TIMEOUT: z.ZodEffects<z.ZodDefault<z.ZodString>, number, string | undefined>; GREMLIN_ENUM_DISCOVERY_ENABLED: z.ZodEffects<z.ZodDefault<z.ZodString>, boolean, string | undefined>; GREMLIN_ENUM_CARDINALITY_THRESHOLD: z.ZodEffects<z.ZodDefault<z.ZodString>, number, string | undefined>; GREMLIN_ENUM_PROPERTY_BLACKLIST: z.ZodEffects<z.ZodDefault<z.ZodString>, string[], string | undefined>; GREMLIN_SCHEMA_INCLUDE_SAMPLE_VALUES: z.ZodEffects<z.ZodDefault<z.ZodString>, boolean, string | undefined>; GREMLIN_SCHEMA_MAX_ENUM_VALUES: z.ZodEffects<z.ZodDefault<z.ZodString>, number, string | undefined>; GREMLIN_SCHEMA_INCLUDE_COUNTS: z.ZodEffects<z.ZodDefault<z.ZodString>, boolean, string | undefined>; }, "strip", z.ZodTypeAny, { GREMLIN_ENDPOINT: string; GREMLIN_USE_SSL: boolean; LOG_LEVEL: "info" | "error" | "warn" | "debug"; GREMLIN_IDLE_TIMEOUT: number; GREMLIN_ENUM_DISCOVERY_ENABLED: boolean; GREMLIN_ENUM_CARDINALITY_THRESHOLD: number; GREMLIN_ENUM_PROPERTY_BLACKLIST: string[]; GREMLIN_SCHEMA_INCLUDE_SAMPLE_VALUES: boolean; GREMLIN_SCHEMA_MAX_ENUM_VALUES: number; GREMLIN_SCHEMA_INCLUDE_COUNTS: boolean; GREMLIN_USERNAME?: string | undefined; GREMLIN_PASSWORD?: string | undefined; }, { GREMLIN_ENDPOINT: string; GREMLIN_USE_SSL?: string | undefined; GREMLIN_USERNAME?: string | undefined; GREMLIN_PASSWORD?: string | undefined; LOG_LEVEL?: "info" | "error" | "warn" | "debug" | undefined; GREMLIN_IDLE_TIMEOUT?: string | undefined; GREMLIN_ENUM_DISCOVERY_ENABLED?: string | undefined; GREMLIN_ENUM_CARDINALITY_THRESHOLD?: string | undefined; GREMLIN_ENUM_PROPERTY_BLACKLIST?: string | undefined; GREMLIN_SCHEMA_INCLUDE_SAMPLE_VALUES?: string | undefined; GREMLIN_SCHEMA_MAX_ENUM_VALUES?: string | undefined; GREMLIN_SCHEMA_INCLUDE_COUNTS?: string | undefined; }>, { gremlinHost: string; gremlinPort: number; gremlinTraversalSource: string; gremlinUseSSL: boolean; gremlinUsername: string | undefined; gremlinPassword: string | undefined; gremlinIdleTimeout: number; gremlinEnumDiscoveryEnabled: boolean; gremlinEnumCardinalityThreshold: number; gremlinEnumPropertyBlacklist: string[]; gremlinSchemaIncludeSampleValues: boolean; gremlinSchemaMaxEnumValues: number; gremlinSchemaIncludeCounts: boolean; serverName: "gremlin-mcp"; serverVersion: "0.0.3"; logLevel: "info" | "error" | "warn" | "debug"; }, { GREMLIN_ENDPOINT: string; GREMLIN_USE_SSL?: string | undefined; GREMLIN_USERNAME?: string | undefined; GREMLIN_PASSWORD?: string | undefined; LOG_LEVEL?: "info" | "error" | "warn" | "debug" | undefined; GREMLIN_IDLE_TIMEOUT?: string | undefined; GREMLIN_ENUM_DISCOVERY_ENABLED?: string | undefined; GREMLIN_ENUM_CARDINALITY_THRESHOLD?: string | undefined; GREMLIN_ENUM_PROPERTY_BLACKLIST?: string | undefined; GREMLIN_SCHEMA_INCLUDE_SAMPLE_VALUES?: string | undefined; GREMLIN_SCHEMA_MAX_ENUM_VALUES?: string | undefined; GREMLIN_SCHEMA_INCLUDE_COUNTS?: string | undefined; }>; export type Config = z.infer<typeof configSchema>; /** * Validated and transformed configuration object. * Parsed once during module initialization for efficiency. */ export declare const config: { gremlinHost: string; gremlinPort: number; gremlinTraversalSource: string; gremlinUseSSL: boolean; gremlinUsername: string | undefined; gremlinPassword: string | undefined; gremlinIdleTimeout: number; gremlinEnumDiscoveryEnabled: boolean; gremlinEnumCardinalityThreshold: number; gremlinEnumPropertyBlacklist: string[]; gremlinSchemaIncludeSampleValues: boolean; gremlinSchemaMaxEnumValues: number; gremlinSchemaIncludeCounts: boolean; serverName: "gremlin-mcp"; serverVersion: "0.0.3"; logLevel: "info" | "error" | "warn" | "debug"; }; export {}; //# sourceMappingURL=config.d.ts.map