mcpField
M
mcp-bideetmusique

mcp-bideetmusique

ローカル
github.comゲーム・エンタメ0今日更新

mcp-bideetmusique について

mcp-bideetmusiqueは、MCPクライアントからBide & Musiqueのフランスの埋もれた楽曲カタログを検索するサーバーです。一度に一つの項目で検索でき、レコード情報やアーティストのディスコグラフィー、ランダム選曲、新着情報を取得できます。

主な機能

  1. 01歌手、タイトル、作者、歌詞、レーベル、年で検索
  2. 02レコード詳細と収録されている歌詞の取得
  3. 03アーティスト情報とディスコグラフィーの表示
  4. 04ランダムな楽曲の選択
  5. 05新たに登録された楽曲の一覧

活用シーン

  1. 01歌手名やタイトルから楽曲を探す
  2. 02楽曲の作者、レーベル、年を調べる
  3. 03アーティストのカタログを閲覧する
  4. 04ランダムな曲や新着レコードを探す

MCP 対応

検索、レコードとアーティストの照会、ランダム選曲、新着曲一覧のツールをMCPクライアントに提供します。

設定

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

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

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

リポジトリ
パッケージ
npmmcp-bideetmusique2.1.0
mcpbmcp-bideetmusique-2.1.0.mcpb2.1.0

ツール

5

掲載時のツール一覧 · 今日に更新

パラメーター型必須説明
pageintegerいいえ読み取る結果ページ。サイトが返したページ番号が応答に記載されます。
limitintegerいいえそのページから返す曲数の上限。
querystringはい検索するフランス語の語句。例:'Pierre Bachelet' または 'vacances'。
search_typeenumはい検索する軸を指定します。'performer' はレコードにクレジットされたアーティスト、'title' は曲名、'writer' は作詞者または作曲者、'lyrics' は歌われている歌詞、'label' は発売元のレーベル、'year' はレコードに印刷された年です。'year' 軸に指定できるのは4桁の年1つだけです。それ以外の語句は絞り込みに使われず、サイトによって無視されます。performer | title | writer | lyrics | label | year

詳細

README の画像

mcp-bideetmusique

npm CI license MCP Registry Glama M8ven LobeHub Install in Cursor VS Code にインストール

Bide & Musique はフランスのウェブラジオで、放送するレコードのコレクションでもあります。運営するボランティア団体が手作業でカタログ化しています。テーマは忘れ去られた曲です。ヒットしなかった曲、珍盤、テレビ番組のテーマ曲、誰も再発しなかったシングルなどが含まれます。レコードのページには、演奏者、作詞者と作曲者、年、レーベルとカタログ番号、ジャケット、演奏時間、ラジオ局独自のチャート順位、そしてリスナーが書き起こした歌詞が掲載されています。

このサーバーは、チャットクライアントをこのコレクションに接続します。演奏者、タイトル、作詞者、歌詞、レーベル、または年のいずれか一つの軸で検索したり、レコードの詳細を読んだり、ディスコグラフィーを含むアーティスト情報を読んだり、ランダムにレコードを選んだり、最近カタログに追加されたものを確認したりできます。API キーもアカウントも必要ありません。

フランス語版


インストール

ワンクリックでインストール

Install in Cursor VS Code にインストール

Claude Code

claude mcp add bideetmusique -- npx -y mcp-bideetmusique

Claude Desktop、Cursor、および標準の設定形式を使用するすべてのクライアント

{
  "mcpServers": {
    "bideetmusique": {
      "command": "npx",
      "args": ["-y", "mcp-bideetmusique"]
    }
  }
}

Node 24 以降が必要です。環境変数の設定は不要です。

Docker を使用する場合
{
  "mcpServers": {
    "bideetmusique": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "ghcr.io/smeet666/mcp-bideetmusique:2.0.1"]
    }
  }
}

-i はプロトコルが流れる標準入力を開いたままにします。TTY はストリームを書き換えるため、-t は指定しません。コンテナに必要なのは www.bide-et-musique.com への HTTPS の外向き通信だけです。ボリューム、ポート、認証情報は必要ありません。

npm を使わずにバンドルを使用する場合

