Skip to main content
Glama
omd0
by omd0
README.md
# 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

```bash
# Install dependencies
npm install

# Build the project
npm run build

# Run tests
npm test
```

## Usage

### As an MCP Server

```bash
# 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 content
- `write_srt`: Write SRT file from parsed data
- `detect_conversations`: Detect conversation boundaries in SRT content
- `translate_srt`: Translate SRT content with context preservation
- `translate_chunk`: Translate a specific chunk of SRT content

### Example Usage

```typescript
// 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

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

1. **Intelligent Chunking**: Breaks large files at natural conversation boundaries
2. **Context Preservation**: Maintains conversation context for better translations
3. **Style Tag Support**: Preserves HTML formatting during translation
4. **Timing Validation**: Ensures timing sequences are valid and ascending
5. **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:
```bash
npm test
```

## License

MIT License - see LICENSE file for details.

TDQS

A3.7/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a distinct, non-overlapping purpose in the SRT translation workflow: detect_conversations analyzes and chunks files, get_next_chunk retrieves chunks sequentially, parse_srt parses SRT content, todo_management manages tasks, translate_srt prepares content for AI translation, and write_srt writes output. The descriptions clearly differentiate their roles, with no ambiguity or overlap in functionality.

Naming Consistency4/5

Most tools follow a clear verb_noun pattern (e.g., detect_conversations, get_next_chunk, parse_srt, write_srt), which is consistent and predictable. However, translate_srt and todo_management deviate slightly by using a verb_noun format but with less precise action verbs, and todo_management is more generic. Overall, the naming is highly consistent with only minor deviations.

Tool Count5/5

With 6 tools, the server is well-scoped for its purpose of SRT translation. Each tool serves a specific role in the workflow (analysis, chunking, parsing, task management, translation preparation, and output), and none feel redundant or unnecessary. This count is ideal for covering the domain without being overwhelming or insufficient.

Completeness5/5

The tool set provides complete coverage for the SRT translation domain, supporting a full workflow from input analysis to output generation. It includes detection, chunking, parsing, task management, translation preparation, and file writing, with no obvious gaps. The descriptions emphasize a cohesive process, ensuring agents can handle all necessary operations without dead ends.

Maintenance

ActivityInactive
ResponsivenessNo issues