mcpField
G
Genius MCP Server

Genius MCP Server

ローカル
github.com/federicogarciavゲーム・エンタメ627 週間前に更新

Genius MCP Server について

Genius MCP Serverは、Geniusの楽曲、アーティスト、アルバム、注釈データをMCPクライアントに提供し、音楽の調査や分析に使えます。注釈の信頼度情報に加え、楽曲やアーティストを分析するプロンプトも備えています。

主な機能

  1. 01楽曲、アーティスト、アルバムの検索
  2. 02楽曲情報、注釈、クレジットの取得
  3. 03アーティストの作品一覧とアルバム曲目の閲覧
  4. 04サンプリング、カバー、リミックス関係の確認
  5. 05信頼度ラベル付き注釈の閲覧
  6. 06楽曲・アーティスト分析プロンプト

活用シーン

  1. 01楽曲の歌詞の意味や背景の調査
  2. 02アーティストのプロフィールと作品一覧の確認
  3. 03楽曲のサンプリング、カバー、リミックス関係の追跡

MCP 対応

MCPサーバーとして、Genius APIとlyricsgeniusを利用したデータ検索ツールおよび分析プロンプトを互換クライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Genius MCP サーバー

Genius MCP サーバー

Genius の力を AI アシスタントにもたらす MCP サーバーです。

楽曲、アーティスト、歌詞のアノテーション、アルバムアートワークのアノテーション、楽曲の関連情報、クレジット、編集部のナレッジを、使いやすいツールとプロンプトを通じて照会できます。公式 Genius API と lyricsgenius Python ライブラリの両方を利用します。


目次


できること

Genius MCP サーバーは、Genius.com のナレッジベースを、MCP 対応のあらゆる AI クライアント(Claude Desktop、Claude Code、Cursor など)に公開します。AI は次の操作を行えます。

  • 名前から楽曲やアーティストを検索
  • 楽曲のメタデータ全体を取得 — タイトル、アルバム、リリース日、歌詞の状態、Genius 編集部による解説
  • アーティストのプロフィールを取得 — 略歴、フォロワー数、認証ステータス
  • アーティストのディスコグラフィーを閲覧 — 人気順またはリリース日順で表示するか、トラックリスト付きのアルバム一覧全体を表示
  • アノテーションを読む — 歌詞の特定の箇所に対する、コミュニティやアーティスト公認の解説を読むことができます。それぞれに信頼レベルが付与されているため、AI はどの程度重視すべきか判断できます
  • アルバムアートワークのアノテーションを読む — アルバムカバー画像に直接書かれた、視覚的要素、象徴表現、芸術的な選択に関するコミュニティの解説を読むことができます
  • 楽曲の関連情報を調べる — ある楽曲がサンプリング、インターポレーション、カバー、リミックスした楽曲や、その楽曲を後にサンプリングした楽曲を見つけることができます
  • 楽曲のクレジットを調べる — 作詞・作曲者、プロデューサー、フィーチャリングアーティスト、独自の演奏関連の役割(ミキシングエンジニア、レコーディングスタジオ、レーベル)
  • 関連データをすべて一度に収集し、楽曲やアーティストの詳細な分析を AI に依頼する、事前構築済みの分析プロンプトを実行

ツール

一部のツールは、アクセストークンを使用して公式 Genius API(api.genius.com)を呼び出します。その他のツールは**lyricsgenius Python ライブラリ**を使用します。このライブラリは、Genius の非公開のパブリック API にアクセスします。これらのエンドポイントは公式 API の仕様には含まれておらず、予告なく変更される可能性があります。

ツール説明バックエンド
search_songGenius でクエリに一致する曲を検索します。曲の ID、タイトル、アーティスト、アノテーション数を返します。公式 API
get_song_detailsGenius ID を指定して曲の完全なメタデータと編集者による説明を取得します。公式 API
get_song_annotations曲のすべてのアノテーションを取得します。信頼レベル(artist_verified、accepted、unreviewed)で絞り込むこともできます。公式 API
get_annotation_detailID を指定して、個別のアノテーションの全文とメタデータを取得します。公式 API
get_song_questions_and_answers曲についてユーザーから投稿された質問と回答をページネーション付きで取得します。承認済みの回答がある質問のみが返されます。lyricsgenius(非公開のパブリック API)
get_song_relationships曲の音楽的な関連情報を取得します。サンプリング、インターポレーション、カバー、リミックス、翻訳の元となった作品や、後にこの曲をサンプリングまたはカバーした曲が含まれます。関連する曲が1つ以上ある関係タイプのみが返されます。公式 API
get_song_credits曲の作詞・作曲および制作クレジットを取得します。作詞・作曲者、プロデューサー、フィーチャリングアーティスト、独自のパフォーマンス役割(例:ミキシングエンジニア、レコーディングスタジオ、レーベル)が含まれます。公式 API
search_artistGenius でアーティスト名を使って検索します。アーティスト ID と基本的なプロフィール情報を返します。公式 API
get_artist_detailsGenius ID を指定してアーティストの完全なプロフィールと編集者による略歴を取得します。公式 API
get_artist_songsアーティストの曲一覧を取得します。popularity または release_date で並べ替えられ、ページネーションにも対応しています。公式 API
get_artist_albumsアーティストの全ディスコグラフィーを、アルバム ID 付きのページネーションされた一覧として取得します。lyricsgenius(非公開のパブリック API)
search_albumGenius でクエリに一致するアルバムを検索します。アルバム ID、アルバム名、アーティスト名、リリース日を返します。lyricsgenius(非公開のパブリック API)
get_album_detailsGenius のアルバム ID を指定して、アルバムのメタデータ、全曲を順番に並べたトラックリスト、カバーアート一覧を取得します。各トラックには、他のツールと連携して使える曲 ID が含まれます。最初のカバーアートは常にメインのアルバムカバーです。アノテーション付きのアートワークには annotation_id が含まれます。公式 API + lyricsgenius
get_cover_art_annotations特定のアルバムカバーアート画像に書かれたアノテーション全文(本文、信頼レベル、投稿者、投票数)を取得します。cover_art_id と album_id(どちらも get_album_details から取得可能)が必要です。annotation_id があるカバーアートに対してのみ呼び出してください。lyricsgenius(非公開のパブリック API)

