lokalise-mcp
Version:
The Lokalise MCP Server brings Lokalise's localization power to Claude and AI assistants—manage projects, keys, and translations by chat.
193 lines (192 loc) • 7.55 kB
TypeScript
/**
* Configuration Schema
* Strongly-typed configuration validation using Zod
*
* This schema defines all environment variables and configuration options
* used by the Lokalise MCP server, sourced from:
* - manifest.json (DXT package configuration)
* - .env and .env.example files
* - smithery.yaml (Smithery configuration)
* - Runtime environment variables
*/
import { z } from "zod";
/**
* Transport mode for the MCP server
*/
export declare const TransportModeSchema: z.ZodDefault<z.ZodEnum<["stdio", "http"]>>;
/**
* Node environment
*/
export declare const NodeEnvSchema: z.ZodOptional<z.ZodEnum<["development", "test", "production"]>>;
/**
* HTTP Query Configuration Schema
* Configuration that can be passed via HTTP query parameters (Smithery)
*/
export declare const HttpQueryConfigSchema: z.ZodObject<{
LOKALISE_API_KEY: z.ZodOptional<z.ZodString>;
LOKALISE_API_HOSTNAME: z.ZodOptional<z.ZodString>;
debug_mode: z.ZodOptional<z.ZodBoolean>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
LOKALISE_API_KEY: z.ZodOptional<z.ZodString>;
LOKALISE_API_HOSTNAME: z.ZodOptional<z.ZodString>;
debug_mode: z.ZodOptional<z.ZodBoolean>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
LOKALISE_API_KEY: z.ZodOptional<z.ZodString>;
LOKALISE_API_HOSTNAME: z.ZodOptional<z.ZodString>;
debug_mode: z.ZodOptional<z.ZodBoolean>;
}, z.ZodTypeAny, "passthrough">>;
/**
* Smithery Configuration Schema
* Configuration passed via base64-encoded config parameter from Smithery
*/
export declare const SmitheryConfigSchema: z.ZodObject<{
LOKALISE_API_KEY: z.ZodString;
LOKALISE_API_HOSTNAME: z.ZodDefault<z.ZodString>;
debug_mode: z.ZodDefault<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
LOKALISE_API_KEY: string;
LOKALISE_API_HOSTNAME: string;
debug_mode: boolean;
}, {
LOKALISE_API_KEY: string;
LOKALISE_API_HOSTNAME?: string | undefined;
debug_mode?: boolean | undefined;
}>;
/**
* MCP Initialization Configuration Schema
* Configuration passed during MCP client initialization
*/
export declare const McpInitConfigSchema: z.ZodObject<{
LOKALISE_API_KEY: z.ZodOptional<z.ZodString>;
LOKALISE_API_HOSTNAME: z.ZodOptional<z.ZodString>;
DEBUG: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString]>>;
debug_mode: z.ZodOptional<z.ZodBoolean>;
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
LOKALISE_API_KEY: z.ZodOptional<z.ZodString>;
LOKALISE_API_HOSTNAME: z.ZodOptional<z.ZodString>;
DEBUG: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString]>>;
debug_mode: z.ZodOptional<z.ZodBoolean>;
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
LOKALISE_API_KEY: z.ZodOptional<z.ZodString>;
LOKALISE_API_HOSTNAME: z.ZodOptional<z.ZodString>;
DEBUG: z.ZodOptional<z.ZodUnion<[z.ZodBoolean, z.ZodString]>>;
debug_mode: z.ZodOptional<z.ZodBoolean>;
}, z.ZodTypeAny, "passthrough">>;
/**
* Main Runtime Configuration Schema
* Complete configuration for the Lokalise MCP server
*/
export declare const RuntimeConfigSchema: z.ZodObject<{
LOKALISE_API_KEY: z.ZodString;
LOKALISE_API_HOSTNAME: z.ZodDefault<z.ZodString>;
TRANSPORT_MODE: z.ZodDefault<z.ZodEnum<["stdio", "http"]>>;
PORT: z.ZodDefault<z.ZodNumber>;
DEBUG: z.ZodDefault<z.ZodUnion<[z.ZodBoolean, z.ZodString]>>;
debug_mode: z.ZodDefault<z.ZodBoolean>;
NODE_ENV: z.ZodOptional<z.ZodEnum<["development", "test", "production"]>>;
MCP_SERVER_MODE: z.ZodDefault<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
DEBUG: string | boolean;
LOKALISE_API_KEY: string;
LOKALISE_API_HOSTNAME: string;
debug_mode: boolean;
TRANSPORT_MODE: "stdio" | "http";
PORT: number;
MCP_SERVER_MODE: boolean;
NODE_ENV?: "test" | "development" | "production" | undefined;
}, {
LOKALISE_API_KEY: string;
DEBUG?: string | boolean | undefined;
NODE_ENV?: "test" | "development" | "production" | undefined;
LOKALISE_API_HOSTNAME?: string | undefined;
debug_mode?: boolean | undefined;
TRANSPORT_MODE?: "stdio" | "http" | undefined;
PORT?: number | undefined;
MCP_SERVER_MODE?: boolean | undefined;
}>;
/**
* Partial configuration for updates
*/
export declare const PartialRuntimeConfigSchema: z.ZodObject<{
LOKALISE_API_KEY: z.ZodOptional<z.ZodString>;
LOKALISE_API_HOSTNAME: z.ZodOptional<z.ZodDefault<z.ZodString>>;
TRANSPORT_MODE: z.ZodOptional<z.ZodDefault<z.ZodEnum<["stdio", "http"]>>>;
PORT: z.ZodOptional<z.ZodDefault<z.ZodNumber>>;
DEBUG: z.ZodOptional<z.ZodDefault<z.ZodUnion<[z.ZodBoolean, z.ZodString]>>>;
debug_mode: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
NODE_ENV: z.ZodOptional<z.ZodOptional<z.ZodEnum<["development", "test", "production"]>>>;
MCP_SERVER_MODE: z.ZodOptional<z.ZodDefault<z.ZodBoolean>>;
}, "strip", z.ZodTypeAny, {
DEBUG?: string | boolean | undefined;
NODE_ENV?: "test" | "development" | "production" | undefined;
LOKALISE_API_KEY?: string | undefined;
LOKALISE_API_HOSTNAME?: string | undefined;
debug_mode?: boolean | undefined;
TRANSPORT_MODE?: "stdio" | "http" | undefined;
PORT?: number | undefined;
MCP_SERVER_MODE?: boolean | undefined;
}, {
DEBUG?: string | boolean | undefined;
NODE_ENV?: "test" | "development" | "production" | undefined;
LOKALISE_API_KEY?: string | undefined;
LOKALISE_API_HOSTNAME?: string | undefined;
debug_mode?: boolean | undefined;
TRANSPORT_MODE?: "stdio" | "http" | undefined;
PORT?: number | undefined;
MCP_SERVER_MODE?: boolean | undefined;
}>;
/**
* TypeScript types derived from schemas
*/
export type TransportMode = z.infer<typeof TransportModeSchema>;
export type NodeEnv = z.infer<typeof NodeEnvSchema>;
export type HttpQueryConfig = z.infer<typeof HttpQueryConfigSchema>;
export type SmitheryConfig = z.infer<typeof SmitheryConfigSchema>;
export type McpInitConfig = z.infer<typeof McpInitConfigSchema>;
export type RuntimeConfig = z.infer<typeof RuntimeConfigSchema>;
export type PartialRuntimeConfig = z.infer<typeof PartialRuntimeConfigSchema>;
/**
* Configuration validation functions
*/
/**
* Validate and parse runtime configuration
*/
export declare function validateRuntimeConfig(config: unknown): RuntimeConfig;
/**
* Safely parse runtime configuration (returns result object)
*/
export declare function safeValidateRuntimeConfig(config: unknown): z.SafeParseReturnType<{
LOKALISE_API_KEY: string;
DEBUG?: string | boolean | undefined;
NODE_ENV?: "test" | "development" | "production" | undefined;
LOKALISE_API_HOSTNAME?: string | undefined;
debug_mode?: boolean | undefined;
TRANSPORT_MODE?: "stdio" | "http" | undefined;
PORT?: number | undefined;
MCP_SERVER_MODE?: boolean | undefined;
}, {
DEBUG: string | boolean;
LOKALISE_API_KEY: string;
LOKALISE_API_HOSTNAME: string;
debug_mode: boolean;
TRANSPORT_MODE: "stdio" | "http";
PORT: number;
MCP_SERVER_MODE: boolean;
NODE_ENV?: "test" | "development" | "production" | undefined;
}>;
/**
* Validate HTTP query configuration
*/
export declare function validateHttpQueryConfig(config: unknown): HttpQueryConfig;
/**
* Validate Smithery configuration
*/
export declare function validateSmitheryConfig(config: unknown): SmitheryConfig;
/**
* Validate MCP initialization configuration
*/
export declare function validateMcpInitConfig(config: unknown): McpInitConfig;
/**
* Default configuration values
*/
export declare const DEFAULT_CONFIG: Partial<RuntimeConfig>;