Trados Powershell MCP

0,00 

A Node.js MCP server that wraps all three RWS PowerShell toolkits – Trados Studio, GroupShare, and Language Cloud – in a single process, letting Claude Desktop manage projects, TMs, packages, and users across all three platforms through natural language.

Category:

Description

from powershell cli to mcp server – easy, but should you?

One of the more interesting questions in the current AI tooling wave is whether wrapping an existing CLI in an MCP server is actually worth the effort. This project was, in part, a direct test of that theory – and the short answer is: technically, it is surprisingly simple (vibe-coding!). Whether you want to is a different matter entirely.

PowerShell CLI users tend to be a particular breed. They know their tools, they have their scripts, and the idea of asking an AI assistant to “create a project from the files in C:\Source” instead of running a command they have memorised is not automatically appealing. That is a fair position. The MCP approach adds value in a different context – it sits inside a broader workflow where the AI is already doing other things, and the Trados operations are one step among many rather than the whole job.

before you dive in

This is not production-ready software. It has not been tested thoroughly enough to use in a live environment with real projects you cannot afford to break. Think of it as a working academic exercise – proof that just because you can build something does not mean you necessarily should. Treat it accordingly.

  • PowerShell Toolkits required. You will need the appropriate RWS PowerShell Toolkits installed before any of this is useful – the Studio, GroupShare, and/or Language Cloud toolkits depending on which systems you want to work with.
  • multifariousMCP recommended. To properly explore what is possible across the full project lifecycle, you will also want the multifariousMCP installed alongside this server. The two complement each other – infrastructure management here, file content work there.
  • Read the TDD first. The Technical Design Document covers the architecture, prerequisites, configuration, and known limitations in detail. It is worth reading before you start, not after something goes wrong.

opensource project

The RWS PowerShell toolkits that this server wraps are all open source, published by RWS on GitHub under the Apache License 2.0. It made sense to release this MCP server the same way. The full source code is available at github.com/paulfilkin/Trados-Powershell-MCP under the Unlicense – which means no restrictions whatsoever on how you use, modify, or redistribute it.

If you want to add tools, fix something, or adapt the server for a different toolkit, the code is there. The Technical Design Document explains how everything fits together and is the right place to start if you are considering contributing or building on top of it. Bug reports and feature requests go through GitHub Issues; questions and discussion go through GitHub Discussions.

one server, three toolkits

Three separate RWS PowerShell toolkits target three separate systems. This MCP server wraps all of them in a single Node.js process, exposing a unified set of tools to any MCP-compatible client.

studio_* Studio PowerShell Toolkit
local Trados Studio
Project Automation API
gs_* GroupShare API Toolkit
on-premise GroupShare
REST API
lc_* Language Cloud Toolkit
RWS Language Cloud
REST API

The server is intentionally thin. It translates MCP tool calls into PowerShell script fragments, executes them via the appropriate PowerShell host, and returns JSON. All business logic stays in the toolkits. Tool groups are registered conditionally at startup – if you only have a local Studio installation with no GroupShare or Language Cloud credentials configured, you see only the studio_* tools.

multifarious versions and the credential store

The multifarious versions of the toolkits have been augmented with a credential store feature. Rather than embedding server URLs, usernames, and passwords as plain text in your Claude Desktop configuration, you create DPAPI-encrypted XML files once and store them in a folder. Only the Windows user who created the files can decrypt them – the folder path goes in the configuration, and the credentials never appear in plain text on disk.

This feature and the reasoning behind it is covered in detail in the GroupShare – Powershell Trilogy Part 2. If you are managing multiple GroupShare servers or Language Cloud tenants, it is the approach to use.

a few things worth knowing

  • Two PowerShell hosts in one server. The Studio toolkit loads 32-bit Trados DLLs and requires the PS5 x86 host. GroupShare and Language Cloud use REST APIs and require PS7. The server maintains two separate executors and routes each tool call to the correct host automatically.
  • Module name collisions handled. Both the GroupShare and Language Cloud toolkits include modules with identical names – AuthenticationHelper and ResourcesHelper. The server prepends the toolkit-specific modules path before each import to guarantee the right version loads.
  • No business logic in the server. If a toolkit function has a quirk – for example, Get-Project takes a folder path rather than a project file, or Export-TMX on GroupShare always appends .tmx.gz – the server exposes that behaviour as-is.
  • Session-scoped credentials. If your credential store contains more than one XML file, you call gs_set_credential or lc_set_credential at the start of a session to choose which environment to work against. A single-file store auto-selects on startup.
  • Script injection protection. All string parameters pass through escaping functions before interpolation into PowerShell script bodies. Zod validates types before any parameter reaches the script builder.

what can you ask it?

To give a sense of what natural language interaction with this server looks like, here are some examples of the sort of things you could do across all three toolkits.