プロンプト

プロンプトは、Genius からデータを収集し、構造化されたコンテキストとして AI に渡す、あらかじめ用意された複数ステップのワークフローです。

analyze-song

引数: song_title(必須)、artist_name(任意)

曲を検索し、完全なメタデータと編集者による説明を取得して、すべてのアノテーションを信頼レベル順に並べ替えて取得します。その後、AI に曲の意味、テーマ、文化的背景について詳しく分析するよう求めます。

artist-deep-dive

引数: artist_name(必須)

アーティストの略歴、メタデータとアーティスト確認済みのアノテーション(利用可能な場合)を含む人気上位3曲を取得します。その後、AI にアーティストのテーマ、スタイル、意義について概要をまとめるよう求めます。


はじめに

1. Genius API トークンを取得する
  1. https://genius.com/api-clients にアクセスしてサインインします。
  2. 新しい API クライアントを作成します。
  3. Client Access Token をコピーします。これは GENIUS_ACCESS_TOKEN に設定する値です。
2. 環境変数を設定する

サンプルの env ファイルをコピーし、トークンを入力します。

cp .env.example .env

.env を編集します。

# Required — your Genius API access token
GENIUS_ACCESS_TOKEN=your_token_here

# Transport mode:
# true  → run as a Streamable HTTP server on port 8080
# false → run in stdio mode (for Claude Desktop)
STREAMABLE_HTTP=true
3. Python で実行する

要件: Python 3.11 以降

依存関係をインストールします:

pip install -r requirements.txt

サーバーを実行します:

python main.py

STREAMABLE_HTTP の設定に応じて、サーバーは http://127.0.0.1:8080(Streamable HTTP モード)または stdio モードで起動します。

4. Docker で実行する

Streamable HTTP モード(デフォルト):

docker compose up --build

サーバーはポート 8080 で genius-mcp-server として実行されます。.env ファイルはコンテナにマウントされます。起動前にファイルが存在し、トークンが含まれていることを確認してください。

stdio モード(Docker 経由での Claude Desktop 用など):

.env で STREAMABLE_HTTP=false を設定してから、次を実行します:

docker run --rm -i --env-file .env $(docker build -q .)

トランスポートモード

モードSTREAMABLE_HTTP用途
Streamable HTTPtrue(デフォルト)Claude Code、リモート MCP クライアント、Web ベースのツール
stdiofalseClaude Desktop、ローカル CLI 連携

MCP クライアントへの接続

Claude Code(Streamable HTTP)
claude mcp add genius --transport http http://127.0.0.1:8080/mcp
Claude Desktop(stdio)

.env で STREAMABLE_HTTP=false を設定し、次の内容を claude_desktop_config.json に追加します:

{
  "mcpServers": {
    "genius": {
      "command": "python",
      "args": ["/absolute/path/to/genius-mcp/main.py"],
      "env": {
        "GENIUS_ACCESS_TOKEN": "your_token_here",
        "STREAMABLE_HTTP": "false"
      }
    }
  }
}

アノテーションの信頼レベル

サーバーが返すすべてのアノテーションには、trust_level フィールドが含まれます。これにより、AI は情報源の信頼性を判断できます:

信頼レベル意味
artist_verifiedアーティストが記述または確認したものです。確かな情報として扱います。
acceptedGenius の編集スタッフがレビューし、承認したものです。高品質です。
unreviewedコミュニティユーザーが投稿したもので、まだレビューされていません。解釈として扱います。

get_song_annotations ツールは、特定の信頼レベルのアノテーションのみを取得するための filter 引数を受け付けます。


プロジェクト構成

genius-mcp/
├── main.py                    # Entry point — configures transport and starts the server
├── app.py                     # FastMCP app instance
├── mcp_components/
│   ├── genius_api.py          # Async HTTP client for the Genius API
│   ├── mcp_tools.py           # MCP tool definitions
│   └── mcp_prompts.py         # MCP prompt definitions
├── tests/
│   ├── test_mcp_server_initialization.py
│   └── test_mcp_server_tools.py
├── Dockerfile
├── docker-compose.yml
├── requirements.txt
└── .env.example

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。