# io.github.equalang-ai/equalang-mcp (npm · @equalang/mcp)

Translate documents, subtitles, pictures, audio and video with layout kept; transcribe recordings.

- Trust score: 69/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-26

## Components

- npm · `@equalang/mcp`: 69/100 (this document), [markdown](https://verifymcp.io/servers/equalang-ai-equalang-mcp/equalang-mcp.md), [page](https://verifymcp.io/servers/equalang-ai-equalang-mcp/equalang-mcp)

## Channel facts

- Registry: `npm`
- Package: `@equalang/mcp`
- Version: `0.2.4`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-26.

- **Supply Chain Security**: 98/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - No install/post-install scripts declared.
  - 31 of 96 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (Apache-2.0).
  - Actively maintained (last published 3 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 72/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1429 tokens (~178/item across 8 items; 8 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: not enough scan history yet (needs a 30-day window).
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 8 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 9 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

**Unverified: 1 category.** A category scored 0 because we could not verify it: a data source with nothing on this package, evidence we could not reach, or a check we could not run. We only credit what we can confirm.

## Install

### How do I install the io.github.equalang-ai/equalang-mcp server?

io.github.equalang-ai/equalang-mcp runs locally as an npm package, launched with npx -y @equalang/mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add equalang-ai-equalang-mcp -- npx -y @equalang/mcp
```

### Cursor

```json
{
  "mcpServers": {
    "equalang-ai-equalang-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@equalang/mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "equalang-ai-equalang-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@equalang/mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add equalang-ai-equalang-mcp -- npx -y @equalang/mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "equalang-ai-equalang-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@equalang/mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add equalang-ai-equalang-mcp --command npx --arg -y --arg @equalang/mcp
```

### Hermes

```yaml
mcp_servers:
  equalang-ai-equalang-mcp:
    command: "npx"
    args: ["-y", "@equalang/mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "equalang-ai-equalang-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "@equalang/mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add equalang-ai-equalang-mcp -t stdio -c npx -a -y @equalang/mcp
```

### Other

```json
{
  "mcpServers": {
    "equalang-ai-equalang-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@equalang/mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-25 (score 69, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-22 (score 69)

First indexed and scored.

## MCP tools (8)

### `translate_file` (~386 tokens)

Translate a file

Translate a whole file into another language and save the result, keeping its layout, tables, images and formulas. Documents (pdf, docx, pptx, xlsx, epub, html, txt), subtitles (srt, vtt), pictures (jpg, png, webp, bmp), and recordings (mp3, m4a, wav, flac, ogg, aac, opus, mp4, mov, webm, mkv), which come back as translated subtitles. Answers with the paths written, never the contents. COSTS THE USER'S CREDITS: say what it will cost and get their agreement first -- estimate_cost gives the number for a file.

Input parameters:

- `bilingual` (boolean): Subtitles and recordings only: keep the original line above each translated one.
- `file_id` (string): A file already uploaded by estimate_cost, instead of source: starts the job without uploading again.
- `output_dir` (string): Directory for the results. Defaults to beside a local source. A URL source has no "beside": without this the answer carries temporary links.
- `output_formats` (array): Recordings only: the formats to write (default srt).
- `source` (string): The file: an absolute path on this machine, or a public http(s) URL (fetched by Equalang, not downloaded here). Omit when passing file_id.
- `source_language` (string): Language of the file; omit to detect it.
- `target_language` (string, required): Language to translate into. A language code such as en, zh-CN, zh-TW, ja, ko, es, fr, de. list_languages has the codes: fewer for files than for text.
- `wait_seconds` (number): Seconds to wait before answering with a job_id instead (default 50, at most 240).

### `transcribe_recording` (~288 tokens)

Transcribe a recording

Write down what is said in an audio or video file (mp3, m4a, wav, flac, ogg, aac, opus, mp4, mov, webm, mkv) as timed text, in the language spoken, and save it. For a translation of the recording use translate_file instead. Charged for the speech actually heard: silence and music are not. COSTS THE USER'S CREDITS: say what it will cost and get their agreement first -- estimate_cost gives the number for a file.

Input parameters:

- `file_id` (string): A file already uploaded by estimate_cost, instead of source: starts the job without uploading again.
- `output_dir` (string): Directory for the results. Defaults to beside a local source. A URL source has no "beside": without this the answer carries temporary links.
- `output_formats` (array): The formats to write (default srt). txt is plain text without times.
- `source` (string): The file: an absolute path on this machine, or a public http(s) URL (fetched by Equalang, not downloaded here). Omit when passing file_id.
- `source_language` (string): Language spoken; omit to detect it.
- `wait_seconds` (number): Seconds to wait before answering with a job_id instead (default 50, at most 240).

### `translate_text` (~233 tokens)

Translate text

Translate plain text and answer with the translation. Pass texts for separate strings -- labels, messages: each translated on its own, answered in order, at most 50 texts of 5,000 characters, 20,000 characters per call. Pass text for one long text -- an article, a chapter, up to 100,000 characters: it is cut at sentences by Equalang, so do not split it yourself. For anything that is a file, use translate_file, which keeps its formatting. Charged by length, a small amount; the answer says how much.

Input parameters:

- `source_language` (string): Language of the text; omit to detect it.
- `target_language` (string, required): Language to translate into. A language code such as en, zh-CN, zh-TW, ja, ko, es, fr, de. list_languages has the codes: fewer for files than for text.
- `text` (string): One whole text, paragraphs and line breaks included, instead of texts.
- `texts` (array): Separate strings, each translated on its own. Omit when passing text.

### `estimate_cost` (~93 tokens)

Estimate what a file will cost

Upload a local file without starting anything, and answer with the most a job on it can cost in credits. Free. Pass the returned file_id to translate_file or transcribe_recording so the file is not uploaded twice; kept_until says how long it is held. A recording is charged for the speech actually heard, usually less than the estimate.

Input parameters:

- `path` (string, required): Absolute path to the file on this machine.

### `check_job` (~114 tokens)

Check a job

Look a job up by id and, if it has finished, save its results. Use after a tool answered before its job was done.

Input parameters:

- `job_id` (string, required): The job_id an earlier call answered with.
- `output_dir` (string): Directory for the results. Defaults to beside a local source. A URL source has no "beside": without this the answer carries temporary links.
- `wait_seconds` (number): Seconds to keep waiting if it is still running (default 0, at most 240).

### `cancel_job` (~45 tokens)

Cancel a job

Stop a queued or running job. A cancelled job is not charged; one that had already finished is left as it is.

Input parameters:

- `job_id` (string, required): The job to stop.

### `get_credit_balance` (~38 tokens)

Check the credit balance

How many credits the account has. Credits are bought at https://equalang.com/pricing; the same balance serves the website and this server.

### `list_languages` (~92 tokens)

List the languages

The language codes Equalang takes, with their names, read from the live API. Needs no key. Use it to turn a language's name into its code.

Input parameters:

- `kind` (string): file (default): the languages translate_file takes; text: the wider set translate_text takes.
- `matching` (string): Only languages whose name or code contains this, e.g. "chinese" or "pt".

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/equalang-ai-equalang-mcp/equalang-mcp#diagnostics

## Score history

- 2026-09-26: 69
- 2026-09-25: 69
- 2026-09-24: 69
- 2026-09-23: 69
- 2026-09-22: 69

## Common questions

### What is the io.github.equalang-ai/equalang-mcp server?

io.github.equalang-ai/equalang-mcp is listed in the public MCP registry as io.github.equalang-ai/equalang-mcp. Translate documents, subtitles, pictures, audio and video with layout kept; transcribe recordings. This page covers its npm package (@equalang/mcp).

### Is the io.github.equalang-ai/equalang-mcp server safe to use?

io.github.equalang-ai/equalang-mcp scores 69 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 26 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the io.github.equalang-ai/equalang-mcp server expose?

io.github.equalang-ai/equalang-mcp exposes 8 tools: translate_file, transcribe_recording, translate_text, estimate_cost, check_job, and 3 more. Their descriptions and schemas cost roughly 1,289 tokens of context every time the server is loaded.

### Is the io.github.equalang-ai/equalang-mcp server still maintained?

io.github.equalang-ai/equalang-mcp is still listed as active in the MCP registry. We last reached this channel on 26 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the io.github.equalang-ai/equalang-mcp server under?

io.github.equalang-ai/equalang-mcp declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- npm package: https://www.npmjs.com/package/@equalang/mcp
- Socket report: https://socket.dev/npm/package/@equalang/mcp
- Repository: https://github.com/equalang/equalang-mcp
- Changelog RSS feed: https://verifymcp.io/servers/equalang-ai-equalang-mcp/equalang-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/equalang-ai-equalang-mcp/equalang-mcp.json
- HTML version of this page: https://verifymcp.io/servers/equalang-ai-equalang-mcp/equalang-mcp
