1. Conduid
  2. AI
  3. Ppt Translator
MCP server · AI

Ppt Translator

A powerful PowerPoint translation tool that leverages Amazon Bedrock models for high-quality translation. This service can be used both as a standalone command-line tool and as a MCP for integration with AI assistants like Claude Code and Kiro. It translates PowerPoint presentations while preserving formatting and structure.

Unclaimed MIT ai
63Good

Scored 3 days ago · breakdown

About Ppt Translator

Ppt Translator is an MCP server published by daekeun-ml in the AI category: a powerful PowerPoint translation tool that leverages Amazon Bedrock models for high-quality translation. This service can be used both as a standalone command-line tool and as a MCP for integration with AI assistants like Claude Code and Kiro. It translates PowerPoint presentations while preserving formatting and structure.

The repository has 72 stars and 16 forks, with the last commit 2 months ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/daekeun-ml/ppt-translator

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Ask AI

✦

Ask AI about Ppt Translator

Powered by Claude · Grounded in docs

I know everything about Ppt Translator. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 5 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • !Tests presentNo tests found. Behaviour changes may go unnoticed between versions.
  • !Dependencies pinnedNo lockfile. Installs can pull different code over time.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v1.1.0v1.1.0 · 18 Aug 2026🚀 Release v1.1.0 A major provider and workflow update. PowerPoint Translator now runs OpenAI GPT-5.6 and Anthropic Claude models through Amazon Bedrock Mantle, translates large decks with nested file/slide parallelism, and can turn…
v1.0.8v1.0.8 · 25 Apr 2026🚀 Release v1.0.8 A feature-focused release built around cost, speed, and visibility. The translation pipeline now knows what language it's translating *from*, reuses results it has already paid for, and tells you exactly where it is while…
v1.0.7v1.0.7 · 2 Jan 2026🚀 What's New ✨ Features Enhanced translation accuracy with improved context handling Better font management for multi-language support Optimized batch processing performance 🐛 Bug Fixes Fixed text formatting preservation issues Resolved…
v1.0.6v1.0.6 - Continuous Batching and Performance Improvements · 9 Dec 2025v1.0.6 - Continuous Batching and Performance Improvements 🚀 Enhancements Continuous Batching: Workers now pick up the next translation task immediately after completing current one, eliminating idle time 🔧 Changes Improved batch…
v1.0.5v1.0.5 - Batch Folder Translation · 9 Dec 2025🎉 What's New Batch Folder Translation Added `batch-translate` command to translate all PowerPoint files in a folder at once Supports progress tracking and error reporting for batch operations Model Updates Updated SUPPORTED_MODELS with…

README

PowerPoint Translator using Amazon Bedrock

A PowerPoint translation tool that calls OpenAI and Anthropic models through Amazon Bedrock Mantle while preserving presentation formatting and structure. Use it as a CLI or a FastMCP server.

Current release: v1.1.0

한국어 · Configuration & MCP reference · CLI cheatsheet

Features

  • GPT-5.6 Sol/Terra/Luna/Cyber and Claude Opus 5/Sonnet 5/Haiku 4.5
  • GPT-5.6 Terra as the default model with optional Luna fallback
  • AWS default credential chain, short-term Mantle tokens, and SigV4
  • Formatting, layout, color, language-specific font, notes, and chart preservation
  • Parallel translation for large presentations and multi-file folder batches
  • Structured PowerPoint-to-Markdown export with optional web verification
  • SQLite or in-memory translation cache
  • Source-language detection, custom YAML glossary, and cost dry-run
  • Exponential retry for transient errors and model fallback after 429/503 failures
  • CLI and FastMCP interfaces

Examples

The translator preserves complex slide layouts:

Claude Code MCP

Quick Start

Requirements

  • Python 3.11 or later
  • AWS account with Amazon Bedrock access
  • AWS credentials available through the default credential chain
  • Model access in the selected AWS Region

Install

git clone https://github.com/daekeun-ml/ppt-translator
cd ppt-translator
uv sync

Configure AWS credentials:

aws configure
export AWS_REGION=us-east-1
# export AWS_PROFILE=default

