In Brief: Java offers the best runtime support for ZIP and XML, but TypeScript with Bun as a single executable was preferred due to future prospects and deployment flexibility.
A team implemented a Claude Cowork plugin for processing DOCX files in three programming languages: Ruby, Java, and TypeScript. While Java excelled in runtime support for ZIP and XML files, ultimately TypeScript with Bun was chosen—because of prospects for MCPB compatibility and better deployment options.
The DOCX plugin was implemented sequentially over the course of a month in Ruby, Java, and TypeScript/Node. DOCX files are essentially ZIP archives containing XML and other files—so the core task involved reliably processing ZIP files and XML structures. The original prototype was built in Ruby as a server application, then ported to Java for a desktop variant, and finally switched to TypeScript/Node for potential MCPB integration (Model Context Protocol Bridge).
Ruby offered low barriers to entry for rapid prototyping but came with significant drawbacks: lack of typing led to hard-to-trace errors like “unexpected nil” in random parts of the code, such as when `.each` or `.children` calls were omitted. Dependencies like rubyzip exhibited undocumented bugs (corrupted DOCX output with certain customer files), and nokogiri/libxml2 had XML formatting issues. Integrating type systems like Sorbet or RBS proved too cumbersome.
Java surprised positively: the standard runtime provided consistently stable ZIP and XML processing without notable issues. The team could have built a desktop application with it. TypeScript/Node was prioritized instead because MCPB support was expected in the Claude Cowork plugin at the time. Later it became clear that Cowork does not support MCPB—instead, the team migrated to Bun, a JavaScript runtime that can be compiled as a single-executable binary. One remaining challenge: source maps do not work satisfactorily with Bun in the PostHog monitoring tool.
The finished plugin is available on GitHub and was specifically optimized for legal documents. It can be used together with the Claude for Legal plugin. The team is actively seeking user feedback and plans to communicate future updates.
Source: ainews-dev.lumi-systems.io · Published May 19, 2026
Lumi AI News — AI-assisted curation in accordance with Article 50 EU AI Act. Paraphrase and classification by Lumi News Pipeline v1.5.2.