最新リリースから mcp-bideetmusique-2.0.1.mcpb をダウンロードして開きます。MCP バンドルに対応したクライアントであれば、npm も設定ファイルの編集も不要で、自動的にインストールできます。バンドルには依存関係が含まれているため、インストール時に何かを取得することはありません。

質問できること

  • « Bide & Musiqueには、Jacques Dutroncのどんな曲がありますか? »
  • 「歌詞に潜水艦が出てくる曲はどれですか?」
  • 「このレコードについて教えてください。レーベル、年、作詞・作曲者は誰ですか?」
  • 「コレクションからランダムに何か再生してください。」
  • 「最近カタログに追加されたものは何ですか?」

通常の流れは、検索からレコードへと進みます。各行には song_idが含まれ、get_songで読み取ります。

ツール

ツール機能
search_songs1回につき1つの軸でコレクションを検索します。
get_song歌詞を含むレコード全体を読み取ります。
get_artistアーティストと、コレクションが所蔵するそのアーティストのレコードを読み取ります。
get_random_song誰も選んでいないレコードを1つ選びます。
list_new_songsコレクションに最近カタログ登録されたものを読み取ります。
search_songs

検索する軸を指定して検索します。軸ごとに異なる質問に答えるため、ある軸での検索結果はほかの軸については何も示しません。演奏者として検索して見つからない名前でも、曲名で見つかる場合があります。

引数型必須機能
querystring、最大200文字はい指定した軸で検索する内容です。
search_typeperformer、title、writer、lyrics、labelまたはyearはい検索する軸です。
pageinteger、1~200、デフォルトは1いいえ表示する行のページです。
limitinteger、1~50、デフォルトは20いいえ返す行数です。
search_type検索対象
performerレコードにクレジットされたアーティスト
title曲名
writer作詞・作曲者
lyrics曲で歌われている歌詞
label発売元のレーベル
yearレコードに印刷された年

year軸では4桁の年のみを指定できます。それ以外の語を指定すると、サイトは年で絞り込まずにその語を削除します。複数のキーワードはANDで結合され、それぞれ単語の中を照合するため、語を追加するたびに検索範囲が狭まります。また、引用符で囲んだフレーズは、サイトのフォームで入力しても結果が返りません。

返される内容:song_idを含む行(get_songで使用します)、title、url、およびartistです。total_matchesはサイトに表示される件数で、全ページにわたる一致曲数を示すため、1ページに表示される行数を上回ることがあります。page_servedは、サイトが実際に表示したページです。最後のページを超えるページを要求すると、エラーではなく最後のページが返されるため、要求したページを想定せず、この値を確認してください。サイトにどちらも表示されない場合、page_countとhas_more_pagesはnullになります。

get_song

1 件のレコード全体を読み取ります。

引数型必須説明
song_idstring、最大 20 文字はい検索結果の行に含まれる ID です。
include_lyricsboolean、デフォルトは trueいいえページにある場合、書き起こされた歌詞を含めます。

戻り値: title、artist、credited_performer、year、writers、レコードに印刷されているテキストをそのまま保持する duration とその precision、ラベルごとに 1 件のエントリーを持つ labels、catalogue_reference、presentation、sleeve_credits、image_url、ISO 日付形式の added_on、ステーションのチャート順位、favourites、comments。タイトル、アーティスト、再生時間は常に記載されています。それ以外は一部のレコードには存在せず、推測せずに null が返されます。また、ページに表示されていないカウンターは 0 ではなく不明として扱われます。lyrics.available はページに書き起こしがあるかどうかを示し、lyrics.text には、書き起こした transcriber と歌詞が含まれます。

get_artist

コレクションに収録されている 1 人のアーティストの情報と、そのアーティストのレコードを読み取ります。

引数型必須説明
artist_idstring、最大 20 文字はいレコードに含まれるアーティスト ID です。
limitinteger、1~200、デフォルトは 100いいえ取得するそのアーティストのレコード数です。

