ShadowTMS lets your AI agent translate structured content and write it back without breaking the document.

It works in Claude Code, Claude Desktop and ChatGPT, with the documents your agent can already read: Google Docs and Sheets, Notion, Contentful and local files.

The service stores hashes, never your text.

The hosted service keeps hashes, identifiers and your sign-in email. It never stores your source text, your translations, your instructions or your glossaries. A server setting locks this; it is not a promise that depends on an operator.

Read the privacy statement

How it works

  1. The plugin reads your source. It reads the document through a connector in your harness and marks the text to translate, the inline codes and the placeholders.
  2. The plugin sends the source and your model's translations to ShadowTMS. The service checks inline codes, placeholders and ICU plural forms, and tells the plugin what to fix. It records only hashes.
  3. The plugin writes the checked translations back. It saves them in your target documents and reports the result. On the next run, the hashes tell the plugin which text changed, so your model translates only that text.

Connect

Hosted endpoint:

https://mcp.shadowtms.ai/mcp

You sign in inside your harness. The first time you connect, your harness opens a sign-in page. You need no access code and no API key.

Claude Code To be verified

  1. In a terminal, run:
    claude mcp add --transport http shadowtms https://mcp.shadowtms.ai/mcp
  2. Start Claude Code, type /mcp, select shadowtms and sign in in your browser.
  3. Ask Claude to translate a document, for example: "Translate docs/getting-started.md into German and French."

Claude Desktop To be verified

  1. Open Settings, then Connectors.
  2. Select Add custom connector. Enter the name ShadowTMS and the hosted endpoint URL.
  3. Select Connect and sign in in the window that opens.
  4. In a new chat, turn on the ShadowTMS connector and ask for a translation.

ChatGPT To be verified

  1. Open Settings, then Apps & Connectors, then Advanced settings, and turn on Developer mode.
  2. In Apps & Connectors, select Create. Enter the name ShadowTMS, the hosted endpoint URL, and OAuth as the authentication.
  3. Sign in in the window that opens.
  4. In a new chat, add ShadowTMS from the tools menu and ask for a translation.

"To be verified" means that we have not yet completed the sign-in check for this harness against the hosted service. The menu names in a harness can change.

Self-host

ShadowTMS is open source under the Apache License 2.0. You can run it on your own machine with SQLite, or on Cloud Run with Firestore, with your own identity provider.

Read the hosting guide