lokalise-mcp
Version:
The Lokalise MCP Server brings Lokalise's localization power to Claude and AI assistants—manage projects, keys, and translations by chat.
142 lines (141 loc) • 5.32 kB
TypeScript
import type { BulkResult, CursorPaginatedResult, Key, KeyDeleted, KeysBulkDeleted, SupportedPlatforms } from "@lokalise/node-api";
import type { ApiRequestOptions } from "../../shared/types/common.types.js";
/**
* @namespace VendorLokaliseKeysService
* @description Service layer for interacting with Lokalise Keys API endpoints.
* Uses the official Lokalise SDK for reliable API communication.
*/
/**
* Parameters for listing keys in a project
*/
export interface KeyListParams extends ApiRequestOptions {
project_id: string;
include_translations?: boolean;
filter_keys?: string[];
filter_platforms?: string[];
filter_tags?: string[];
pagination?: "offset" | "cursor";
cursor?: string;
}
/**
* Parameters for creating keys in a project
*/
export interface CreateKeysParams {
project_id: string;
keys: Array<{
key_name: string;
description?: string;
platforms: SupportedPlatforms[];
translations?: Array<{
language_iso: string;
translation: string;
}>;
tags?: string[];
}>;
}
/**
* Parameters for getting a single key
*/
export interface GetKeyParams {
project_id: string;
key_id: number;
}
/**
* Parameters for updating a key
*/
export interface UpdateKeyParams {
project_id: string;
key_id: number;
description?: string;
platforms?: SupportedPlatforms[];
tags?: string[];
}
/**
* Parameters for deleting a key
*/
export interface DeleteKeyParams {
project_id: string;
key_id: number;
}
/**
* Parameters for bulk updating keys
*/
export interface BulkUpdateKeysParams {
project_id: string;
keys: Array<{
key_id: number;
description?: string;
platforms?: SupportedPlatforms[];
tags?: string[];
}>;
}
/**
* Parameters for bulk deleting keys
*/
export interface BulkDeleteKeysParams {
project_id: string;
key_ids: number[];
}
/**
* @function getKeys
* @description Fetches a list of keys from a Lokalise project with optional filtering and pagination.
* @memberof VendorLokaliseKeysService
* @param {CursorPaginatedResult} options - Parameters including project ID, filters, and pagination options
* @returns {Promise<CursorPaginatedResult<Key>>} A promise that resolves to the API response containing the keys list
* @throws {McpError} Throws an McpError with details if the API call fails
*/
export declare function getKeys(options: KeyListParams): Promise<CursorPaginatedResult<Key>>;
/**
* @function createKeys
* @description Creates multiple keys in a Lokalise project
* @memberof VendorLokaliseKeysService
* @param {CreateKeysParams} options - Parameters including project ID and keys data
* @returns {Promise<BulkResult<Key>>} A promise that resolves to the API response containing created keys
* @throws {McpError} Throws an McpError with details if the API call fails
*/
export declare function createKeys(options: CreateKeysParams): Promise<BulkResult<Key>>;
/**
* @function getKey
* @description Fetches a single key from a Lokalise project
* @memberof VendorLokaliseKeysService
* @param {GetKeyParams} options - Parameters including project ID and key ID
* @returns {Promise<LokaliseKey>} A promise that resolves to the key data
* @throws {McpError} Throws an McpError with details if the API call fails
*/
export declare function getKey(options: GetKeyParams): Promise<Key>;
/**
* @function updateKey
* @description Updates a single key in a Lokalise project
* @memberof VendorLokaliseKeysService
* @param {UpdateKeyParams} options - Parameters including project ID, key ID and update data
* @returns {Promise<LokaliseKey>} A promise that resolves to the updated key data
* @throws {McpError} Throws an McpError with details if the API call fails
*/
export declare function updateKey(options: UpdateKeyParams): Promise<Key>;
/**
* @function deleteKey
* @description Deletes a single key from a Lokalise project
* @memberof VendorLokaliseKeysService
* @param {DeleteKeyParams} options - Parameters including project ID and key ID
* @returns {Promise<KeysBulkDeleted>} A promise that resolves to the deletion confirmation
* @throws {McpError} Throws an McpError with details if the API call fails
*/
export declare function deleteKey(options: DeleteKeyParams): Promise<KeyDeleted>;
/**
* @function bulkUpdateKeys
* @description Updates multiple keys in a Lokalise project
* @memberof VendorLokaliseKeysService
* @param {BulkUpdateKeysParams} options - Parameters including project ID and keys update data
* @returns {Promise<any>} A promise that resolves to the bulk update results
* @throws {McpError} Throws an McpError with details if the API call fails
*/
export declare function bulkUpdateKeys(options: BulkUpdateKeysParams): Promise<BulkResult<Key>>;
/**
* @function bulkDeleteKeys
* @description Deletes multiple keys from a Lokalise project
* @memberof VendorLokaliseKeysService
* @param {BulkDeleteKeysParams} options - Parameters including project ID and key IDs
* @returns {Promise<any>} A promise that resolves to the bulk deletion results
* @throws {McpError} Throws an McpError with details if the API call fails
*/
export declare function bulkDeleteKeys(options: BulkDeleteKeysParams): Promise<KeysBulkDeleted>;