cursorrules — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited cursorrules (Rules) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A Model Context Protocol (MCP) server that provides comprehensive YouTube integration with video search, detailed video information retrieval, and transcript fetching capabilities.
search_videosSearch for videos on YouTube with flexible pagination.
Parameters:
query (string, required): Search query for finding videospageToken (string, optional): Token for pagination to get next/previous page resultsExample:
{
"query": "python programming tutorial",
"pageToken": "CAUQAA"
}Returns: Search results with video snippets and pagination tokens
get_videosGet detailed information about specific YouTube videos.
Parameters:
ids (array, required): List of video IDs to retrieve (max 50)parts (array, optional): Parts of video data to retrievesnippet, contentDetails, statistics, status, player, recordingDetails, fileDetails, processingDetails, suggestions, liveStreamingDetails, localizations, topicDetails["snippet"]Example:
{
"ids": ["dQw4w9WgXcQ", "9bZkp7q19f0"],
"parts": ["snippet", "contentDetails", "statistics"]
}Returns: Comprehensive video data including duration, view counts, like counts, descriptions, and more
get_video_transcriptExtract video transcripts with intelligent language handling.
Parameters:
videoId (string, required): YouTube video IDlanguage (string, optional): Preferred language code (e.g., 'en', 'es', 'fr')Language Priority:
Example:
{
"videoId": "dQw4w9WgXcQ",
"language": "en"
}Returns: Transcript with text segments, precise timestamps, and language metadata
git clone <repository-url>
cd youtube-mcp-server
uv sync cp .env.example .env
# Edit .env and add your YouTube API key:
# YOUTUBE_API_KEY=your_actual_api_key_here uv run python test_server.pyAdd to your Claude Desktop configuration:
{
"mcpServers": {
"youtube": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/yourusername/youtube-mcp-server",
"youtube-mcp-server"
],
"env": {
"YOUTUBE_API_KEY": "your_youtube_api_key_here"
}
}
}
}# Search for Python tutorials
result = await search_videos("python programming tutorial")# Get comprehensive video information
result = await get_videos(
ids=["dQw4w9WgXcQ"],
parts=["snippet", "contentDetails", "statistics"]
)# Get transcript in preferred language
result = await get_video_transcript("dQw4w9WgXcQ", language="en")The YouTube Data API v3 has the following quota limits:
Typical usage:
youtube-mcp-server/
├── youtube_mcp_server/
│ ├── __init__.py
│ ├── __main__.py
│ ├── server.py # MCP server implementation
│ ├── handlers.py # Tool function implementations
│ └── tools.json # Tool schema definitions
├── test_cases.json # Comprehensive test cases
├── test_server.py # Test suite with schema validation
├── main.py # Development entry point
├── pyproject.toml # Project configuration
└── README.md# Run comprehensive test suite
uv run python test_server.py
# Run the server locally
uv run python main.pyyoutube_mcp_server/tools.jsonyoutube_mcp_server/handlers.pyTOOL_FUNCTIONStest_cases.jsonThe server provides comprehensive error handling:
mcp>=1.6.0 for Model Context Protocol supportgoogle-api-python-client>=2.0.0 for YouTube Data APIyoutube-transcript-api>=0.6.0 for transcript extractionpython-dotenv>=1.0.0 for configuration managementjsonschema>=4.0.0 for schema validationuv run python test_server.pyMIT License - see LICENSE file for details.
test_cases.json for usage examplesuv run python test_server.py to validate your setupBuilt with ❤️ using the Model Context Protocol framework.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.