SRT Translation MCP Server
A Model Context Protocol (MCP) server for processing and translating SRT subtitle files with intelligent conversation detection and context preservation.
Features
- SRT File Processing: Parse, validate, and manipulate SRT subtitle files
- Large File Support: Intelligent chunking for processing large SRT files
- Conversation Detection: Context-aware analysis for better translation quality
- Style Tag Preservation: Maintain HTML-style formatting during translation
- Timing Synchronization: Preserve precise timing information
- MCP Integration: Standardized interface for AI assistant integration
Installation
# Install dependencies
npm install
# Build the project
npm run build
# Run tests
npm test
Usage
As an MCP Server
# Start the MCP server
npm start
# Or run directly with npx
npx srt-translation-mcp-server
Available MCP Tools
parse_srt: Parse and validate SRT file contentwrite_srt: Write SRT file from parsed datadetect_conversations: Detect conversation boundaries in SRT contenttranslate_srt: Translate SRT content with context preservationtranslate_chunk: Translate a specific chunk of SRT content
Example Usage
// Parse SRT file
const result = await mcpClient.callTool('parse_srt', {
content: srtFileContent
});
// Detect conversations
const conversations = await mcpClient.callTool('detect_conversations', {
content: srtFileContent
});
// Translate SRT file
const translated = await mcpClient.callTool('translate_srt', {
content: srtFileContent,
targetLanguage: 'es',
preserveFormatting: true
});
Development
# Development mode with hot reload
npm run dev
# Run tests in watch mode
npm run test:watch
# Lint code
npm run lint
# Fix linting issues
npm run lint:fix
Architecture
Core Components
- SRT Parser: Handles SRT file parsing and validation
- Time Parser: Manages SRT time format operations
- Style Tags: Preserves HTML-style formatting
- Conversation Detector: Identifies conversation boundaries
- Translation Service: Context-aware translation processing
- MCP Server: Protocol implementation for AI integration
Key Features
- Intelligent Chunking: Breaks large files at natural conversation boundaries
- Context Preservation: Maintains conversation context for better translations
- Style Tag Support: Preserves HTML formatting during translation
- Timing Validation: Ensures timing sequences are valid and ascending
- Error Handling: Comprehensive error reporting and validation
Testing
The project includes comprehensive tests for all core functionality:
- Time parsing and formatting
- SRT file parsing and validation
- Style tag detection and preservation
- Conversation detection algorithms
- Translation workflow integration
Run tests with:
npm test
License
MIT License - see LICENSE file for details.
