search_keyLABSCO SUMMARY
The distinction between "missing" and "registered but empty" is the one that saves you.
search_key returns registered-but-untranslated keys as empty strings on purpose, because the natural mistake is to see no translation and create the key again — which the create tool then refuses. Publishing stays on CopyTuner's side: these tools write drafts, and a translation already published cannot be overwritten through them.
What it is
A Ruby gem that runs as an MCP server over CopyTuner, a translation-management service for Rails internationalisation. It exposes key search, translation search, key creation and updates, and the locales a project uses.
What you get
- search_key — find translation keys, tuned for the keys used in Rails translation calls; it also returns keys that are registered but still untranslated, so you know to update rather than create
- search_translations — find keys by their translated text, across keys that already have translations
- create_i18n_key — register a new key with translations for several locales at once, refusing keys that already exist and returning validation errors immediately
- update_i18n_key — update the draft translations of an existing key across locales, for translations that are not yet published
- get_locales — the locales the project actually uses
- get_edit_url — a link to the editing screen for a registered key
- A resource template for reading an individual translation directly
Requirements
A Rails application with the CopyTuner client already configured — the project identifier, API key and locale list come from that existing setup. Ruby, with the gem added to your development group; your editor starts the server through the project's bundle.
Setup effort
Build from source — get the source, then follow the project's own run instructions
USE CASES
Finding the key behind a piece of interface text
Search by the translated text rather than guessing the key name.
Checking whether a key exists before adding it
Search for it; a result with an empty translation means update, not create.
Adding a new string in every locale at once
Register the key with all its translations in one call and read the validation errors back immediately.
Handing a translation to a human
Produce the link to the editing screen for the key rather than describing where to find it.
6 tools
Listed in project docs. Your client may show a different list.
search_translationscreate_i18n_keyupdate_i18n_keyget_localesget_edit_urlBEFORE YOU INSTALL
What to know first
Tools you get
6 tools named in the project's documentation.
Requires
bundle on PATH; Rails i18n
Where it runs
Both documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
bundle exec copy-tuner-mcpMCP Clients
Claude Code
{
"mcpServers": {
"copy-tuner": {
"command": "bundle",
"args": [
"exec",
"copy-tuner-mcp"
]
}
}
}VS Code
{
"servers": {
"copy-tuner": {
"type": "stdio",
"command": "bundle",
"args": [
"exec",
"copy-tuner-mcp"
],
"cwd": "${workspaceFolder}"
}
}
}