Labsco
opiuman logo

Find BGM

โ˜… 1

from opiuman

Finds background music for YouTube shorts by analyzing script content and recommending tracks from YouTube Music.

๐Ÿ”ฅ๐Ÿ”ฅโœ“ VerifiedFreeAdvanced setup

Find BGM MCP Server

An MCP server that helps YouTube content creators find perfect background music for their shorts by analyzing script content and recommending tracks from YouTube Music.

Features

  • Script Analysis: Analyzes mood, theme, pacing, and sentiment from video scripts
  • Smart Recommendations: Uses YouTube Music API to find suitable background tracks
  • Duration Filtering: Ensures recommendations fit your short video length
  • Confidence Scoring: Ranks recommendations by relevance to your content

Architecture

The server follows clean architecture principles with modular design:

find_bgm/
โ”œโ”€โ”€ server.py              # Main server entry point
โ”œโ”€โ”€ config.py              # Configuration management
โ”œโ”€โ”€ models.py              # Data models and types
โ”œโ”€โ”€ script_analyzer.py     # Script analysis logic
โ”œโ”€โ”€ music_service.py       # YouTube Music API integration
โ”œโ”€โ”€ tools.py               # MCP tool definitions
โ””โ”€โ”€ test_server.py         # Test suite

Testing

# Test all components
python test_server.py

# Test with virtual environment
source venv/bin/activate
python test_server.py

Claude Desktop Integration

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "find-bgm": {
      "command": "/path/to/find_bgm/venv/bin/python",
      "args": ["/path/to/find_bgm/server.py"]
    }
  }
}

Components

ScriptAnalyzer

Analyzes script content to detect mood, theme, and pacing using natural language processing.

YouTubeMusicService & MusicRecommendationService

Handles YouTube Music API integration and generates scored recommendations.

BGMTools

MCP tool interface that orchestrates script analysis and music recommendations.

Configuration Management

Environment-based configuration with sensible defaults and type safety.