A Model Context Protocol (MCP) server that provides seamless integration with Weblate translation management platform. This server enables AI assistants to interact directly with your Weblate instance for comprehensive translation management. 🌟 Features - **🔧 Complete Weblate API Access**: Full integration with Weblate's REST API - **🤖 AI-Powered Workflow**: Natural language interaction with your translation projects - **📊 Project Management**: Create, list, and manage translation projects - **🔍 Component Operations**: Handle translation components and configurations - **✏️ Translation Management**: Update, search, and manage translations - **🌐 Language Support**: Work with all supported languages in your Weblate instance - **🚀 Multiple Transports**: HTTP/SSE, Streamable HTTP, and STDIO support - **🛡️ Type Safety**: Full TypeScript implementation with comprehensive error handling - **⚡ LLM-Optimized**: Tools designed to guide AI models toward efficient usage patterns 🎯 What is This? This MCP server acts as a bridge between AI assistants (like Claude Desktop) and your Weblate translation management platform. Instead of manually navigating the Weblate web interface, you can use natural language to: - **"List all projects in my Weblate instance"** - **"Show me the French translations for the frontend component"** - **"Update the welcome message translation"** - **"Create a new translation project"** 🚀 Quick Start Option 1: Use with npx (Recommended) The easiest way to use this MCP server is with npx - no installation required! **For Claude Desktop or other MCP clients:** **Manual testing:** Option 2: Development Setup Prerequisites - Node.js 18+ - pnpm package manager - Weblate instance with API access Installation Server runs on http://localhost:3001 by default. Environment Configuration 🔗 MCP Client Configuration Claude Desktop (npx method - Recommended) Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json): Claude Desktop (Development/Local) For development or local builds: HTTP Clients (Cursor, VS Code, Web Apps) 🛠️ Available Tools 📊 Project Management | Tool | Description | |------|-------------| | **listProjects** | List all available Weblate projects with URLs and metadata | 🔧 Component Management | Tool | Description | |------|-------------| | **listComponents** | List components in a specific project with source language details | ✏️ Translation Management | Tool | Description | |------|-------------| | **searchUnitsWithFilters** ⭐ | **Efficient search using Weblate's native filtering syntax** | | **searchStringInProject** | Search for translations containing specific text in a project | | **getTranslationForKey** | Get translation value for a specific key | | **writeTranslation** | Update or write translation values with approval support | | **bulkWriteTranslations** ⚡ | **Batch update multiple translations efficiently with error handling** | | **findTranslationsForKey** | Find all translations for a specific key across languages | 🚀 Why searchUnitsWithFilters is Recommended The searchUnitsWithFilters tool uses Weblate's native filtering syntax, making it the most efficient way to find translations: - **❌ Inefficient**: Getting all keys then checking each one individually (can make thousands of API calls) - **✅ Efficient**: Single filtered search using Weblate's query syntax **Example efficient queries:** - state:=0 - Find untranslated strings - state:=10 - Find strings that need editing - source:"login" - Find strings containing "login"