{ "$schema": "https://json.schemastore.org/mcp-config.json", "name": "document-translator", "version": "1.0.0", "description": "Document Translation API - Translate Excel, Word, PowerPoint files with format preservation", "author": "Sepehr", "repository": "https://gitea.parsanet.org/sepehr/office_translator.git", "license": "MIT", "runtime": { "type": "python", "command": "python", "args": ["mcp_server.py"], "cwd": "${workspaceFolder}" }, "requirements": { "python": ">=3.8", "dependencies": [ "requests>=2.28.0" ] }, "tools": [ { "name": "translate_document", "description": "Translate a document (Excel, Word, PowerPoint) to another language while preserving all formatting, styles, formulas, and layouts", "parameters": { "file_path": { "type": "string", "description": "Absolute path to the document file (.xlsx, .docx, .pptx)", "required": true }, "target_language": { "type": "string", "description": "Target language code (en, fr, es, fa, de, it, pt, ru, zh, ja, ko, ar)", "required": true }, "provider": { "type": "string", "enum": ["google", "ollama", "deepl", "libre"], "default": "google", "description": "Translation provider to use" }, "ollama_model": { "type": "string", "description": "Ollama model name (e.g., llama3.2, gemma3:12b, qwen3-vl)" }, "translate_images": { "type": "boolean", "default": false, "description": "Use vision model to extract and translate text from embedded images" }, "system_prompt": { "type": "string", "description": "Custom instructions and context for LLM translation (glossary, domain context, style guidelines)" }, "output_path": { "type": "string", "description": "Path where to save the translated document" } }, "examples": [ { "description": "Translate Excel file to French using Google", "arguments": { "file_path": "C:/Documents/data.xlsx", "target_language": "fr", "provider": "google" } }, { "description": "Translate Word document to Persian with Ollama and custom glossary", "arguments": { "file_path": "C:/Documents/report.docx", "target_language": "fa", "provider": "ollama", "ollama_model": "gemma3:12b", "system_prompt": "You are translating HVAC technical documentation. Glossary: batterie=کویل, ventilateur=فن, condenseur=کندانسور" } }, { "description": "Translate PowerPoint with image text extraction", "arguments": { "file_path": "C:/Presentations/slides.pptx", "target_language": "de", "provider": "ollama", "ollama_model": "gemma3:12b", "translate_images": true } } ] }, { "name": "list_ollama_models", "description": "List all available Ollama models for translation", "parameters": { "base_url": { "type": "string", "default": "http://localhost:11434", "description": "Ollama server URL" } } }, { "name": "get_supported_languages", "description": "Get the full list of supported language codes and names", "parameters": {} }, { "name": "check_api_health", "description": "Check if the translation API server is running and healthy", "parameters": {} } ], "features": [ "Format-preserving translation for Excel, Word, PowerPoint", "Multiple translation providers (Google, Ollama, DeepL, LibreTranslate)", "Image text extraction using vision models (Gemma3, Qwen3-VL)", "Custom system prompts and glossaries for technical translation", "Domain-specific presets (HVAC, IT, Legal, Medical)", "Browser-based WebLLM support for offline translation" ], "usage": { "start_server": "python main.py", "api_endpoint": "http://localhost:8000", "web_interface": "http://localhost:8000" }, "providers": { "google": { "description": "Google Translate (free, no API key required)", "supports_system_prompt": false }, "ollama": { "description": "Local Ollama LLM server", "supports_system_prompt": true, "supports_vision": true, "recommended_models": [ "llama3.2", "gemma3:12b", "qwen3-vl", "mistral" ] }, "deepl": { "description": "DeepL API (requires API key)", "supports_system_prompt": false }, "libre": { "description": "LibreTranslate (self-hosted)", "supports_system_prompt": false } } }