mcp-youtube-search
README.md
# MCP YouTube Search
<!-- mcp-name: io.github.arjunprabhulal/mcp-youtube-search -->
An MCP server that searches YouTube through [SerpApi](https://serpapi.com/youtube-search-api), for Claude, Cursor and other MCP clients: titles, links, channels, views, publish dates, durations and descriptions.
[](https://github.com/arjunprabhulal/mcp-youtube-search/actions/workflows/ci.yml)
[](https://pypi.org/project/mcp-youtube-search/)
## Requirements
- Python 3.10 or later (or [uv](https://docs.astral.sh/uv/))
- A SerpApi key in `SERP_API_KEY` (serpapi.com has a free tier)
## Use it from an MCP client
```json
{
"mcpServers": {
"youtube-search": {
"command": "uvx",
"args": ["mcp-youtube-search", "server"],
"env": { "SERP_API_KEY": "your-serpapi-key" }
}
}
}
```
Or `pip install mcp-youtube-search` and use `"command": "mcp-youtube-search", "args": ["server"]`.
## Command line
```bash
export SERP_API_KEY="your-serpapi-key"
mcp-youtube-search search "model context protocol" --max-results 5
mcp-youtube-search server # MCP over stdio
mcp-youtube-search server --connection_type http --port 3002 # Streamable HTTP at http://127.0.0.1:3002/mcp
```
`LOG_LEVEL=DEBUG` shows more detail on stderr. The API key is never logged.
## Tool
| Tool | What it does |
| --- | --- |
| `search_youtube` | Videos for a query. `query`; optional `max_results` (1-50, default 10), `language` (default `en`), `country` (default `us`). Returns structured results: title, link, channel, views, publish date, duration, thumbnail, description. |
## Development
```bash
uv sync
uv run pytest
uv run ruff check .
```
## License
MIT
TDQS
A3.6/5.0
Scored across 1 tool
Disambiguation5/5
With only a single tool, there is no possibility of overlap or misselection between tools. The one tool's purpose (YouTube video search) is unambiguous.
Naming Consistency5/5
The lone tool uses a clean verb_noun snake_case pattern (search_youtube). There is no inconsistent convention to conflict with it.
Tool Count3/5
A single tool is thin even for a search-focused server; it covers exactly one query type. It earns its place but leaves the surface feeling minimal.
Completeness3/5
Search alone leaves notable gaps: no tool to fetch a specific video's full details, channel info, comments, or transcripts. Core search is covered but agents will hit dead ends for follow-up queries.
Maintenance
ActivityMaintained
ResponsivenessNo issues