Trados Studio

  • “Create a new Studio project called ‘Annual Report 2026’ from the files in C:\Source\AnnualReport using the en-GB to de-DE marketing TM.”
  • “Show me the word counts for the Q1 Newsletter project broken down by match category.”
  • “Pre-translate the Legal Handbook project against its assigned TM and then export a package for the German linguist.”
  • “List all my Studio projects that are still in progress.”
  • “Export the Marketing TM to TMX and save it to C:\Backups\TMs.”

GroupShare

  • “Which GroupShare projects are currently in progress and past their due date?”
  • “Import the return package from C:\Returns\AnnualReport_DE.sdlrpx into the Annual Report project and mark it as completed.”
  • “Create a new GroupShare user for jane.smith@example.com and add her to the Translation team in the EMEA organisation.”
  • “Get me the analysis report for the Software UI project and save it to C:\Reports.”
  • “Show me all background tasks that are still pending on the GroupShare server.”

Language Cloud

  • “What project templates do we have in Language Cloud and what language pairs do they cover?”
  • “Create a new Language Cloud project called ‘Investor Pack Q2’ using the Legal template, due Friday at 17:00.”
  • “Export the Legal TM to TMX so I can back it up locally.”
  • “List all the workflows available in Language Cloud and which ones include a review step.”
  • “Show me all Language Cloud projects created in the last 30 days that are not yet completed.”

Cross-system

  • “I need to migrate the Legal TM from GroupShare to Language Cloud – export it from GroupShare as TMX and import it into the matching Language Cloud TM.”
  • “Compare the word counts from the GroupShare analysis report for the Annual Report project with the equivalent Studio project.”

technical design document

For technically minded readers, the full Technical Design Document for this server is available here. Keep in mind that I created this documentation and every bit of code through vibe-coding with Claude Desktop. But, nonetheless, it does a pretty good job of covering the architecture in detail – the two-executor model, PS5 x86 vs PS7 host selection, the credential store format and DPAPI decryption approach, module collision handling, output serialisation quirks with the Studio .NET object graph, and the complete tool definitions for all three groups. If you are considering building something similar on top of an existing PowerShell toolkit, it is a reasonably honest account of what that involves from my perspective. I would add that all in all it took me two evenings to build this from start to finish, and this is a good indication of just how capable AI has become at taking my instructions and creating something that is way beyond my own technical abilities to do this without AI.

companion server

The Trados Powershell MCP server handles project infrastructure – creating projects, managing TMs, producing packages, user management. The multifariousMCP, based on the CLI created for the SDLXLIFF Refiner, works at the file content level – segments, tags, translation, search and replace. The two can be registered independently in Claude Desktop and together cover the full project lifecycle.

Version History

Version 2.0.0 Current

Released: April 9, 2026

What's new

59 new Language Cloud tools

Task management (9 tools) lc_get_task, lc_list_assigned_tasks, lc_accept_task, lc_reject_task, lc_complete_task, lc_release_task, lc_reclaim_task, lc_assign_task, lc_set_task_deadlines

TM operations (4 tools) lc_translation_lookup, lc_concordance_search, lc_add_translation_unit, lc_update_translation_unit

File analysis (2 tools) lc_request_file_analysis, lc_get_file_analysis_status

ZIP file handling (2 tools) lc_send_zip_file, lc_get_zip_file_status

Project template management (1 tool) lc_update_project_template

Workflow and engine management (2 tools) lc_update_workflow, lc_update_translation_engine

Discovery (2 tools) lc_list_llm_configurations, lc_list_translation_engines

Pricing models (4 tools) lc_new_pricing_model, lc_update_pricing_model, lc_remove_pricing_model - rate values silently rounded to 3 decimal places to meet the LC API constraint

Groups (3 tools) lc_new_group, lc_update_group, lc_remove_group

Termbase entries (6 tools) lc_new_termbase_entry, lc_list_termbase_entries, lc_get_termbase_entry, lc_update_termbase_entry, lc_remove_termbase_entry, lc_remove_all_termbase_entries

Termbase search (1 tool) lc_search_termbase_terms

Termbase templates (4 tools) lc_list_termbase_templates, lc_new_termbase_template, lc_update_termbase_template, lc_remove_termbase_template

Termbase management (1 tool) lc_update_termbase

User management (5 tools) lc_list_users, lc_new_user, lc_new_service_user, lc_update_user, lc_remove_user

Roles and permissions (6 tools) lc_list_roles, lc_get_role, lc_new_role, lc_update_role, lc_remove_role, lc_list_permissions

Applications (5 tools) lc_list_applications, lc_get_application, lc_new_application, lc_update_application, lc_remove_application

Project file export (2 tools) lc_export_project_files, lc_get_project_files_export_status, lc_save_project_files

Infrastructure

  • New psJsonParam() utility for passing structured JSON to toolkit cmdlets that expect [hashtable] or [hashtable[]] parameters, working with a ConvertTo-Hashtable helper injected into the PS7 preamble
  • New roundPricingDecimals() utility to enforce the LC API's 3 decimal place limit on pricing rate fields

