Skip to main content
ClaudeWave
samson-art avatar
samson-art

transcriptor-mcp

Ver en GitHub

An MCP server (stdio + HTTP/SSE) that fetches video transcripts/subtitles via yt-dlp, with pagination for large responses. Supports YouTube, Twitter/X, Instagram, TikTok, Twitch, Vimeo, Facebook, Bilibili, VK, Dailymotion. Whisper fallback — transcribes audio when subtitles are unavailable (local or OpenAI API). Works with Cursor and other MCP host

MCP ServersRegistry oficial19 estrellas4 forksTypeScriptMITActualizado today
ClaudeWave Trust Score
95/100
Verified
Passed
  • Open-source license (MIT)
  • Actively maintained (<30d)
  • Clear description
  • Topics declared
  • Documented (README)
Last scanned: 8/28/2026
Install in Claude Code / Claude Desktop
Method: Docker · artsamsonov/transcriptor-mcp
Claude Code CLI
claude mcp add transcriptor-mcp -- docker run -i --rm artsamsonov/transcriptor-mcp
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "transcriptor-mcp": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "artsamsonov/transcriptor-mcp"]
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
Casos de uso

Resumen de MCP Servers

<div align="center">

<img src="assets/logo-small.webp" alt="Transcriptor MCP" width="120" />

# 🎬 Now your AI assistant can watch videos!

**Connect one server. Then ask Claude, ChatGPT or etc about a video:** the transcript, the chapters, the metadata, or a single frame. It works with 11 platforms, not only YouTube.

