shiplocale-mcp

shiplocale-mcp

MCP server for ShipLocale that lets Claude read and edit localized App Store and Google Play metadata, including app copy, release notes, and screenshot texts, with optional push to live listings.

Category
访问服务器

README

shiplocale-mcp

MCP server for ShipLocale — lets Claude (or any MCP client) read and edit your localized App Store / Google Play metadata: app copy, release notes, IAP display names, screenshot texts, target languages, and — optionally, behind an elevated scope — push approved copy to the live store listing.

How it works

ShipLocale keeps two layers, and this server mirrors that split:

  1. Local drafts — metadata edited and AI-translated inside ShipLocale. Safe to let an agent modify freely; nothing reaches a real store.
  2. Store push — explicit, irreversible writes to App Store Connect / Google Play. Push tools are only registered when your key (and SHIPLOCALE_SCOPES) includes the push scope, so an agent with a read translate key physically cannot ship anything.

Setup

1. Mint an API key

API keys are an Indie/Pro plan feature. In the ShipLocale dashboard: Settings → API Keys → Create. Pick a label (e.g. "MCP — Claude") and scopes:

Scope Grants
read Read apps, metadata, releases, screenshot texts, target languages
translate Edit local drafts, trigger AI generation/translation
push Write to the live App Store / Google Play listing — add only if you want the agent able to ship

You'll get a clientId (slk_...) and a clientSecret (sls_..., shown once).

Recommended: mint a read translate key. Add push only when you explicitly want agentic store pushes.

2. Configure your MCP client

Requires Node.js 20+. No install step needed — npx fetches the package from npm.

Environment variables:

Variable Required Default Purpose
SHIPLOCALE_CLIENT_ID yes — API key client ID (slk_...)
SHIPLOCALE_CLIENT_SECRET yes — API key secret (sls_...)
SHIPLOCALE_SCOPES no read translate Space-separated scopes to request — must be a subset of what the key holds
SHIPLOCALE_API_URL no https://api.shiplocale.com Override for local development

Claude Code:

claude mcp add shiplocale \
  -e SHIPLOCALE_CLIENT_ID=slk_xxx \
  -e SHIPLOCALE_CLIENT_SECRET=sls_xxx \
  -- npx -y @shiplocale/shiplocale-mcp

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "shiplocale": {
      "command": "npx",
      "args": ["-y", "@shiplocale/shiplocale-mcp"],
      "env": {
        "SHIPLOCALE_CLIENT_ID": "slk_xxx",
        "SHIPLOCALE_CLIENT_SECRET": "sls_xxx"
      }
    }
  }
}

Auth is OAuth client-credentials against POST /connect/token; the server caches the 1-hour access token and re-fetches automatically on expiry or 401.

Tools

Read (read scope)

Tool Description
list_apps Apps in the portfolio
list_variants A/B listing variants for an app
get_app_metadata All draft fields × locales, with status (also IAP rows via iapProductId)
list_releases / get_release_notes Releases and their What's New in every locale
get_target_languages Target locales at account / app / IAP level
get_screenshot_texts Screenshot headlines/captions + translations per slot
get_character_limits Per-field hard character limits

Local drafts (translate scope — never touches the store)

Tool Description
update_app_copy Upsert base-language text for a field (incl. IAP display names)
update_localization Edit any localization row; approve: true marks it Approved
translate_field Async AI translation of a field into target locales
improve_copy AI rewrite for review — returns text, saves nothing
create_release / update_release_notes Create a release / set base What's New
generate_release_notes AI-draft What's New from commit log / bullets
translate_release_notes Async translation of What's New
update_target_languages Set target locales (account / app / IAP level)
update_screenshot_text / update_screenshot_translation Edit slot base text / override one translation
translate_screenshot_texts Async translation of all screenshot texts

Store push (push scope — irreversible, live listing)

Tool Description
list_store_versions / get_store_version_localizations Find an editable store version and read live copy
push_version_localization Write metadata to App Store Connect
list_store_iaps / get_store_iap_localizations / push_iap_localization Read/write live IAP listings
push_play_listing Write a Google Play listing (title/short/full description)
push_play_release_notes Push What's New for one locale to a Play track
push_screenshots Push all approved screenshot renders for a variant

Push tools require a connected store credential (credentialId from the dashboard's credential vault, except Play release notes, which resolve it server-side). Localizations generally must be Approved before a push picks them up.

Example prompts

  • "List my apps and show me which locales are missing a translated subtitle."
  • "Create release 2.4.0 from this commit log, generate the What's New, and translate it to all target languages."
  • "Shorten the German promotional text to fit the 170-char limit and approve it."
  • (with push) "Push the approved 2.4.0 release notes to the production track."

Development

npm install
npm run build
npm run dev        # tsc --watch
npm run typecheck

Point at a local backend with SHIPLOCALE_API_URL=https://localhost:7443 (or whatever the Aspire dashboard shows for the API).

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选