戻り値: name、aliases、surname、first_name、nationality、birth_date、presentation、see_also、links、photo_url。ページに記載がない場合、それぞれ null または空になります。discography にはそのアーティストのレコードが含まれます。各レコードには、get_song で使う song_id、title、url、year、ステーションでの放送回数が含まれます。discography_count は取得したレコード数を、songs_on_page はページに含まれるレコード数を示すため、ディスコグラフィーが途中で切り詰められているかどうかがわかります。

get_random_song

サイトで提供されている ID の中から、まだ選ばれていないレコードを 1 件選びます。特定の曲について尋ねるのではなく、コレクションを閲覧するときに使用します。

引数型必須説明
include_lyricsboolean、デフォルトは trueいいえページにある場合、書き起こされた歌詞を含めます。

戻り値: get_song が返すレコードです。

list_new_songs

コレクションに最近登録された内容を読み取ります。

引数型必須説明
limitinteger、1~50、デフォルトは 20いいえ取得する行数です。

戻り値: song_id、フィードに公開された行から読み取った title、artist_name、listed_as、url、published_at を含む行です。entries_in_feed はフィードに含まれるエントリー数です。この数は固定で、コレクションにあるレコード数を示すものではありません。

設定

すべての変数は任意です。クライアント設定の env ブロックに設定してください。

変数デフォルト説明
BIDE_USER_AGENTプロジェクトの識別情報サイトにアプリケーション名と、連絡可能な担当者の所在地を伝えます。
BIDE_MIN_INTERVAL_MS30002 つのリクエスト間の間隔です。2000~60000 の範囲で指定します。
BIDE_TIMEOUT_MS200001 つのリクエストの制限時間です。1000~120000 の範囲で指定します。
BIDE_MAX_RETRIES3一時的な障害後の再試行回数です。0~10 の範囲で指定します。
BIDE_CACHE_TTL_MS900000ページをメモリに保持する時間です。0~86400000 の範囲で指定します。
BIDE_CACHE_MAX_ENTRIES200同時にメモリに保持するページ数です。0~10000 の範囲で指定します。
BIDE_LOG_LEVELerrorsilent、error、info、debug のいずれかを指定します。stderr に出力されます。

範囲外の値はデフォルト値に置き換えられ、その理由が stderr に出力されます。

エラー

各エラーには 6 種類のコードのいずれか、メッセージ、そして役立つ場合は次に行う操作を示すヒントが含まれます。

コード発生した内容対処方法
not_foundサイトは応答しましたが、該当するレコードがありません。search_songs で ID を確認してください。
invalid_inputリクエストを送信する前に、引数が拒否されました。メッセージを確認してください。対象の引数が記載されています。
rate_limitedサイトから、このクライアントにリクエストを減らすよう求められました。ヒントに記載された秒数だけ待ち、同じ引数で再度呼び出してください。レコードはまだ存在します。
parse_failureページは読み込まれましたが、想定されるコンテンツがありませんでした。イシュートラッカーで報告してください。
network_errorリクエストが完了しませんでした。少し待ってから再試行してください。
timeoutリクエストが制限時間を超えました。BIDE_TIMEOUT_MS を増やすか、取得する行数を減らしてください。

ライブラリとして

サイトを読み取るレイヤーは、独自のペース調整、キャッシュ、エラー処理を備え、プロトコルに依存しない状態で単独で公開されています。

import { BideEtMusiqueClient } from "mcp-bideetmusique/client";

const client = new BideEtMusiqueClient();
const { data, cached } = await client.getSong("1234");
console.log(data.title, data.labels, cached);

search、getSong、getArtist、getNewSongs はそれぞれ { data, cached } を返し、6 種類のコードのいずれかを持つエラーをスローします。ここでも、2 つのリクエスト間には最低 2 秒の間隔が適用されます。

リクエスト間隔と出典表示

リクエストは一度に1件ずつ送信され、間隔は少なくとも3秒空けます。サーバーの設定にかかわらず、間隔が2秒未満になることはありません。Bide & Musique は、ボランティア協会が独自の資金で運営しており、このリクエスト間隔はコレクションに対して守るべきものです。User-Agent の末尾には、常にプロジェクト名と連絡可能な宛先が含まれます。

各結果には、レコードのページのアドレスが含まれます。カタログは協会と、それを作り上げたリスナーの手によるもので、歌詞の書き起こしも含まれています。

