We don't ship client libraries that go stale in six languages. A two-line curl in your build script has no dependency to update, and the MCP server lets an agent work with your strings directly.
Create a key in settings, pick read or write, and pin it to an organisation, a platform or a single project. Rotate without downtime; every key shows its last use.
Authorization: Bearer llp_live_8f2c… # scope: read · project kestrel-ios-nordbank Base URL https://api.locoloop.dev/v1 Rate 600 req/min · 429 with Retry-After Caching ETag + If-None-Match on all exports
curl -sfL -o de.xcstrings \ -H "Authorization: Bearer $LOCOLOOP_KEY" \ "$API/projects/kestrel-ios-nordbank/export?\ locale=de-DE&format=xcstrings&state=approved" → 200 · 4,182 keys · 41 KB · etag W/"c8f1" → 304 if nothing changed since your last build
POST /v1/projects/kestrel-ios-default/keys { "name": "wallet.limit.warn", "source": "Daily limit reached", "context": "Banner when the cap is hit", "tags": ["wallet", "errors"], "translate": true } → 201 · queued for 8 locales · propagated to 2 variants
Add locoloop to Claude, Cursor or any MCP client. The agent can look up what a key means, propose translations, or check a term against the glossary — all scoped to the API key's permissions, so it can't reach a project you didn't grant.
{ "mcpServers": {
"locoloop": {
"url": "https://mcp.locoloop.dev",
"headers": {
"Authorization": "Bearer llp_live_…"
} } } }
“Which strings in the Nordbank variant still say Wallet instead of Konto?” — the agent calls diff_variant and search_glossary, then proposes the fixes for a human to approve.
Signed with HMAC-SHA256, retried with backoff for 24 hours, replayable from the dashboard.