Tool count

 

The server now exposes up to 130 tools across the three toolkit groups (13 Studio, 25 GroupShare, 92 Language Cloud), up from 71 in v1.7.7.

Version 1.7.7

Released: March 29, 2026

What's new

New Studio tool: studio_list_project_templates - list all project templates registered in Trados Studio using the ApplicationFactory registry API.

Fixes

Non-ASCII path support (Studio executor)

  • The Studio executor now writes scripts to a temp .ps1 file with a UTF-8 BOM instead of passing via -Command. PowerShell 5.1 needs the BOM to read UTF-8, and -Command goes through Windows argument parsing which mangles non-ASCII characters on ANSI codepage systems. Uses -ExecutionPolicy Bypass -File to run the temp script, with cleanup in a finally block.

Locale fix (Language Cloud)

  • Get-AccessKey is now wrapped in a temporary InvariantCulture override. The toolkit's AuthenticationHelper parses date strings from the OAuth token response using US format assumptions, which fails on non-US locale systems (e.g. German de-DE). The culture is restored in a finally block.

TM auto-discovery path fix (Studio)

  • studio_list_tms was constructing the TranslationMemoryRepository.xml path using the display name (Studio 2024) instead of the AppData version key (Studio18), making all registered TMs invisible to auto-discovery. The tool now uses the correct STUDIO_VERSION key.

Source folder validation (studio_new_project)

  • The tool now validates that source_folder exists before calling New-Project, returning an immediate error instead of letting the toolkit fail silently. output_path is also auto-created via New-Item -Force if it does not exist.

Enhanced existing tools

  • studio_list_tms - folder is now optional; when omitted, reads registered TMs from TranslationMemoryRepository.xml instead of requiring a folder scan.

Tool count

The server now exposes up to 71 tools across the three toolkit groups (13 Studio, 25 GroupShare, 33 Language Cloud), up from 70 in v1.7.0.

Version 1.7.0

Released: March 27, 2026

What's new

14 new Language Cloud tools

  • lc_list_locations - list organisational hierarchy
  • lc_list_groups - list user groups
  • lc_list_file_type_configurations - discover file type configs for project creation
  • lc_list_language_processing_rules - discover rules for TM creation
  • lc_list_field_templates - discover field templates for TM creation
  • lc_list_pricing_models - list pricing models
  • lc_list_schedule_templates - list schedule templates
  • lc_list_supported_languages - list all supported language codes
  • lc_new_customer - create a customer scoped to a location
  • lc_update_customer - update customer properties (including RAG status)
  • lc_remove_customer - delete a customer
  • lc_remove_tm - delete a translation memory
  • lc_new_project_template - create a project template
  • lc_remove_project_template - delete a project template

2 new GroupShare tools

  • gs_list_containers - list containers with organisation and name filtering
  • gs_org_report - generate a comprehensive single-call organisation report covering child organisations, projects, containers with TMs, templates, and users

Robust stdout parsing

New safeParseJson() utility handles GroupShare toolkit functions that write warnings or errors to stdout before their JSON output. Warnings are preserved as a _warnings property on the result.

Enhanced existing tools

Language Cloud (5 tools)

  • lc_new_project - new file_type_configuration, location_id, and reference_file_names parameters
  • lc_new_tm - new location_id parameter; description updated to reference the new discovery tools for language processing rules and field templates
  • lc_import_tm - new import_as_plain_text, export_invalid_tus, trigger_recompute_statistics, target_segments_differ_option, unknown_fields_option, and confirmation_levels parameters
  • lc_new_termbase - new xdt_path, inherit_languages, and location_id parameters; termbase_template is now optional (XDT upload as an alternative)
  • lc_import_termbase - new duplicate_entries_strategy and strict_import parameters

GroupShare (4 tools)

  • gs_list_projects - new include_sub_organizations, group_by, name_filter, compact, and max_results parameters; now passes -defaultPublishDates $false -defaultDueDates $false to avoid the toolkit's restrictive date defaults that hide projects
  • gs_list_tms - new name_filter, compact, and max_results parameters
  • gs_list_project_templates - new name_filter, compact, and max_results parameters (was parameterless)
  • gs_list_organizations - new parent_path for hierarchy browsing, plus name_filter, compact, and max_results parameters (was parameterless)

All GroupShare list tools now return total, matchingCount, and returnedCount metadata.

Studio

  • Studio executor now supports STUDIO_MODULES_PATH for non-default toolkit install locations
  • studio_list_projects - corrected to read from the Documents folder instead of AppData; improved status mapping documentation

Tool count

 

The server now exposes up to 70 tools across the three toolkit groups (12 Studio, 25 GroupShare, 33 Language Cloud), up from 54 in v1.3.0.

Version 1.3.0

Released: March 11, 2026

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.