shiplocale-mcp
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| SHIPLOCALE_SCOPES | No | Space-separated scopes to request — must be a subset of what the key holds | read translate |
| SHIPLOCALE_API_URL | No | Override for local development | https://api.shiplocale.com |
| SHIPLOCALE_CLIENT_ID | Yes | API key client ID (slk_...) | |
| SHIPLOCALE_CLIENT_SECRET | Yes | API key secret (sls_...) |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ShipLocale/shiplocale-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server