The translator generates short-term tokens for GPT models and uses SigV4 for Claude models. AWS_BEARER_TOKEN_BEDROCK is an optional long-term API key override.

The built-in defaults are sufficient for normal use. To customize them:

cp .env.example .env

See Configuration for all settings. The README intentionally does not duplicate the complete .env file.

CLI Usage

Translate an Entire Presentation

uv run ppt-translate translate samples/en.pptx -t ko

Presentations larger than 30 slides are split into parallel chunks:

# Defaults: up to 4 slide workers, 30 slides per chunk
uv run ppt-translate translate large-deck.pptx -t ko

# 80 slides -> 20+20+20+20
uv run ppt-translate translate large-deck.pptx -t ko \
  --slide-workers 4 --slides-per-worker 20

Parallel single-presentation translation

Batch Translate a Folder

# Recursive by default
uv run ppt-translate batch-translate samples/ -t ko

# Top-level files only
uv run ppt-translate batch-translate samples/ -t ko --no-recursive

# Output folder and concurrent PowerPoint files
uv run ppt-translate batch-translate samples/ -t ko -o translated_ko/ -w 10

--workers controls concurrent PowerPoint files. --slide-workers controls parallel slide chunks inside each presentation.

Parallel folder translation

Translate Specific Slides

uv run ppt-translate translate-slides samples/en.pptx -s "1,3,5" -t ko
uv run ppt-translate translate-slides samples/en.pptx -s "2-4" -t ko

Export PowerPoint as Markdown

# AI-structured Korean notes with slide references
uv run ppt-translate export-markdown samples/en.pptx -l ko

# Deterministic extraction without model calls
uv run ppt-translate export-markdown samples/en.pptx \
  --mode extract --language source

# Export every presentation and preserve the folder structure
uv run ppt-translate batch-export-markdown samples/ -l ko

# Verify a bounded set of external claims with client-side web search
uv run ppt-translate export-markdown samples/en.pptx -l ko --web-verify

Structured mode summarizes slides in parallel chunks, creates a sourced presentation overview, and preserves tables, chart data, and speaker notes. Each chunk is validated against the requested output language. Invalid or incomplete responses are regenerated and automatically split into smaller chunks when needed; source-language text is never silently substituted into a translated Markdown document. Web verification is opt-in. See the Markdown export reference.

Dry-Run and Cache

# Estimate tokens and cost without calling the model
uv run ppt-translate translate samples/en.pptx -t ko --dry-run

# Cache is enabled by default at ~/.ppt-translator/cache.db
uv run ppt-translate translate samples/en.pptx -t ko

# Disable cache
uv run ppt-translate translate samples/en.pptx -t ko --no-cache

Dry-run cost estimate

The following comparison shows a fully cached folder run and a first run that calls the model:

Batch cache comparison

Other Common Options

# Explicit source language skips auto-detection
uv run ppt-translate translate samples/en.pptx --source-language en -t ko

# Use a glossary; ./glossary.yaml is detected automatically
uv run ppt-translate translate samples/en.pptx -t ko -g glossary.yaml

# Leave chart text unchanged
uv run ppt-translate translate samples/en.pptx -t ko --no-charts

# Inspect the first slides
uv run ppt-translate info samples/en.pptx

See the CLI cheatsheet for the complete everyday command reference.

MCP Server

Start the FastMCP server:

uv run mcp_server.py

Then ask the connected assistant naturally:

Translate samples/en.pptx to Korean
Batch-translate samples/ into Japanese, dry-run first
Show me what is in slide 3
Export samples/en.pptx as structured Korean Markdown

Host configuration for Claude Code and Kiro, plus the complete MCP tool list, is in the Configuration & MCP reference.

Documentation

License

This project is licensed under the MIT License. See LICENSE.

README fetched from the repository 5 days ago. The original is authoritative.

Questions

About Ppt Translator

How do I install Ppt Translator?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Ppt Translator safe to use with an AI agent?

Its trust score is 63 out of 100 (good). It passes 3 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Ppt Translator still maintained?

Yes — the latest release is v1.1.0 (18 Aug 2026), and the last commit was 2 months ago. The repository has 72 stars and 1 open issues.