LingoHub MCP by usefulapi

io.usefulapi/lingohub · v1.0.2 · developer-tools

LingoHub MCP by usefulapi is healthy: it completed an MCP handshake in 176 ms and exposes 14 tools.

MCP server for LingoHub — localization projects, resources, exports and repository pushes.

Endpoint: https://lingohub.usefulapi.io/mcp (streamable-http)

Repository · Website · JSON · Add to my inventory

Facts

Users (last 30 days)0
HandshakeHealthy
Auth neededNone
Tool count14
Latency176 ms
Last checked (UTC)2026-10-31T07:20:25.669Z

Health history

Checked (UTC)StatusLatencyError
2026-10-31T07:20:25.669ZHealthy176

Tools (14)

lingohub_list_projectsList every Lingohub project this API key can see (owned and shared, across workspaces). Each entry has the title, its links and the workspace_url + project_url slugs that every other tool needs. GET /v1/projects.
lingohub_get_projectOne project: title, description, owner email, configured locales (project_locales), timestamps and links. GET /v1/{workspace_url}/projects/{project_url}.
lingohub_get_project_statusTranslation status of one project: each resource file with per-locale segment counts (NOT_TRANSLATED, DRAFT, TRANSLATED, APPROVED, ...), failing quality checks, the export formats it supports and whether a Git repository is connected and can be pushed to. GET .../projects/{project_url}/status.
lingohub_get_workspace_statusTranslation progress of every project in one workspace: title, app URL, total segment count and per-locale counts by status (NOT_TRANSLATED, DRAFT, TRANSLATED, PREFILLED, APPROVED). GET /v1/{workspace_url}/projects/status.
lingohub_create_projectWRITE: create a new localization project in a workspace (needs settings-management permission on the key). Returns the new project with its links. It adds a project and changes nothing existing; repeating the call can create a second project. POST /v1/{workspace_url}/projects.
lingohub_list_resourcesList a project's resource files: name, locale and links (including a download link). GET .../projects/{project_url}/resources.
lingohub_download_resourceDownload one resource file as text, in one language. file_name is the file name as list_resources shows it (the folder goes in `path`). Long files are cut at 40000 characters (truncated: true); use request_export for a full copy. GET .../projects/{project_url}/resources/{file_name}.
lingohub_upload_resource_fileWRITE: upload one text resource file (JSON, properties, XLIFF, PO, ...) into a project. The language comes from the file name or from `language`. The import flags decide whether existing segments are changed or deactivated: with updating or deactivation on, translations already in Lingohub can be ov
lingohub_delete_resourceWRITE, DESTRUCTIVE: delete a resource container: the source-language file AND all its target-language files with their translations. file_name and path must address the source-language file. This cannot be undone through the API. Never retried. DELETE .../projects/{project_url}/resources/{file_name}
lingohub_request_exportStart an asynchronous export of a project's resource files as a ZIP. It creates an export job and changes no project data. Returns the export id; poll get_export until its status is SUCCESS to get the download URL. Without filters it exports every file and language. POST .../projects/{project_url}/e
lingohub_get_exportStatus of an export started with request_export: overall and per-file status (NEW, SCHEDULED, PROCESSING, SUCCESS, SKIPPED, ERROR), error details and, when done, the pre-signed download URL of the ZIP. GET .../projects/{project_url}/exports/{export_id}.
lingohub_list_context_imagesList the context images (screenshots that show translators where a text is used) of a project, with connected-segment counts and processing status. Paginated; page is zero-based. GET .../projects/{project_url}/contextImages.
lingohub_delete_context_imageWRITE, DESTRUCTIVE: delete one context image and its connections to text segments. Never retried. DELETE .../projects/{project_url}/contextImages/{image_id}.
lingohub_push_to_repositoryWRITE: push the project's resource files to its linked Git repository (GitHub, GitLab, Bitbucket or Azure DevOps; the connection must already exist). Depending on push_type this commits to a branch or opens a pull request, so it changes the user's repository. Never retried. POST .../projects/{projec