UNPKG

lokalise-mcp

Version:

The Lokalise MCP Server brings Lokalise's localization power to Claude and AI assistants—manage projects, keys, and translations by chat.

137 lines (123 loc) • 3.65 kB
import { z } from "zod"; /** * Zod schema for the list system languages tool arguments. */ export const ListSystemLanguagesToolArgs = z .object({ limit: z .number() .optional() .describe("Number of languages to return (1-500, default: 100)"), page: z .number() .optional() .describe("Page number for pagination (default: 1)"), }) .strict(); /** * TypeScript type inferred from the ListSystemLanguagesToolArgs Zod schema. */ export type ListSystemLanguagesToolArgsType = z.infer< typeof ListSystemLanguagesToolArgs >; /** * Zod schema for the list project languages tool arguments. */ export const ListProjectLanguagesToolArgs = z .object({ projectId: z.string().describe("Project ID to list languages for"), includeProgress: z .boolean() .optional() .default(false) .describe("Include translation progress percentages for each language"), }) .strict(); /** * TypeScript type inferred from the ListProjectLanguagesToolArgs Zod schema. */ export type ListProjectLanguagesToolArgsType = z.infer< typeof ListProjectLanguagesToolArgs >; /** * Zod schema for the create language data. */ export const CreateLanguageDataSchema = z .object({ lang_iso: z.string().describe("Language ISO code (e.g., 'en', 'fr', 'de')"), custom_iso: z.string().optional().describe("Custom ISO code"), custom_name: z.string().optional().describe("Custom language name"), custom_plural_forms: z .array(z.string()) .optional() .describe("Custom plural forms"), }) .strict(); /** * Zod schema for the add project languages tool arguments. */ export const AddProjectLanguagesToolArgs = z .object({ projectId: z.string().describe("Project ID to add languages to"), languages: z .array(CreateLanguageDataSchema) .min(1) .max(100) .describe("Array of language objects to add (1-100 languages)"), }) .strict(); /** * TypeScript type inferred from the AddProjectLanguagesToolArgs Zod schema. */ export type AddProjectLanguagesToolArgsType = z.infer< typeof AddProjectLanguagesToolArgs >; /** * Zod schema for the get language tool arguments. */ export const GetLanguageToolArgs = z .object({ projectId: z.string().describe("Project ID containing the language"), languageId: z.number().describe("Language ID to get details for"), }) .strict(); /** * TypeScript type inferred from the GetLanguageToolArgs Zod schema. */ export type GetLanguageToolArgsType = z.infer<typeof GetLanguageToolArgs>; /** * Zod schema for the update language tool arguments. */ export const UpdateLanguageToolArgs = z .object({ projectId: z.string().describe("Project ID containing the language"), languageId: z.number().describe("Language ID to update"), languageData: z .object({ lang_iso: z.string().optional().describe("Updated language ISO code"), lang_name: z.string().optional().describe("Updated language name"), plural_forms: z .array(z.string()) .optional() .describe("Updated plural forms"), }) .describe("Language data to update"), }) .strict(); /** * TypeScript type inferred from the UpdateLanguageToolArgs Zod schema. */ export type UpdateLanguageToolArgsType = z.infer<typeof UpdateLanguageToolArgs>; /** * Zod schema for the remove language tool arguments. */ export const RemoveLanguageToolArgs = z .object({ projectId: z.string().describe("Project ID containing the language"), languageId: z.number().describe("Language ID to remove"), }) .strict(); /** * TypeScript type inferred from the RemoveLanguageToolArgs Zod schema. */ export type RemoveLanguageToolArgsType = z.infer<typeof RemoveLanguageToolArgs>;