Skip to main content
Glama
zhuermu

PowerPoint Translator MCP Service

by zhuermu

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

Related MCP server: Cross-Platform PowerPoint MCP Server

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
# 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

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 MCP Connectors

Related MCP Servers