mcpField
M
media-info

media-info

github.com/vikibossその他47107 回インストール34 週間前に更新
リポジトリ

media-info について

media-infoは、音楽や映像作品の情報を取得するスキルです。チャート、歌詞、映画、興行収入、視聴率などを例示された60s APIのエンドポイントで扱い、最新情報を示すボットやダイジェストに利用できます。

主な機能

  1. 01Netease Musicのチャートと詳細
  2. 02曲の歌詞検索
  3. 03映画一覧とリアルタイム興行収入
  4. 04テレビ視聴率とウェブシリーズランキング

活用シーン

  1. 01音楽レコメンドボットの作成
  2. 02映画の興行収入の追跡
  3. 03曲名やアーティスト名で歌詞検索
  4. 04音楽・映像情報のダイジェスト作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/vikiboss/60s-skills --skill media-info

インストール後、Claude Code で/media-infoを入力して読み込まれたか確認します。

詳細

メディア情報スキル

音楽や映画の情報を取得します。チャート、歌詞、興行収入、評価などを確認できます。

利用可能な情報

  1. Netease Music ランキング - 音楽チャート一覧
  2. 音楽ランキング詳細 - 楽曲一覧の詳細
  3. 歌詞検索 - 楽曲の歌詞を検索
  4. 映画情報 - 全映画データベース
  5. 映画興行収入 - リアルタイムの興行収入ランキング
  6. テレビ視聴率 - テレビドラマの視聴率
  7. ウェブシリーズランキング - オンラインシリーズの人気度

API エンドポイント

種類エンドポイントメソッド
音楽ランキング/v2/ncm-rank/listGET
ランキング詳細/v2/ncm-rank/{id}GET
歌詞/v2/lyricPOST
全映画/v2/maoyan/all/movieGET
興行収入/v2/maoyan/realtime/movieGET
テレビ視聴率/v2/maoyan/realtime/tvGET
ウェブシリーズ/v2/maoyan/realtime/webGET

すぐに試せる例

Netease Music チャート
import requests

# Get all music rank lists
response = requests.get('https://60s.viki.moe/v2/ncm-rank/list')
ranks = response.json()

print("🎵 网易云音乐榜单")
for rank in ranks['data']:
    print(f"· {rank['name']} (ID: {rank['id']})")

# Get specific rank details
rank_id = '3778678'  # 飙升榜
response = requests.get(f'https://60s.viki.moe/v2/ncm-rank/{rank_id}')
songs = response.json()

print(f"\n🎵 {songs['name']}")
for i, song in enumerate(songs['songs'][:10], 1):
    print(f"{i}. {song['name']} - {song['artist']}")
歌詞検索
# Search for lyrics
data = {'keyword': '稻香 周杰伦'}
response = requests.post('https://60s.viki.moe/v2/lyric', json=data)
result = response.json()

print(f"🎤 {result['song']} - {result['artist']}")
print(f"\n{result['lyrics']}")
映画興行収入
# Get real-time box office
response = requests.get('https://60s.viki.moe/v2/maoyan/realtime/movie')
movies = response.json()

print("🎬 实时电影票房")
for movie in movies['data'][:5]:
    print(f"{movie['rank']}. {movie['name']}")
    print(f"   票房:{movie['box_office']}")
    print(f"   上座率:{movie['attendance_rate']}")
テレビ視聴率
# Get TV drama ratings
response = requests.get('https://60s.viki.moe/v2/maoyan/realtime/tv')
shows = response.json()

print("📺 电视剧收视率排行")
for show in shows['data'][:5]:
    print(f"{show['rank']}. {show['name']}")
    print(f"   收视率:{show['rating']}")
ウェブシリーズランキング
# Get web series rankings
response = requests.get('https://60s.viki.moe/v2/maoyan/realtime/web')
series = response.json()

print("📱 网剧热度排行")
for s in series['data'][:5]:
    print(f"{s['rank']}. {s['name']}")
    print(f"   热度:{s['popularity']}")

ユースケース

音楽レコメンドボット
def get_trending_music():
    # Get soaring charts (飙升榜)
    response = requests.get('https://60s.viki.moe/v2/ncm-rank/3778678')
    songs = response.json()
    
    message = "🎵 当前最火的歌曲:\n\n"
    for i, song in enumerate(songs['songs'][:5], 1):
        message += f"{i}. {song['name']} - {song['artist']}\n"
    
    return message
映画興行収入トラッカー
def get_box_office_summary():
    response = requests.get('https://60s.viki.moe/v2/maoyan/realtime/movie')
    movies = response.json()
    
    top_3 = movies['data'][:3]
    
    summary = "🎬 今日票房TOP3\n\n"
    for movie in top_3:
        summary += f"🏆 {movie['rank']}. {movie['name']}\n"
        summary += f"   💰 票房:{movie['box_office']}\n"
        summary += f"   📊 上座率:{movie['attendance_rate']}\n\n"
    
    return summary
歌詞検索ツール
def find_lyrics(song_name, artist=''):
    keyword = f"{song_name} {artist}".strip()
    data = {'keyword': keyword}
    
    response = requests.post('https://60s.viki.moe/v2/lyric', json=data)
    result = response.json()
    
    if result.get('lyrics'):
        return f"🎤 {result['song']} - {result['artist']}\n\n{result['lyrics']}"
    else:
        return "未找到歌词"
エンタメダイジェスト
def get_entertainment_digest():
    # Music
    music_rank = requests.get('https://60s.viki.moe/v2/ncm-rank/3778678').json()
    top_song = music_rank['songs'][0]
    
    # Movies
    movies = requests.get('https://60s.viki.moe/v2/maoyan/realtime/movie').json()
    top_movie = movies['data'][0]
    
    # TV shows
    shows = requests.get('https://60s.viki.moe/v2/maoyan/realtime/tv').json()
    top_show = shows['data'][0]
    
    digest = f"""
🎭 娱乐资讯速递

🎵 音乐:{top_song['name']} - {top_song['artist']}
🎬 电影:{top_movie['name']} 票房{top_movie['box_office']}
📺 电视剧:{top_show['name']} 收视率{top_show['rating']}
    """
    
    return digest

対話例

ユーザー:「今、何の曲が一番人気ですか?」
response = requests.get('https://60s.viki.moe/v2/ncm-rank/3778678')
songs = response.json()

print("🎵 网易云飙升榜 TOP 5")
for i, song in enumerate(songs['songs'][:5], 1):
    print(f"{i}. {song['name']} - {song['artist']}")
ユーザー:「『稲香』の歌詞を探してください」
data = {'keyword': '稻香'}
response = requests.post('https://60s.viki.moe/v2/lyric', json=data)
result = response.json()

print(f"🎤 {result['song']} - {result['artist']}\n")
print(result['lyrics'])
ユーザー:「今日の映画興行収入ランキング」
response = requests.get('https://60s.viki.moe/v2/maoyan/realtime/movie')
movies = response.json()

print("🎬 实时票房排行")
for movie in movies['data'][:5]:
    print(f"{movie['rank']}. {movie['name']} - {movie['box_office']}")

ベストプラクティス

  1. 音楽ランキング:頻繁には変わらないため、ランキング一覧をキャッシュします
  2. 歌詞:検索精度を高めるため、アーティスト名も含めます
  3. 興行収入:データは頻繁に更新されるため、タイムスタンプを表示します
  4. エラー処理:歌詞やデータが見つからない場合に対処します
  5. フォーマット:データを見やすく、読みやすい形式で表示します

関連リソース

コメント