この MCP サーバーは非公式プロジェクトであり、Bide & Musique とは一切関係ありません。

プライバシー

このサーバーはユーザーに関する情報を収集せず、作者に何も送信しません。お使いのマシン上で動作し、www.bide-et-musique.com のみに接続します。実行中は回答をメモリに保持し、ディスクには何も書き込みません。 PRIVACY.md には、リクエストに含まれる情報と、その内容を変更する設定が記載されています。

開発

npm install
npm run build:fixtures
npm test
npm run check

テストは生成されたフィクスチャに対して実行され、ネットワークリクエストは行いません。ライブテストスイートの npm run test:live は、各ルートに1件ずつリクエストを送信し、サイト自体に対して毎晩実行されます。

貢献

バグ、質問、アイデアはイシュートラッカーへお寄せください。プルリクエストも歓迎します。まずイシューを作成すると、変更の方向性を合意しやすくなります。CONTRIBUTING.mdをご覧ください。

ライセンス

MIT ライセンスです。LICENSEをご覧ください。カタログは Bide & Musique と、それを作り上げたリスナーのものです。


mcp-bideetmusique(フランス語)

英語版

Bide & Musique はフランスのウェブラジオで、同局が放送するレコードのコレクションは、運営するボランティア協会によって手作業でカタログ化されています。扱うのは、忘れ去られたシャンソンです。売れなかったレコード、企画もののレコード、テレビ番組のテーマ曲、誰にも再版されなかった45回転レコードなどです。各レコードのページには、演奏者、作詞・作曲者、年、レーベルとカタログ番号、ジャケット、収録時間、局のヒットチャートでの順位が掲載され、リスナーが書き起こした歌詞があれば、それも載っています。

このサーバーは、会話型クライアントとこのコレクションをつなぎます。演奏者、タイトル、作者、歌詞、レーベル、年のうち、1つの条件で検索したり、レコードの詳細をすべて読んだり、ディスコグラフィーと合わせてサイトに掲載されたアーティスト情報を読んだり、レコードをランダムに選んだり、最近カタログに登録されたレコードを確認したりできます。API キーもアカウントも必要ありません。

インストール

ワンクリックインストール

Cursor にインストール VS Code にインストール

Claude Code

claude mcp add bideetmusique -- npx -y mcp-bideetmusique

Claude Desktop、Cursor、および標準設定形式に対応するすべてのクライアント

{
  "mcpServers": {
    "bideetmusique": {
      "command": "npx",
      "args": ["-y", "mcp-bideetmusique"]
    }
  }
}

Node 24 以降が必要です。環境変数の設定は不要です。

Docker を使用する場合
{
  "mcpServers": {
    "bideetmusique": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "ghcr.io/smeet666/mcp-bideetmusique:2.0.1"]
    }
  }
}

-i は、プロトコルの通信路である標準入力を開いたままにします。また、TTY はストリームを書き換えるため、-t は省略しています。コンテナには www.bide-et-musique.com への HTTPS アウトバウンドアクセスだけが必要です。ボリューム、ポート、認証情報は必要ありません。

npm なしでバンドル

最新リリースから mcp-bideetmusique-2.0.1.mcpbをダウンロードして開いてください。MCP バンドルに対応したクライアントなら、自動でインストールされるため、npm も設定ファイルの変更も必要ありません。バンドルには依存関係が含まれているため、インストール時に何もダウンロードされません。

こんなことを尋ねられます

  • 「Bide & MusiqueにはJacques Dutroncの何がありますか?」
  • 「歌詞に潜水艦が出てくる曲はどれですか?」
  • 「このレコードのレーベル、年、作詞者を読んでください。」
  • 「コレクションから何か適当に再生してください。」
  • 「最近カタログに登録されたものは何ですか?」

通常は、検索してからレコードを読むという流れです。検索結果の1行には song_idが含まれており、get_songでそのレコードを読み取れます。

ツール

ツール機能
search_songsコレクションを検索します。一度に検索できる軸は1つです。
get_song歌詞も含めてレコード全体を読み取ります。
get_artistアーティストと、そのアーティストのコレクション内のレコードを読み取ります。
get_random_song誰にも選ばれていないレコードを1つランダムに選びます。
list_new_songsコレクションに最近登録されたものを読み取ります。
search_songs

