Keystring runs a hosted MCP server. Point Claude Code, Cursor, or any MCP client at it with an API key, and your agent can read and write translations directly, no clicking through the editor.
Get started freeNothing ships inside your app, and no runtime depends on us. An agent simply drives the same file-based, API-key-scoped workflow a human already uses.
No code in your app
The server is hosted. Your bundle, your build, and your runtime stay exactly as they are.
Same workflow, no shortcut
Agents work on the same files, keys, and languages you edit by hand. Nothing hidden, nothing parallel.
Scoped to an API key
A key sees only the organizations and projects its owner can already reach. Revoke it and access ends.
No delete tools
There is no tool to delete a key, a file, or a project. Destructive actions stay human-only, by design.
Your files stay standard
Import and export plain JSON. Whatever an agent writes, you can export and diff like any other file.
Any MCP client
Claude Code, Cursor, or anything speaking MCP over HTTP with a Bearer header.
The full surface an agent gets. Reading, creating, and updating, but deleting keys, files, or projects is deliberately absent.
list_projects
List every Keystring organization and project available to the authenticated user.
get_project
Get project metadata, configured languages and files, plan usage, and translation completion.
list_keys
List and filter project translation keys with stable pagination.
get_translations
Get all configured language values for up to 200 requested project keys.
create_keys
Create up to 100 project keys, optionally assigning files and initial translations.
set_translations
Set project translation values in a partial-success batch, including empty values.
import_file
Import one JSON object for a configured project language, flattening nested keys.
export_file
Export flat dot-notation values for one configured project language and optional file.
Inside the app, open the user menu → Account → API keys and create a key. The ks_… token is shown once, so copy it immediately.
Any MCP client can talk to POST keystring.dev/api/mcp with the key as a Bearer header. No new environment variables are needed.
Claude Code
claude mcp add --transport http keystring https://keystring.dev/api/mcp \
--header "Authorization: Bearer ks_..."Generic mcp.json-style config
{
"mcpServers": {
"keystring": {
"type": "http",
"url": "https://keystring.dev/api/mcp",
"headers": { "Authorization": "Bearer ks_..." }
}
}
}Create an account, generate a key, and your MCP client is connected in a minute.
Connect your agent