mark-hingston/po-editor-mcp-server
If you are the rightful owner of po-editor-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The POEditor MCP Server is a Model Context Protocol server designed to interface with the POEditor API, providing a suite of tools for managing translation projects.
projectsList
Lists all your projects.
projectsView
Gets the details of a specific project.
projectsAdd
Creates a new project.
projectsUpdate
Updates an existing project's settings.
projectsDelete
Deletes a project.
projectsExport
Exports project translations to a file and provides a download link.
projectsSync
Synchronizes project terms.
languagesAvailable
Lists available languages for a project.
languagesList
Lists the languages in a project.
languagesAdd
Adds a language to a project.
languagesUpdate
Updates translations for a specific language.
languagesDelete
Deletes a language from a project.
termsList
Lists project terms.
termsAdd
Adds new terms to a project.
termsUpdate
Updates existing terms.
termsDelete
Deletes terms from a project.
termsAddComment
Adds comments to terms.
translationsAdd
Adds new translations.
translationsUpdate
Updates existing translations.
translationsDelete
Deletes translations.
contributorsList
Lists contributors for a project or across all projects.
contributorsAdd
Adds a contributor to a project.
contributorsRemove
Removes a contributor from a project.
POEditor MCP Server
This project provides a Model Context Protocol (MCP) server for interacting with the POEditor API. It exposes the various API endpoints as tools that can be used by any MCP-compatible client.
Features
- Provides a comprehensive set of tools for managing POEditor projects, languages, terms, and contributors.
- Securely handles the POEditor API token via an environment variable.
- Built with the official
@modelcontextprotocol/sdk
. - Configured as an executable command-line application.
- Containerized with Docker for easy deployment.
Prerequisites
- Node.js (v18 or higher recommended) for local development.
- Docker for running as a container.
- A POEditor account and API Token. You can get your token from your API Access page.
Getting Started
There are two ways to run this server: locally with Node.js or with Docker.
Option 1: Running Locally with Node.js
1. Installation
Clone the repository and install the dependencies:
git clone <repository-url>
cd po-editor-mcp-server
npm install
2. Configuration
This server requires your POEditor API token to be set as an environment variable.
Linux/macOS:
export POEDITOR_API_TOKEN="your_api_token_here"
Windows (Command Prompt):
set POEDITOR_API_TOKEN="your_api_token_here"
Windows (PowerShell):
$env:POEDITOR_API_TOKEN="your_api_token_here"
3. Building and Running
Build the server first, then run it:
npm run build
npm run start
The server will start and listen for MCP requests on standard input/output.
Option 2: Running with Docker
1. Build the Docker Image
From the root of the project, build the Docker image:
docker build -t po-editor-mcp-server .
2. Run the Docker Container
Run the container, passing your POEditor API token as an environment variable:
docker run --rm -i -e POEDITOR_API_TOKEN="your_api_token_here" po-editor-mcp-server
The -i
flag is important as it keeps stdin
open, which is required for the MCP server to receive requests.
Available Tools
The server exposes the POEditor API endpoints as tools. Here is a list of the available tools and their primary functions:
Projects
projectsList
: Lists all your projects.projectsView
: Gets the details of a specific project.projectsAdd
: Creates a new project.projectsUpdate
: Updates an existing project's settings.projectsDelete
: Deletes a project.projectsExport
: Exports project translations to a file and provides a download link.projectsSync
: Synchronizes project terms.
Languages
languagesAvailable
: Lists available languages for a project.languagesList
: Lists the languages in a project.languagesAdd
: Adds a language to a project.languagesUpdate
: Updates translations for a specific language.languagesDelete
: Deletes a language from a project.
Terms
termsList
: Lists project terms.termsAdd
: Adds new terms to a project.termsUpdate
: Updates existing terms.termsDelete
: Deletes terms from a project.termsAddComment
: Adds comments to terms.
Translations
translationsAdd
: Adds new translations.translationsUpdate
: Updates existing translations.translationsDelete
: Deletes translations.
Contributors
contributorsList
: Lists contributors for a project or across all projects.contributorsAdd
: Adds a contributor to a project.contributorsRemove
: Removes a contributor from a project.
For detailed information on the parameters for each tool, you can inspect the inputSchema
in the src/tools.ts
file.