PowerPoint Translator

Translate PowerPoint files using AWS Bedrock. Requires AWS credentials to be configured.

PowerPoint Translator MCP Service

A Model Context Protocol (MCP) service that provides PowerPoint translation capabilities using AWS Bedrock models.

Features

  • Translate PowerPoint presentations to multiple languages
  • Preserve formatting during translation
  • Support for AWS Bedrock Nova models
  • Intelligent handling of proper nouns, brand names, and special content
  • Full MCP protocol compliance with proper initialization and tool handling
  • Fallback implementation when MCP library is not available

Supported Languages

  • Simplified Chinese (zh-CN)
  • Traditional Chinese (zh-TW)
  • English (en)
  • Japanese (ja)
  • Korean (ko)
  • French (fr)
  • German (de)
  • Spanish (es)

Prerequisites

  • Python 3.8+
  • AWS account with Bedrock access
  • AWS credentials configured (via aws configure or environment variables)

Installation

Quick Setup

# Clone the repository
git clone https://github.com/yourusername/mcpppttranslator.git
cd mcpppttranslator

# Install dependencies
python server.py --install-deps

# Or use uv for faster installation
python server.py --install-deps --use-uv

Virtual Environment Setup (Recommended)

# Create virtual environment with uv
python server.py --install-deps --use-uv --venv

# Or specify custom path
python server.py --install-deps --use-uv --venv --venv-path /path/to/custom/venv

MCP Configuration

Option 1: AWS CLI Configuration (Recommended)

First, configure your AWS credentials:

aws configure

Then add to your Amazon Q configuration:

{
  "mcpServers": {
    "ppt-translator": {
      "timeout": 300,
      "type": "stdio",
      "command": "python",
      "args": [
        "/path/to/mcpppttranslator/server.py",
        "--mcp"
      ],
      "env": {
        "AWS_REGION": "us-east-1",
        "DEFAULT_TARGET_LANGUAGE": "zh-CN"
      }
    }
  }
}

Option 2: Direct Credential Configuration

{
  "mcpServers": {
    "ppt-translator": {
      "timeout": 300,
      "type": "stdio",
      "command": "python",
      "args": [
        "/path/to/mcpppttranslator/server.py",
        "--mcp"
      ],
      "env": {
        "AWS_ACCESS_KEY_ID": "your-access-key",
        "AWS_SECRET_ACCESS_KEY": "your-secret-key",
        "AWS_REGION": "us-east-1",
        "DEFAULT_TARGET_LANGUAGE": "zh-CN"
      }
    }
  }
}

Usage

With Amazon Q

Once configured, you can use natural language commands:

Translate my presentation.pptx to Japanese using the Nova model

Command Line Usage

# Run in MCP mode
python server.py --mcp

# Direct translation
python server.py --translate --input-file presentation.pptx --target-language ja

# List supported languages
python server.py --list-languages

Available Tools

  1. translate_ppt - Translate a PowerPoint document

    • input_file: Path to the input PowerPoint file (required)
    • target_language: Target language code (default: zh-CN)
    • output_file: Path to save the translated file (optional)
    • translation_method: Translation method, 'nova' or 'claude' (default: nova)
  2. list_supported_languages - List all supported target languages

Command Line Arguments

  • --mcp: Run in MCP mode
  • --translate: Translate a PowerPoint file
  • --input-file: Path to the input PowerPoint file
  • --target-language: Target language code
  • --output-file: Path to save the translated file
  • --model-id: Translation model ID (choices: 'amazon.nova-micro-v1:0', 'amazon.nova-lite-v1:0')
  • --list-languages: List supported languages
  • --install-deps: Install required dependencies
  • --use-uv: Use uv package manager instead of pip
  • --venv: Create and use a virtual environment with uv
  • --venv-path: Path for the virtual environment (default: ./venv)

Testing

Test the MCP server functionality:

python test_mcp.py

Troubleshooting

Common Issues

  1. AWS Credentials: Ensure AWS credentials are properly configured via aws configure or environment variables.

  2. Missing Dependencies: Run python server.py --install-deps to install required packages.

  3. MCP Protocol Errors: The server implements full MCP protocol compliance. If you encounter initialization errors, ensure you're using a compatible MCP client.

  4. File Permissions: Ensure the server.py file has execute permissions: chmod +x server.py

Development

Local Development

  1. Clone and setup:

    git clone https://github.com/yourusername/mcpppttranslator.git
    cd mcpppttranslator
    python server.py --install-deps --use-uv --venv
    
  2. Test the server:

    python test_mcp.py
    

MCP Protocol Compliance

This server implements the full MCP protocol specification including:

  • Proper initialize method handling
  • Standard tools/list and tools/call methods
  • Correct JSON-RPC 2.0 response formatting
  • Error handling and graceful degradation
  • Backward compatibility with legacy MCP methods

License

MIT

Related Servers