軸を指定して検索します。軸ごとに異なる内容を尋ねるため、ある軸での結果から ほかの軸の情報はわかりません。アーティストとして結果が見つからない名前でも、 タイトルとしてなら見つかることがあります。

引数型必須機能
query文字列、最大200文字はいこの軸で検索する内容です。
search_typeperformer、title、writer、lyrics、labelまたはyearはい検索軸です。
page整数、1~200、既定値は1いいえ取得するページです。
limit整数、1~50、既定値は20いいえ取得する行数です。
search_type検索対象
performerレコードにクレジットされたアーティスト
title曲名
writer作詞者または作曲者
lyrics歌われている歌詞
labelリリースしたレーベル
yearレコードに印刷された年

year軸では4桁の年だけを指定してください。それ以外の語句は検索条件として 無視されます。複数のキーワードはANDで結合され、それぞれ単語の一部として 検索されるため、単語を追加するほど検索結果は絞り込まれます。また、サイトの フォームで提案されている場合でも、引用符で囲んだフレーズでは何も見つかりません。

返される内容: song_idを含む行。get_songでこのIDを使用できます。 また、title、url、artistも返されます。total_matchesはサイトに表示される 件数で、全ページにわたる該当曲の数を数えるため、1ページの行数を超えることが あります。page_servedはサイトが実際に返したページです。最後のページを 超えるページを要求してもエラーにはならず、最後のページが返されるため、 要求したページと決めつけずに、この値を確認してください。サイトに表示されて いない場合、page_countとhas_more_pagesはnullになります。

get_song

曲のレコード全体を読み取ります。

引数型必須説明
song_id文字列、最大20文字はいレコードに記載されている識別子です。
include_lyricsブール値、既定値は trueいいえページに歌詞の書き起こしがある場合に含めます。

戻り値: title、artist、credited_performer、year、writers、 レコードに印刷されている表記そのままのテキストとその precision を含む duration、ラベルごとに1件のエントリーを含む labels、 catalogue_reference、presentation、sleeve_credits、image_url、ISO 形式の日付の added_on、放送局のヒットチャート順位、favourites、 comments です。タイトル、アーティスト、再生時間は常に記載されています。 その他の項目はレコードによって記載がなく、その場合は推測せず null が 返されます。また、ページに印刷されていないカウンターは、null ではなく 不明として扱われます。lyrics.available はページに書き起こしがあるか どうかを示し、lyrics.text には歌詞と、それを書き留めた transcriber が 含まれます。

get_artist

アーティストについてコレクションにある情報と、そのアーティストのディスクを 読み取ります。

引数型必須説明
artist_id文字列、最大20文字はいレコードに記載されているアーティストの識別子です。
limit整数、1~200、既定値は 100いいえ返すディスク数です。

戻り値: name、aliases、surname、first_name、nationality、 birth_date、presentation、see_also、links、photo_url です。ページに 記載がない項目は、それぞれ null または空になります。discography には そのアーティストのディスクが含まれ、それぞれに get_song 用の song_id、 title、url、year、放送局での放送回数が含まれます。 discography_count は返されたディスク数、songs_on_page はページに 掲載されているディスク数を示すため、ディスコグラフィーが途中で切り詰め られているかどうかがわかります。

get_random_song

サイトが提供している識別子の中から、まだ選ばれていないディスクを ランダムに1枚選びます。特定の曲が決まっていないときにコレクションを 閲覧するためのツールです。

引数型必須説明
include_lyricsブール値、既定値は trueいいえページに歌詞の書き起こしがある場合に含めます。

戻り値: get_song が返すレコードです。

list_new_songs

コレクションに新しく登録された内容を読み取ります。

引数型必須説明
limit整数、1~50、既定値は 20いいえ返す行数です。

戻り値: song_id、フィードに掲載されている行から読み取った title、 artist_name、listed_as、url、published_at を含む行です。 entries_in_feed はフィードに含まれるエントリー数で、固定値です。 コレクションに含まれるディスク数を示すものではありません。

