YouTube Transcript MCP Server
by jkawamoto
Verified
# YouTube Transcript MCP Server
[](https://github.com/jkawamoto/mcp-youtube-transcript/actions/workflows/python-app.yaml)
[](https://github.com/jkawamoto/mcp-youtube-transcript/blob/main/LICENSE)
[](https://github.com/pre-commit/pre-commit)
[](https://github.com/astral-sh/ruff)
[](https://smithery.ai/server/@jkawamoto/mcp-youtube-transcript)
This MCP server retrieves transcripts for given YouTube video URLs.
<a href="https://glama.ai/mcp/servers/of3kwtmlqp"><img width="380" height="200" src="https://glama.ai/mcp/servers/of3kwtmlqp/badge" alt="YouTube Transcript Server MCP server" /></a>
## Tools
This MCP server provides the following tools:
### `get_transcript`
Fetches the transcript of a specified YouTube video.
#### Parameters
- **url** *(string)*: The full URL of the YouTube video. This field is required.
- **lang** *(string, optional)*: The desired language for the transcript. Defaults to `en` if not specified.
## Installation
### For Goose CLI
To enable the YouTube Transcript extension in Goose CLI,
edit the configuration file `~/.config/goose/config.yaml` to include the following entry:
```yaml
extensions:
youtube-transcript:
name: Youtube Transcript
cmd: uvx
args: [--from, git+https://github.com/jkawamoto/mcp-youtube-transcript, mcp-youtube-transcript]
enabled: true
type: stdio
```
### For Goose Desktop
Add a new extension with the following settings:
- **Type**: Standard IO
- **ID**: youtube-transcript
- **Name**: Youtube Transcript
- **Description**: Retrieve transcripts of YouTube videos
- **Command**: `uvx --from git+https://github.com/jkawamoto/mcp-youtube-transcript mcp-youtube-transcript`
For more details on configuring MCP servers in Goose Desktop,
refer to the documentation:
[Using Extensions - MCP Servers](https://block.github.io/goose/docs/getting-started/using-extensions#mcp-servers).
### For Claude Desktop
To configure this server for Claude Desktop, edit the `claude_desktop_config.json` file with the following entry under
`mcpServers`:
```json
{
"mcpServers": {
"youtube-transcript": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/jkawamoto/mcp-youtube-transcript",
"mcp-youtube-transcript"
]
}
}
}
```
After editing, restart the application.
For more information,
see: [For Claude Desktop Users - Model Context Protocol](https://modelcontextprotocol.io/quickstart/user).
#### Installing via Smithery
To install Youtube Transcript for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@jkawamoto/mcp-youtube-transcript):
```bash
npx -y @smithery/cli install @jkawamoto/mcp-youtube-transcript --client claude
```
## Using Proxy Servers
In environments where access to YouTube is restricted, you can use proxy servers.
When using [Webshare](https://www.webshare.io/), set the username and password for the Residential Proxy using either
the environment variables `WEBSHARE_PROXY_USERNAME` and `WEBSHARE_PROXY_PASSWORD`,
or the command line arguments `--webshare-proxy-username` and `--webshare-proxy-password`.
When using other proxy servers, set the proxy server URL using either the environment variables `HTTP_PROXY` or
`HTTPS_PROXY`, or the command line arguments `--http-proxy` or `--https-proxy`.
For more details, please visit:
[Working around IP bans - YouTube Transcript API](https://github.com/jdepoix/youtube-transcript-api?tab=readme-ov-file#working-around-ip-bans-requestblocked-or-ipblocked-exception).
## License
This application is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.