[![Website](https://img.shields.io/badge/Website-transcriptor--mcp.org-C15F3C)](https://transcriptor-mcp.org)
[![MCP Registry](https://img.shields.io/badge/MCP%20Registry-transcriptor--mcp-6E56CF)](https://registry.modelcontextprotocol.io/v0/servers?search=transcriptor)
[![Docker](https://img.shields.io/badge/Docker-artsamsonov/transcriptor--mcp-2496ED?logo=docker&logoColor=white)](https://hub.docker.com/r/artsamsonov/transcriptor-mcp)
[![MCP Apps](https://img.shields.io/badge/MCP%20Apps-4%20interactive%20widgets-8A63D2)](#-widgets)
[![License](https://img.shields.io/github/license/samson-art/transcriptor-mcp)](LICENSE)

**[Connect](#-connect-in-30-seconds) · [What to ask](#-what-you-can-ask) · [Widgets](#-widgets) · [Platforms](#-platforms) · [Self-host](#-self-host)**

</div>

---

## ⚡ Connect in 30 seconds

The hosted endpoint is:

```text
https://transcriptor.gateway.mcpal.io/mcp
```

### 🖱️ One click

[![Add to Cursor](https://img.shields.io/badge/Add%20to-Cursor-000000?style=for-the-badge&logo=cursor&logoColor=white)](https://cursor.com/install-mcp?name=transcriptor&config=eyJ1cmwiOiJodHRwczovL3RyYW5zY3JpcHRvci5nYXRld2F5Lm1jcGFsLmlvL21jcCJ9)
[![Install in VS Code](https://img.shields.io/badge/Install%20in-VS%20Code-0098FF?style=for-the-badge&logo=visualstudiocode&logoColor=white)](https://vscode.dev/redirect/mcp/install?name=transcriptor&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Ftranscriptor.gateway.mcpal.io%2Fmcp%22%7D)
[![Add to LM Studio](https://img.shields.io/badge/Add%20to-LM%20Studio-4B5563?style=for-the-badge)](https://lmstudio.ai/install-mcp?name=transcriptor&config=eyJ1cmwiOiJodHRwczovL3RyYW5zY3JpcHRvci5nYXRld2F5Lm1jcGFsLmlvL21jcCJ9)

### ⌨️ One command, for Claude Code

```bash
claude mcp add --transport http transcriptor https://transcriptor.gateway.mcpal.io/mcp
```

Then run `/mcp` and approve the sign-in in the browser. After this, `claude mcp list` shows `✔ Connected`.

### 🧭 No terminal

| Client | What to do |
| --- | --- |
| **Claude** (web and desktop) | Open [Settings → Customize → Connectors](https://claude.ai/settings/connectors). Select **Add** → **Add custom connector**, paste `https://transcriptor.gateway.mcpal.io/mcp`, then select **Add**. |
| **ChatGPT** | Open [Settings → **Security and login**](https://chatgpt.com/#settings) and turn on **Developer mode**. Then open Plugins, select **+**, and paste `https://transcriptor.gateway.mcpal.io/mcp`. |
| **Codex** | Add the block below to `~/.codex/config.toml`, then run `codex mcp login transcriptor`. The CLI, the IDE extension and the ChatGPT desktop app share this file. |

```toml
[mcp_servers.transcriptor]
url = "https://transcriptor.gateway.mcpal.io/mcp"
auth = "oauth"
```

> **Note:** ChatGPT developer mode is available on the web, for paid plans. Some releases show this control as Settings → Apps & Connectors → Advanced.
>
> **Note:** `codex mcp add` registers stdio servers only, so a hosted server goes into `config.toml`. See the [Codex MCP docs](https://learn.chatgpt.com/docs/extend/mcp?surface=cli).

### 🧩 Any other MCP client

If your client is not in the list above, add the server with this configuration:

```json
{
  "mcpServers": {
    "transcriptor": {
      "url": "https://transcriptor.gateway.mcpal.io/mcp"
    }
  }
}
```

If you want to run the server yourself, read [Self-host](#-self-host). The tools are the same and you need no account.

---

## 🧰 What you can ask

| Ask for this | Tool |
| --- | --- |
| *"Summarize this video for me"* | `get_transcript` |
| *"Give me the subtitles as an SRT file"* | `get_raw_subtitles` |
| *"Is there a German track for this video?"* | `get_available_subtitles` |
| *"Who published this and how many views?"* | `get_video_info` |
| *"Go to the part about pricing"* | `get_video_chapters` |
| *"Show me the screen at 4:12"* | `get_video_frame` |
| *"Get transcripts for the first 5 videos in this playlist"* | `get_playlist_transcripts` |
| *"Find recent videos about X"* | `search_videos` (YouTube) |

Long transcripts come in parts. Each response gives a cursor for the next part, so no text is lost.

<details>
<summary><b>Full tool reference</b> (input and structured response)</summary>

Each tool that takes a video accepts `url`. This is a link from a [supported platform](#-platforms) or a plain YouTube ID. Each tool returns `content` (text for the chat) and `structuredContent` (typed JSON for your code).

#### `get_transcript`

Clean plain text, without timestamps, HTML, or speaker names. The tool finds the type and the language for you.

Response: `videoId`, `type`, `lang`, `text`, `is_truncated`, `total_length`, `start_offset`, `end_offset`. When more text is available, the response also has `next_cursor`.

#### `get_raw_subtitles`

Raw SRT or VTT content, in parts.

Input:

- `type` — `official` or `auto`
- `lang` — a language code
- `response_limit` — default `50000`, minimum `1000`, maximum `200000`
- `next_cursor` — the cursor of the previous response

Response: the fields of `get_transcript`, plus `format` (`srt` or `vtt`) and `content`.

#### `get_available_subtitles`

Response: `official` and `auto`. Each field is a sorted list of language codes. Use this tool first, then give `type` and `lang` to the tools above.

#### `get_video_info`

Extended metadata from yt-dlp:

- identity — `videoId`, `title`, `description`, `webpageUrl`
- author — `uploader`, `uploaderId`, `channel`, `channelId`, `channelUrl`
- numbers — `duration`, `uploadDate`, `viewCount`, `likeCount`, `commentCount`
- classification — `tags`, `categories`, `liveStatus`, `isLive`, `wasLive`, `availability`
- images — `thumbnail` and `thumbnails`

#### `get_video_chapters`

Response: `chapters`. Each item has `startTime`, `endTime`, and `title`. When the video has no chapters, the list is empty.

#### `get_video_frame`

Input:

- `timecode` — `"MM:SS"` or `"HH:MM:SS.mmm"`
- `seconds` — an alternative to `timecode`. Give one of the two, not both
- `format` — `jpeg` (default) or `png`
- `width` — default `1280`, maximum `1920`, never larger than the source
- `quality` — `2` to `31`, for jpeg only

Response: an image block, plus `timestampSeconds`, `timestamp`, `mimeType`, `sizeBytes`, and `width`. This tool needs `ffmpeg`. The Docker image includes it.

#### `get_playlist_transcripts`

Input:

- `url` — a playlist URL, or a watch URL with `list=`
- `type`, `lang`, `format` — the same as `get_raw_subtitles`
- `playlistItems` — a yt-dlp `-I` value such as `1:5`, `1,3,7`, or `-1`
- `maxItems` — the maximum number of videos

Response: `results`. Each item has `videoId` and `text`.

#### `search_videos`

Input:

- `query` — the search text
- `limit` — default 10, maximum 50
- `offset` — the number of results to skip
- `uploadDateFilter` — `hour`, `today`, `week`, `month`, or `year`
- `response_format` — `json` (default) or `markdown`

Response: `results`. Each item has `videoId`, `title`, `url`, `duration`, `uploader`, `viewCount`, and `thumbnail`.

</details>

---

## 📺 Widgets

Four tools have an interactive interface: `get_transcript`, `get_video_info`, `get_video_frame`, and `search_videos`. Clients that support [MCP Apps](https://github.com/modelcontextprotocol/ext-apps) and the ChatGPT Apps SDK show this interface in the chat. Other clients get the same data as text and JSON.

<table>
  <tr>
    <td width="50%" valign="top">
      <img src="assets/widget-search.webp" alt="The search_videos widget: a carousel of result cards with thumbnails, durations, and view counts" />
      <p align="center"><sub><code>search_videos</code> · <i>"model context protocol MCP server production"</i></sub></p>
    </td>
    <td width="50%" valign="top">
      <img src="assets/widget-video-frame.webp" alt="The get_video_frame widget: one captured frame with step controls and a timecode field" />
      <p align="center"><sub><code>get_video_frame</code> · an architecture slide at 3:30</sub></p>
    </td>
  </tr>
  <tr>
    <td width="50%" valign="top">
      <img src="assets/widget-transcript.webp" alt="The get_transcript widget: a video card above a searchable list of timed captions" />
      <p align="center"><sub><code>get_transcript</code> · a 3-minute MCP explainer, official captions</sub></p>
    </td>
    <td width="50%" valign="top">
      <img src="assets/widget-video-info.webp" alt="The get_video_info widget: thumbnail, channel, views, likes, description, and a subtitle language picker" />
      <p align="center"><sub><code>get_video_info</code> · channel, views, likes, and 169 caption languages</sub></p>
    </td>
  </tr>
</table>

---

## 🌍 Platforms

**YouTube · Twitter/X · Instagram · TikTok · Twitch · Vimeo · Facebook · Bilibili · VK · Dailymotion · Reddit**

Each tool that takes a video accepts a link from these 11 platforms. The tool `search_videos` works with YouTube only, through yt-dlp `ytsearch`.

The server does not download video or audio files for you. It returns text, metadata, and single frames.

---

## 🐳 Self-host

The tools are the same as on the hosted endpoint. You need no account.

Run the server with Docker. The image serves Streamable HTTP on port 4200:

```bash
docker run --rm -p 4200:4200 artsamsonov/transcriptor-mcp:latest
```

Then point your client at `http://localhost:4200/mcp`.

For stdio, give the image an explicit command:

```bash
docker run --rm -i artsamsonov/transcriptor-mcp:latest npm run start:mcp
```

```json
{
  "mcpServers": {
    "transcriptor": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "artsamsonov/transcriptor-mcp:latest", "npm", "run", "start:mcp"]
    }
  }
}
```

The server starts with no environment variables. 
claude-codecursordockermcpmcp-serveryoutubeyoutube-captionsyt-dlp

Lo que la gente pregunta sobre transcriptor-mcp

¿Qué es samson-art/transcriptor-mcp?

+

samson-art/transcriptor-mcp es mcp servers para el ecosistema de Claude AI. An MCP server (stdio + HTTP/SSE) that fetches video transcripts/subtitles via yt-dlp, with pagination for large responses. Supports YouTube, Twitter/X, Instagram, TikTok, Twitch, Vimeo, Facebook, Bilibili, VK, Dailymotion. Whisper fallback — transcribes audio when subtitles are unavailable (local or OpenAI API). Works with Cursor and other MCP host Tiene 19 estrellas en GitHub y su última actualización registrada es del 2026-08-27.

¿Cómo se instala transcriptor-mcp?

+

Puedes instalar transcriptor-mcp clonando el repositorio (https://github.com/samson-art/transcriptor-mcp) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.

¿Es seguro usar samson-art/transcriptor-mcp?

+

Nuestro agente de seguridad ha analizado samson-art/transcriptor-mcp y le ha asignado un Trust Score de 95/100 (tier: Verified). Revisa el desglose completo de comprobaciones superadas y flags en esta página.

¿Quién mantiene samson-art/transcriptor-mcp?

+

samson-art/transcriptor-mcp es mantenido por samson-art. La última actividad registrada en GitHub es del 2026-08-27, con 0 issues abiertos.

¿Hay alternativas a transcriptor-mcp?

+

Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.

Despliega transcriptor-mcp en tu cloud

Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.

¿Mantienes este repo? Añade un badge a tu README

Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.

Featured on ClaudeWave: samson-art/transcriptor-mcp
[![Featured on ClaudeWave](https://claudewave.com/api/badge/samson-art-transcriptor-mcp)](https://claudewave.com/repo/samson-art-transcriptor-mcp)
<a href="https://claudewave.com/repo/samson-art-transcriptor-mcp"><img src="https://claudewave.com/api/badge/samson-art-transcriptor-mcp" alt="Featured on ClaudeWave: samson-art/transcriptor-mcp" width="320" height="64" /></a>

Más MCP Servers

Alternativas a transcriptor-mcp