PowerPoint Translator
The PowerPoint Translator server provides comprehensive PowerPoint translation and management capabilities using Amazon Bedrock models.
Translation Features:
Translate entire presentations or specific slides/ranges to various languages
Preserve original formatting, layouts, styles, and colors during translation
Automatically apply appropriate fonts for target languages
Utilize Amazon Bedrock models for high-quality translation with natural language polishing
Presentation Management:
Get slide information including count and content previews
Preview specific slide content in detail
Apply post-processing optimization with text auto-fitting for overflowed text
Additional Capabilities:
List supported target languages and Amazon Bedrock models
Access usage examples and help information
Integrate with AI assistants like Amazon Q Developer via FastMCP for seamless workflows
Integrates with Amazon Bedrock to power high-quality PowerPoint translations, leveraging Amazon's AI models for translating text content while preserving formatting and structure.
Enables translation of PowerPoint slides, allowing users to translate entire presentations or specific slides while maintaining original formatting, layouts, and styles.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PowerPoint Translator translate my presentation to Spanish"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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
Related MCP server: PowerPoint Translator MCP Service
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 syncConfigure AWS credentials:
aws configure
export AWS_REGION=us-east-1
# export AWS_PROFILE=defaultThe 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 .envSee 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 koPresentations 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
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.

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 koExport 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-verifyStructured 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
The following comparison shows a fully cached folder run and a first run that calls the model:

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.pptxSee the CLI cheatsheet for the complete everyday command reference.
MCP Server
Start the FastMCP server:
uv run mcp_server.pyThen 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 MarkdownHost 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.
Available Tools
11 toolsbatch_export_powerpoint_markdownC
Export all PowerPoint files in a folder as Markdown.
Inputs: input_folder (required), mode, workers, model_id, +9 more. Returns: result
batch_translate_powerpointA
Translate all PowerPoint files in a folder (with optional recursive processing).
Inputs: input_folder (required), dry_run, workers, model_id, +12 more. Returns: result
export_powerpoint_markdownB
Export one PowerPoint presentation as structured Markdown.
Inputs: input_file (required), mode, workers, model_id, +7 more. Returns: result
get_slide_infoC
Get information about slides in a PowerPoint presentation.
Inputs: input_file (required). Returns: result
get_slide_previewB
Get a detailed preview of a specific slide's content.
Inputs: input_file (required), slide_number (required). Returns: result
get_translation_helpA
Get help information about using the PowerPoint translator.
Returns: Help text with usage examples
Inputs: no named parameters. Returns: result
list_supported_languagesA
List all supported target languages for translation.
Returns: List of supported language codes and names
Inputs: no named parameters. Returns: result
list_supported_modelsA
List all supported Amazon Bedrock Mantle models for translation.
Returns: List of supported model IDs
Inputs: no named parameters. Returns: result
post_process_powerpointA
Apply post-processing to a PowerPoint presentation to optimize text boxes.
This function enables text wrapping and shrink text on overflow for text boxes that contain text longer than the specified threshold.
Inputs: input_file (required), output_file, enable_autofit, text_threshold. Returns: result
translate_powerpointC
Translate a PowerPoint presentation to the specified language.
Inputs: input_file (required), dry_run, model_id, output_file, +9 more. Returns: result
translate_specific_slidesB
Translate specific slides in a PowerPoint presentation.
Inputs: input_file (required), slide_numbers (required), dry_run, model_id, +10 more. Returns: result
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 11 tools
Most tools are clearly distinct: translate vs. export vs. get info vs. list supported options. However, translate_powerpoint and batch_translate_powerpoint could be confused at first glance, though the batch prefix and description clarify the scope.
Tool names mostly follow a verb_noun pattern (translate_powerpoint, get_slide_info, list_supported_languages). Minor deviations: get_translation_help uses a noun phrase instead of a verb_noun form, and batch_export_powerpoint_markdown is longer but still consistent.
11 tools is well-scoped for a PowerPoint translation server. Each tool covers a distinct operation: translation, export, inspection, and configuration lookups, with no obvious redundancy.
The server covers the core workflow: translate, batch translate, export, inspect slides, and post-process. Minor gaps include no explicit tool for reverting translations or managing output destinations, but the surface is sufficient for the stated purpose.
Maintenance
Related MCP Connectors
Generate, edit, merge, translate and PDF-convert PowerPoint (.pptx) over MCP. 8 tools.
Generate professional PowerPoint presentations from text, YouTube videos, or structured JSON data.…
Generate AI slide decks and export native PowerPoint (.pptx) and PDF presentations from chat.
Create polished slide decks from text or YouTube links in seconds. Fetch video transcripts to tran…
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA FastMCP-powered server for programmatically creating, editing, and rendering PowerPoint (PPTX) presentations with features for slide creation, content insertion, and PNG rendering.35Apache 2.0
- FlicenseNot gradedqualityDmaintenanceEnables translation of PowerPoint presentations to multiple languages using AWS Bedrock models while preserving formatting. Supports 8 languages including Chinese, Japanese, Korean, and major European languages.2-
- AlicenseNot gradedqualityDmaintenanceEnables creation of professional PowerPoint presentations with AI-generated content and images, supporting multiple LLMs and image services via MCP protocol.MIT
- AlicenseAqualityDmaintenanceEnables AI-powered slide deck creation using natural language, allowing users to generate, edit, and manage presentations through MCP clients like Cursor and Claude Code.1412 npmMIT