# OpenRead MCP server

> Translates web pages, PDFs, EPUBs, and YouTube captions locally using Chrome's built-in engine or Ollama for privacy.

- Repository: https://github.com/0Smallcat0/OpenRead
- Page: https://hostedmcp.org/servers/0smallcat0/openread
- Transport: stdio
- Stars: 0
- License: MIT

## Install

### Claude Code

```sh
claude mcp add openread -- npx -y openread
```

### Cursor (`~/.cursor/mcp.json`)

```json
{
  "mcpServers": {
    "openread": {
      "command": "npx",
      "args": [
        "-y",
        "openread"
      ]
    }
  }
}
```

### VS Code (`.vscode/mcp.json`)

```json
{
  "servers": {
    "openread": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "openread"
      ]
    }
  }
}
```

### VS Code CLI

```sh
code --add-mcp '{"name":"openread","type":"stdio","command":"npx","args":["-y","openread"]}'
```

### Claude Desktop (`claude_desktop_config.json`)

```json
{
  "mcpServers": {
    "openread": {
      "command": "npx",
      "args": [
        "-y",
        "openread"
      ]
    }
  }
}
```

### Codex

```sh
codex mcp add openread -- npx -y openread
```

### Codex config.toml (`~/.codex/config.toml`)

```toml
[mcp_servers.openread]
command = "npx"
args = ["-y", "openread"]
```

### Gemini CLI

```sh
gemini mcp add -s user openread npx -- -y openread
```

### Gemini settings.json (`~/.gemini/settings.json`)

```json
{
  "mcpServers": {
    "openread": {
      "command": "npx",
      "args": [
        "-y",
        "openread"
      ]
    }
  }
}
```

## FAQ

### Does OpenRead require an account or subscription?

No, it is free with no account or quota required.

### How does OpenRead handle privacy?

It uses on-device engines like Chrome's built-in translator or Ollama so text stays on your machine.

### Can it translate YouTube videos?

Yes, it can translate YouTube captions, including auto-generated ones, by placing the translation under each line.

### Can I use it as an MCP server?

Yes, you can add it to Claude via MCP to allow agents to translate text locally.
