MCP Server for SimpleLocalize

by simplelocalize

319 downloads
Not rated
GitHub

About

Interact with the SimpleLocalize API using AI assistants like Github Copilot, Claude, or in AI-powered IDEs like Cursor AI.

Details

Author
simplelocalize
Downloads
319
Categories
Developer Tools, AI

- Create translation keys
- Update translations
- Get all translation keys and their details
- Manage tags (get and create)
- Manage languages (get and create)

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name MCP Server for SimpleLocalize
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

Install using npx -y @simplelocalize/simplelocalize-mcp --api-key=SIMPLELOCALIZE_API_KEY. Configure your MCP client (e.g., Claude Desktop) by adding the provided JSON configuration to your MCP config, replacing SIMPLELOCALIZE_API_KEY with your actual API key.

create_translation_key_bulk

This tool will create multiple translation keys in your SimpleLocalize project in bulk. - Provide an array of translation key objects (max 100). - Each object must include 'key' and can include 'namespace', 'description', 'codeDescription', 'tags', and 'charactersLimit'. - It doesn't throw an error if translation key already exists, but it returns a list of failures.

update_translations_bulk

This tool will update multiple translations in bulk in your SimpleLocalize project. - Provide an array of translation objects (max 100). - Each object must include 'key', 'language', and 'text'. - Optionally include 'namespace', 'customerId', and 'reviewStatus'. - Use this for efficient mass updates.

get_all_translation_keys

This tool will return all translation keys (key and namespace only) in your SimpleLocalize project. - No parameters required. - Use this to quickly fetch all keys for reference or validation.

get_translation_key_details

This tool will return details for a specific translation key in your SimpleLocalize project. - Provide 'key' (required) and optionally 'namespace'. - Returns metadata such as description, codeDescription, tags, and charactersLimit.

get_tags

This tool will list all tags in your SimpleLocalize project. - No parameters required. - Use this to see available tags for categorizing translation keys.

create_tag

This tool will create a new tag in your SimpleLocalize project. - Provide a unique 'name' and a 'color' in hex format (e.g. 6e56ce). - Tags help organize and filter translation keys.

get_languages

This tool will list all languages configured in your SimpleLocalize project. - No parameters required. - Use this to see available languages for translations.

create_language

This tool will create a new language in your SimpleLocalize project. - 'key' is required and must be a valid language key (e.g. en, pl_PL). - 'name' is optional and can be used to provide a display name for the language.

get_translations

This tool will list translations in your SimpleLocalize project. - You can filter by key, namespace, language, text, customerId, reviewStatus, and more. - Supports pagination with 'page' and 'size'. - Supports sort with 'sortBy' and 'sortOrder'. - Use 'text' to search for translations containing a specific value (min 3 characters).

update_translation_key

This tool will update a translation key (metadata and/or key/namespace) in your SimpleLocalize project. - Provide the existing 'key' and optionally 'namespace' to identify the translation key. - Provide optional fields to update: newKey, newNamespace, description, codeDescription, tags, charactersLimit, lock, deprecated. - Use this to rename keys, move keys between namespaces, or update key metadata.

delete_translation_keys_bulk

This tool will delete translation keys in bulk in your SimpleLocalize project. - Provide 'translationKeys' array (min 1, max 100) with 'key' and optional 'namespace'. - It doesn't throw an error if a key doesn't exist, but returns failures list (if any). - Use this to clean up unused keys efficiently.

get_environments

This tool will list all Translation Hosting environments available in your SimpleLocalize project. - No parameters required. - Returns environments including built-in ones like _latest and _production (if available) and any custom environments.

get_environment_details

This tool will retrieve hosting status/details for a specific environment in your SimpleLocalize project. - Provide 'environmentKey' (required), e.g. _latest, _production or your custom environment key. - Use this to verify whether a given environment is available and check its hosting status.

publish_translations

This tool will publish translations to the specified environment in your SimpleLocalize project. - If no environment is specified by the user, then _latest environment should be used as 'environmentKey'. - Optionally provide 'labels' (array of strings). Labels can be specified only for the _latest environment. - Translations are always published in order that they were specified in the Translation Hosting environments list.

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "mcp server for simplelocalize": {
            "simplelocalize": {
                "type": "stdio",
                "command": "npx",
                "args": [
                    "-y",
                    "@simplelocalize/simplelocalize-mcp",
                    "--api-key=SIMPLELOCALIZE_API_KEY"
                ]
            }
        }
    }
}

McpServers

{
    "simplelocalize": {
        "type": "stdio",
        "command": "npx",
        "args": [
            "-y",
            "@simplelocalize/simplelocalize-mcp",
            "--api-key=SIMPLELOCALIZE_API_KEY"
        ]
    }
}

MCP Server for SimpleLocalize

SimpleLocalize is the developer-first translation management system.

This is a Model Context Protocol (MCP) server that provides tools for interacting with the SimpleLocalize API.

Features (Tools)

- Create translation key
- Update translations
- Get all translation keys
- Get translation key details
- Get tags
- Create tag
- Get languages
- Create languages
- Get translations

Feel free to add more tools by making a pull request or creating a feature request.

Installation

To use the MCP server, you'll need an API key. You can create and manage API keys in SimpleLocalize > Settings > Credentials:

To run the server in a client like Claude Desktop, Cursor or Windsurf, add the following to your MCP config:

{
  "mcpServers": {
    "simplelocalize": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "@simplelocalize/simplelocalize-mcp", "--api-key=SIMPLELOCALIZE_API_KEY"]
    }
  }
}

Replace SIMPLELOCALIZE_API_KEY with your API key

For detailed setup guides, see:

- Cursor AI
- Visual Studio Code
- GitHub Copilot
- Claude Desktop
- Windsurf

Development

1. Install dependencies:

   pnpm install
   

2. Build the server:

   pnpm build
   

3. Update client to use the local build:

   {
"mcpServers": {
"simplelocalize": {
"command": "node",
"args": ["path/to/simplelocalize-mcp-server/build/index.js"],
"env": {
"SIMPLELOCALIZE_API_KEY": "your_api_key",
}
}
}
}

Debugging

To debug the MCP server, you can use the MCP Inspector tool:

1. Run the server with the inspector:

   pnpm inspector
   

2. Open the provided URL in your browser to view and debug the MCP requests and responses.

3. Include the --api-key argument.

Learn more

- SimpleLocalize developer docs
- SimpleLocalize API reference
- Sign up for SimpleLocalize

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.