POEditor MCP Server
# POEditor MCP Server
A Model Context Protocol (MCP) server for interacting with POEditor's translation management API.
## Installation
```bash
npm install
npm run build
```
## Testing
```bash
npm test
```
## Configuration
Configure the MCP server in your client (e.g., Claude Desktop) by adding it to your MCP settings:
```json
{
"mcpServers": {
"poeditor": {
"command": "npx",
"args": ["poeditor-mcp@latest"],
"env": {
"POEDITOR_API_TOKEN": "your_api_token_here",
"POEDITOR_PROJECT_ID": "your_project_id"
}
}
}
}
```
**Required:**
- `POEDITOR_API_TOKEN`: Your POEditor API token (get it from [POEditor API Access](https://poeditor.com/account/api))
**Optional:**
- `POEDITOR_PROJECT_ID`: Default project ID (can be overridden per tool call)
## Available Tools
- **add_terms_with_translations** ⭐ **PREFERRED** - Create multiple new terms and add their translations in one operation
- **add_translations** - Add translations for existing terms (does not overwrite)
- **update_translations** - Update/overwrite existing translations
- **list_terms** - List all terms (with optional translations)
- **project_details** - View project metadata (name, counts, last activity)
- **delete_terms** - Remove one or more terms by term/context
- **update_terms** - Update term metadata (rename, change context, references, tags)
- **delete_translations** - Remove translations for specific term/context pairs
- **list_languages** - List languages currently enabled in a project
- **list_available_languages** - List all languages that POEditor supports (for reference when adding languages)
- **add_language** - Add a new language to the project
### Important Note on Context
POEditor uses the combination of `term` + `context` as a unique identifier. **If a term is created with a context value, you must provide the same context when adding or updating translations for that term.** Otherwise, POEditor will not be able to match the translation to the correct term.
## License
MIT
TDQS
Scored across 11 tools
Most tools have distinct purposes, but there is some overlap between add_terms_with_translations and the separate add_terms/add_translations pair, which could cause confusion despite clear guidance. Tools like list_available_languages and list_languages are well-differentiated by scope.
All tool names follow a consistent verb_noun pattern with underscores, such as add_language, delete_terms, and update_translations. This predictability makes the set easy to navigate and understand.
With 11 tools, the server is well-scoped for managing translations in POEditor, covering core operations like adding, updating, deleting, and listing terms, languages, and translations. Each tool serves a clear purpose without bloat.
The tool set provides comprehensive CRUD coverage for terms, translations, and languages, with minor gaps such as no direct tool for creating a project or managing project settings. However, core workflows for translation management are fully supported.