設定

すべての変数は任意です。クライアント設定の env ブロックに設定します。

変数デフォルト機能
BIDE_USER_AGENTプロジェクトの識別情報サイトにアプリケーション名を伝え、担当者への連絡先を提示します。
BIDE_MIN_INTERVAL_MS3000リクエスト間の間隔です。2000~60000 の範囲で指定します。
BIDE_TIMEOUT_MS20000リクエストのタイムアウトです。1000~120000 の範囲で指定します。
BIDE_MAX_RETRIES3一時的な失敗後の再試行回数です。0~10 の範囲で指定します。
BIDE_CACHE_TTL_MS900000ページをメモリに保持する期間です。0~86400000 の範囲で指定します。
BIDE_CACHE_MAX_ENTRIES200同時にメモリに保持するページ数です。0~10000 の範囲で指定します。
BIDE_LOG_LEVELerrorsilent、error、info、debug のいずれかを指定します。エラー出力に書き込みます。

範囲外の値はデフォルトに戻り、その理由がエラー出力に書き込まれます。

エラー

失敗には6種類のコードのいずれか、メッセージ、および役立つ場合は次に行う操作の案内が含まれます。

コード発生したこと対処
not_foundサイトは応答しましたが、この項目はありません。search_songs で識別子を確認してください。
invalid_inputリクエストを送信する前に、引数が拒否されました。引数名が記載されたメッセージを確認してください。
rate_limitedサイトから、このクライアントに速度を落とすよう求められました。指定された秒数だけ待ち、同じ引数で再度呼び出してください。項目は引き続き存在しています。
parse_failureページは読み込まれましたが、期待される内容がありません。インシデントトラッカーで報告してください。
network_errorリクエストが完了しませんでした。少し待ってから再試行してください。
timeoutリクエストがタイムアウトしました。BIDE_TIMEOUT_MS を増やすか、取得する行数を減らしてください。

ライブラリとして

サイトを読み取るレイヤーは、プロトコルに依存せず、リクエスト間隔、キャッシュ、エラー処理を含めて単独で公開されています。

import { BideEtMusiqueClient } from "mcp-bideetmusique/client";

const client = new BideEtMusiqueClient();
const { data, cached } = await client.getSong("1234");
console.log(data.title, data.labels, cached);

search、getSong、getArtist、getNewSongs はそれぞれ { data, cached } を返し、6種類のコードのいずれかを持つエラーを送出します。ここでも、リクエスト間には最低2秒の間隔が設けられます。

リクエスト間隔とクレジット表記

リクエストは一度に1つずつ送信され、少なくとも3秒の間隔が空きます。また、設定にかかわらず最低2秒の間隔が設けられます。Bide & Musique は、独自の資金で運営するボランティア団体です。このコレクションに対して、リクエスト間隔を守る必要があります。User-Agent には必ず、プロジェクトの識別情報と担当者への連絡先が含まれます。

各結果には、項目ページのアドレスが含まれます。カタログは、文字起こしを含め、団体とその構築に携わったリスナーの成果です。

この MCP は非公式のプロジェクトであり、Bide & Musique とは提携していません。

プライバシー

このサーバーはあなたに関する情報を収集せず、作者に何も送信しません。お使いのマシン上で動作し、www.bide-et-musique.com にのみ接続し、動作中は応答をメモリ内に保持し、ディスクには何も書き込みません。PRIVACY.md では、リクエストに含まれる情報と、それを変更する設定について説明しています。

開発

npm install
npm run build:fixtures
npm test
npm run check

テストは生成されたフィクスチャを使って実行され、リクエストは一切送信しません。ライブテストスイート npm run test:live はルートごとに1件のリクエストを送信し、毎晩サイト自体に対して実行されます。

貢献

不具合、質問、アイデアはイシュートラッカーにお寄せください。変更の提案も歓迎します。まずチケットを作成すると、変更の方針について合意しやすくなります。CONTRIBUTING.mdをご覧ください。

ライセンス

MITです。LICENSEをご覧ください。カタログはBide & Musiqueと、それを築き上げたリスナーのものです。

コメント

MCP は初めてですか?

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

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