Skip to main content
Glama
ShipLocale

shiplocale-mcp

Official
by ShipLocale

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
SHIPLOCALE_SCOPESNoSpace-separated scopes to request — must be a subset of what the key holdsread translate
SHIPLOCALE_API_URLNoOverride for local developmenthttps://api.shiplocale.com
SHIPLOCALE_CLIENT_IDYesAPI key client ID (slk_...)
SHIPLOCALE_CLIENT_SECRETYesAPI key secret (sls_...)

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_appsA

List all apps in the ShipLocale portfolio, with their store (AppStore/GooglePlay), bundle ID, and base language.

list_variantsA

List A/B listing variants for an app. Most metadata tools accept an optional variantId; omitting it targets the production variant.

get_app_metadata

Get all local-draft metadata localizations for an app: every field (Title, Subtitle, Keywords, Description, PromotionalText, ...) in every locale, with status (Draft/Translated/Approved/Pushed/Failed). Pass iapProductId to read one IAP's display-name rows instead.

list_releasesA

List an app's releases (versions) and their What's New drafting state.

get_release_notes

Get the What's New text of a release in every locale, with per-locale status.

get_target_languagesA

Get target translation locales. Three levels, each overridable: account default (no args), app level (appId), or IAP level (appId + productId).

get_screenshot_textsA

Get all screenshot headline/caption base texts and their translations, per slot.

get_character_limitsA

Get ShipLocale's hard character limits per metadata field, plus soft guidance for screenshot headlines/captions. Check these before writing copy.

update_app_copyA

Upsert the base-language text of one metadata field in ShipLocale's local draft. Does NOT touch the live store listing. Respect get_character_limits. Pass iapProductId to set an IAP display name.

update_localizationA

Edit a specific localization row (base or translated text) by its ID from get_app_metadata / get_release_notes. Set approve:true to mark it Approved — pushes only pick up Approved rows.

translate_fieldA

Start an async AI translation job for one metadata field into target locales. Results are cached; set force:true to re-translate unchanged copy. Counts against daily translation caps.

improve_copyA

Ask ShipLocale's AI to rewrite copy for a field (e.g. shorten, punch up). Returns the improved text for review — it does NOT save anything; follow up with update_app_copy to apply it.

create_releaseA

Create a release for a version. Optionally include sourceNotes (commit log or bullet points) that generate_release_notes will turn into polished What's New copy.

update_release_notes

Upsert the base-language What's New text for a release directly.

generate_release_notesA

Generate polished base-language What's New copy from the release's sourceNotes (commit log / bullets). Counts against monthly generation caps.

translate_release_notesA

Start an async job translating a release's What's New into the app's target locales.

update_target_languagesA

Set target translation locales at account level (no appId), app level (appId), or IAP level (appId + productId). App-level changes propagate to same-bundle-ID sibling store rows.

update_screenshot_textB

Set the base-language headline or caption for a screenshot slot. Guidance: headline ≤ 30 chars, caption ≤ 60 (hard cap 200).

update_screenshot_translationA

Manually set one locale's translation of a screenshot headline/caption. Pass an empty string to delete the override so AI can re-translate it.

translate_screenshot_textsC

Start an async job translating all screenshot headlines/captions into the given locales.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 17 tools

Disambiguation4/5

Most tools map to distinct resource-action pairs: list/get/update/translate/improve/generate all have clear targets. The only mild ambiguity is between update_app_copy and update_localization, which both edit copy but at different levels (field-level upsert vs row-level localization edit); descriptions mostly resolve this.

Naming Consistency5/5

All tools use a consistent snake_case verb_noun pattern: list_ for enumerating entities, get_ for retrieving data, update_ for edits, translate_ for translation jobs, plus create_release, generate_release_notes, and improve_copy. There are no mixed casing or naming style deviations.

Tool Count4/5

17 tools is slightly above the typical 3-15 range, but the server covers a broad localization domain: apps, variants, releases, screenshots, target language config, metadata editing, and translation jobs. Each tool appears purposeful with no obvious duplicates, so the count is reasonable for the scope.

Completeness2/5

There are significant gaps: update_localization references get_app_metadata and get_release_notes, but neither tool is exposed, so agents cannot obtain row IDs for localization updates. The server also lacks a way to read generated release notes content beyond drafting state, creating dead ends in the core workflow.

Maintenance

ActivitySlowing
ResponsivenessNo issues