Add MCP server and configuration for AI assistant integration
This commit is contained in:
157
mcp.json
Normal file
157
mcp.json
Normal file
@@ -0,0 +1,157 @@
|
||||
{
|
||||
"$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
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user