Docker intelligence →
Association is based on retained identity fields; it does not by itself prove first-party publication.
A Docker-based MCP server wrapping the Smartling CLI, enabling natural language management of translation projects, files, and glossaries
Detailed security scan evidence is not public for this MCP yet. Public identity, registry metadata, and independently observed protocol inventory remain available.
Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.
No verified installation or connection method is available in the retained evidence yet.
| Canonical slug | smartling-mcp-docker-6c86f378 | Deployment | Hybrid |
|---|---|---|---|
| Canonical package | — | Repository | Smartling/smartling-cli-mcp |
| First published | — | Latest release | — |
| Last security verification | — | Classification confidence | 35% |
| Publication | Draft | Official distribution | Yes |
| Channel | Identifier | Current version | Versions | Source |
|---|---|---|---|---|
| source_git | smartling/smartling-cli-mcp | b748c012e2d15679badbde0b1463523ec6f0c2a7 | 1 | Repository |
| Package | Version | Published / observed | Inventory | Security scan |
|---|---|---|---|---|
| source_gitsmartling/smartling-cli-mcp | b748c012e2d15679badbde0b1463523ec6f0c2a7Current | Aug 25, 2026 | 3 toolsSucceeded · 0 resources · 0 prompts | Evidence restricted |
Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.
No public current-version evidence is available yet.
| Tool | Category | Annotations | Risk |
|---|---|---|---|
smartling-catPrint the contents of a file inside /smartling to the conversation. Use this to read source files before uploading or to inspect downloaded translations.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"path": {
"type": "string",
"description": "File path to read, must be within /smartling, e.g. /smartling/en/strings.json"
}
},
"required": [
"path"
]
} | — | — | |
smartling-cliRun any smartling-cli command. Pass arguments as a single string exactly as you would on the command line.
Run --help on any command or subcommand to see all available options, e.g. "files push --help" or "mt translate --help".
FILE URI CONVENTION
User files are mounted at /smartling inside the container.
When pushing a file, ALWAYS specify an explicit <uri> argument that strips the /smartling prefix.
This ensures the file URI stored in Smartling is a clean relative path (e.g. "en/strings.json"),
not an absolute container path (e.g. "/smartling/en/strings.json").
Failing to do so causes double-path issues on download: pulled files would land at
/smartling/smartling/... instead of /smartling/...
When pulling files, ALWAYS pass --directory /smartling so translated files are written
back into the mounted directory at the correct path.
Correct push: files push /smartling/en/strings.json en/strings.json
Wrong push: files push /smartling/en/strings.json ← URI becomes /smartling/en/strings.json
Correct pull: files pull '**.json' -l es-ES --directory /smartling
Wrong pull: files pull '**.json' -l es-ES ← files land in /app, not /smartling
GLOBAL FLAGS (supported by all commands)
-a, --account <account-id> Override account ID
-p, --project <project-id> Override project ID
ACCOUNT ID
Most commands require an account ID. Set the SMARTLING_ACCOUNT_ID environment variable
in the Docker config to inject it automatically. If not set, pass -a <account-id> explicitly.
Note: SMARTLING_ACCOUNT_ID is not natively supported by the CLI — this MCP server injects
it as a -a flag automatically when the env var is present.
PROJECTS
projects list Display all projects in the account (fields: ID, ACCOUNT, NAME, LOCALE, STATUS)
projects info Show details about the current project
projects locales Display all target project locales with descriptions
-s, --short Show locale IDs only
--source Display only the source locale
--format '<go-template>' Custom output format, e.g. --format='{{if .Enabled}}{{.LocaleID}}{{end}}
'
FILES
files list ['<mask>'] List files in project
--short Show URIs only
--format '<go-template>' Custom output format
files push <file> [<uri>] Upload a file
--type <type> Override file type detection (e.g. json, plaintext)
--directive <directive> Set file-level directive
-b, --branch <prefix> Add branch prefix to URI; use @auto to detect git branch
files pull ['<mask>'] Download translated files
--source Download source file only
-l <locale> Target locale (repeatable: -l es-ES -l fr-FR)
files delete ['<mask>'] Delete files (also accepts piped URIs via -)
files rename <old-uri> <new-uri> Rename a file URI in the project
files status Show translation progress for all files
MT (Machine Translation)
mt detect '<mask>' Detect source language of files
-s, --short Output locale code only
--type <type> Override file type detection
--input-directory <dir> Source directory for input files
--output table|json Output format
mt translate '<mask>' Machine translate files to target locale(s)
-l, --target-locale <locale> Target locale (repeatable: -l es-ES -l fr)
--source-locale <locale> Source language (auto-detected if omitted)
--input-directory <dir> Source directory for input files
--output-directory <dir> Destination directory for translated files
--type <type> Override file type detection
GLOSSARIES
glossaries list List glossaries in the account
--name <name> Filter by name
--output simple|table|json Output format
glossaries create <name> Create a new glossary
--locale <locale> Add a locale (repeatable)
--description <text> Optional description
--verification-mode Enable verification mode
--fallback-locale <from>:<to[,to]> Fallback locale mapping (repeatable)
glossaries export <uid|name> [file] Export glossary entries to a file
--file-type csv|xlsx|tbx Export file format (required)
--tbx-version v2|v3 TBX version (required when --file-type=tbx)
--focus-locale <locale> Focus locale for the export
--locale <locale> Include locale in export (repeatable)
--skip-entries Skip glossary entries in the export
--filter-query <text> Filter: free-text query to match entries
--filter-entry-state <state> Filter: entry state to match
--filter-locale <locale> Filter: locale ID (repeatable)
--filter-entry-uid <uid> Filter: entry UID (repeatable)
--filter-missing-translation-locale <locale> Filter: locale missing a translation
--filter-present-translation-locale <locale> Filter: locale with a translation
--filter-created-date <RFC3339> Filter: created date (e.g. 2026-01-02T15:04:05Z)
--filter-last-modified-date <RFC3339> Filter: last modified date
glossaries import <uid|name> <file> Import glossary from CSV/XLSX/TBX
--archive-mode Archive entries missing from the imported file
--media-type <type> Override media type detection
EXAMPLES
projects list
projects locales --short
projects locales --format='{{if .Enabled}}{{.LocaleID}}{{end}}
'
files list
files list '**.json' --short
files push /smartling/en/strings.json en/strings.json --type json
files push /smartling/en/strings.json en/strings.json
files push '**.md' --type plaintext -b feature-branch
files push '**.md' --branch '@auto'
files pull '**.json' -l es-ES -l fr-FR --directory /smartling
files pull --source --directory /smartling
files delete '**.json'
files rename old/path.json new/path.json
files status
mt detect document.txt
mt detect '*.txt' --output json
mt translate document.txt -l es-ES
mt translate '*.txt' -l es -l fr --output-directory /smartling/translations/
glossaries list
glossaries list --name "Product Terms"
glossaries create "Product Terms" --locale es-ES --locale fr-FR
glossaries export "Product Terms" /smartling/glossary.xlsx --file-type xlsx
glossaries export "Product Terms" /smartling/glossary.tbx --file-type tbx --tbx-version v3
glossaries export "Product Terms" /smartling/glossary.csv --file-type csv --locale es-ES
glossaries import "Product Terms" /smartling/glossary.xlsx
glossaries import "Product Terms" /smartling/glossary.xlsx --archive-mode
Full command reference:
https://github.com/Smartling/smartling-cli/wiki/Projects-command-examples
https://github.com/Smartling/smartling-cli/wiki/Files-command-examples
https://github.com/Smartling/smartling-cli/wiki/MT-command-examplesInput schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"args": {
"type": "string",
"description": "Arguments to pass to smartling-cli, exactly as on the command line."
}
},
"required": [
"args"
]
} | — | — | |
smartling-lsList files in a smartling working directory. Only works within /smartling. Defaults to /smartling if no path given.Input schema{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"path": {
"description": "Directory path to list, must start with /smartling, e.g. /smartling/src",
"type": "string"
}
}
} | — | — |
| Endpoint | Transport | Authentication | Health | Observed |
|---|---|---|---|---|
| No verified remote endpoint is linked. | ||||
No verified package installation command is available in the retained catalog evidence.
smartling-mcp-docker MCP Server exposed 3 tools during independent protocol observation, including smartling-cat, smartling-cli, smartling-ls.
The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.
These internal links are derived from strong identity fields such as the implementation name, package, repository, vendor, and listing name—not generic description prose.
Association is based on retained identity fields; it does not by itself prove first-party publication.
Curated product and capability guides containing this catalog record.