Search VTuber/VSinger singing streams, setlists and cover songs (Japanese database).
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
合計時間を指定してタイムスタンプ付きYouTube URLの連続リスニングキューを作る。「60分の作業用BGM」のような依頼に答える用途。keyword は文字どおりの検索語(曲名・歌い手名・原曲アーティスト)で、曲調・用途(バラード中心・作業用等)の解釈はこのツールでは行わないため、クライアント側で具体的な検索語に変換して呼ぶこと。同一歌い手は maxPerSinger 曲まで(既定2)。合計時間は targetMinutes を超えない(以下で可能な限り近づける)。時間はすべて推定歌唱時間であり実測ではない(各曲の durationEstimate に推定根拠を含む)。YouTubeのタイムスタンプURLは開始位置のみで曲の終わりに自動停止しない。status が partial または empty のときは黙って条件を変えず、keyword・targetMinutes・maxPerSinger のどれを調整するかユーザーに確認すること。
このツールを呼ぶ目的やユーザーの依頼の要約(1文・任意)。検索品質の改善のためのログに記録されます
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http vsinger-moment https://vsinger-moment.jp/api/mcp-public
合計時間を指定してタイムスタンプ付きYouTube URLの連続リスニングキューを作る。「60分の作業用BGM」のような依頼に答える用途。keyword は文字どおりの検索語(曲名・歌い手名・原曲アーティスト)で、曲調・用途(バラード中心・作業用等)の解釈はこのツールでは行わないため、クライアント側で具体的な検索語に変換して呼ぶこと。同一歌い手は maxPerSinger 曲まで(既定2)。合計時間は targetMinutes を超えない(以下で可能な限り近づける)。時間はすべて推定歌唱時間であり実測ではない(各曲の durationEstimate に推定根拠を含む)。YouTubeのタイムスタンプURLは開始位置のみで曲の終わりに自動停止しない。status が partial または empty のときは黙って条件を変えず、keyword・targetMinutes・maxPerSinger のどれを調整するかユーザーに確認すること。
| Argument | Type | Description |
|---|---|---|
| context | string | このツールを呼ぶ目的やユーザーの依頼の要約(1文・任意)。検索品質の改善のためのログに記録されます |
| keyword* | string | |
| maxPerSinger | integer | |
| targetMinutes* | integer |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"keyword",
"targetMinutes"
],
"properties": {
"context": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "このツールを呼ぶ目的やユーザーの依頼の要約(1文・任意)。検索品質の改善のためのログに記録されます"
},
"keyword": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"maxPerSinger": {
"type": "integer",
"maximum": 5,
"minimum": 1
},
"targetMinutes": {
"type": "integer",
"maximum": 180,
"minimum": 10
}
}
}search が返した id(stream:/singer:/song:/video: 接頭辞付き)の詳細ドキュメントを取得する(deep research 互換)。
| Argument | Type | Description |
|---|---|---|
| id* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"maxLength": 120,
"minLength": 1
}
}
}原曲アーティスト名から、そのアーティストの曲をよく歌うVSingerを探す(歌唱回数の多い順・部分一致)。「YOASOBIの曲をよく歌う歌い手は?」「自分の曲調に合う歌い手を探したい(似たアーティスト名で検索)」に答える用途。各歌い手について直近30日の歌唱数・最終歌唱日時・よく歌う曲(最大3曲)を返す。プロフィール・SNSリンクは get_singer で取得する。
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| artist* | string | |
| context | string | このツールを呼ぶ目的やユーザーの依頼の要約(1文・任意)。検索品質の改善のためのログに記録されます |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"artist"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
},
"artist": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"context": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "このツールを呼ぶ目的やユーザーの依頼の要約(1文・任意)。検索品質の改善のためのログに記録されます"
}
}
}歌い手IDで VSinger のプロフィール(説明・SNSリンク・YouTubeチャンネル)と歌唱統計を取得する。displayName は装飾を外した表示名(無ければ null)。
| Argument | Type | Description |
|---|---|---|
| context | string | このツールを呼ぶ目的やユーザーの依頼の要約(1文・任意)。検索品質の改善のためのログに記録されます |
| singerId* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"singerId"
],
"properties": {
"context": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "このツールを呼ぶ目的やユーザーの依頼の要約(1文・任意)。検索品質の改善のためのログに記録されます"
},
"singerId": {
"type": "string",
"maxLength": 120,
"minLength": 1
}
}
}楽曲IDで曲の詳細(原曲アーティスト等)と歌唱履歴(誰がいつ歌ったか)を取得する。
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| songId* | string | |
| context | string | このツールを呼ぶ目的やユーザーの依頼の要約(1文・任意)。検索品質の改善のためのログに記録されます |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"songId"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
},
"songId": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"context": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "このツールを呼ぶ目的やユーザーの依頼の要約(1文・任意)。検索品質の改善のためのログに記録されます"
}
}
}動画IDで配信の情報とセットリスト(タイムスタンプ付きの歌唱一覧)を取得する。
| Argument | Type | Description |
|---|---|---|
| context | string | このツールを呼ぶ目的やユーザーの依頼の要約(1文・任意)。検索品質の改善のためのログに記録されます |
| videoId* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"videoId"
],
"properties": {
"context": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "このツールを呼ぶ目的やユーザーの依頼の要約(1文・任意)。検索品質の改善のためのログに記録されます"
},
"videoId": {
"type": "string",
"maxLength": 120,
"minLength": 1
}
}
}1人の歌い手の歌唱パフォーマンスを新しい順に全件たどる(一括取得用・ページング対応)。1ページ最大50件。全件取得するときは limit: 50 を指定して呼び出し回数を減らすこと。totalCount に条件に合致する全件数、hasMore に次ページの有無が入るので、offset を limit ずつ進めれば全件を取得できる。同一の歌枠内の並びはセットリスト順ではない(セットリスト順は get_video_setlist を使う)。singerId は search_singers / get_singer で得たIDを渡す。since/until で期間を絞れる(未指定なら全期間)。日時は ISO 8601 形式のみ(例: 2026-07-01 / 2026-07-01T12:00:00+09:00)。タイムゾーンオフセットのない日時は日本時間(JST)として解釈される。YYYY-MM-DD は since ではその日の JST 0時、until ではその日の終わり(当日を含む)として解釈される。「この歌い手が歌った曲を全部知りたい」「レパートリー全体を分析したい」に答える用途。直近の動向を見るだけなら recent_streams を使う。
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| since | string | |
| until | string | |
| offset | integer | |
| context | string | このツールを呼ぶ目的やユーザーの依頼の要約(1文・任意)。検索品質の改善のためのログに記録されます |
| singerId* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"singerId"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
},
"since": {
"type": "string",
"maxLength": 40,
"minLength": 1
},
"until": {
"type": "string",
"maxLength": 40,
"minLength": 1
},
"offset": {
"type": "integer",
"maximum": 100000,
"minimum": 0
},
"context": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "このツールを呼ぶ目的やユーザーの依頼の要約(1文・任意)。検索品質の改善のためのログに記録されます"
},
"singerId": {
"type": "string",
"maxLength": 120,
"minLength": 1
}
}
}データの補正を提案する(唯一の書込ツール・人間レビュー制)。提案は即時反映されず、運営の調査と人間の承認を経て反映される。reason(提案理由)と sources(根拠となる情報ソースURL・1件以上)が必須。type別の proposedData: SONG={title?, original_artist?}(曲情報)/ SINGER={name?, description?, social_links?}(歌い手情報)/ STREAM={setlist: [{timestamp, title, artist}]}(セットリスト全置換。各要素の timestamp/title/artist はすべて非空文字列が必須 — 現在値で artist が空欄の行も、正しい原曲アーティスト名を確認して記入すること。確認できない場合は推測で埋めず提案を見送る)。現在値はサーバが公開データから取得するため送信不要。1日あたりの受付件数に上限がある。
| Argument | Type | Description |
|---|---|---|
| type* | string | |
| reason* | string | |
| sources* | array | |
| targetId* | string | |
| proposedData* | object |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"type",
"targetId",
"proposedData",
"reason",
"sources"
],
"properties": {
"type": {
"enum": [
"SONG",
"STREAM",
"SINGER"
],
"type": "string"
},
"reason": {
"type": "string",
"maxLength": 2000,
"minLength": 1
},
"sources": {
"type": "array",
"items": {
"type": "string",
"maxLength": 500,
"minLength": 1
},
"maxItems": 10,
"minItems": 1
},
"targetId": {
"type": "string",
"maxLength": 120,
"minLength": 1
},
"proposedData": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
}
}VSinger をランダムに1名紹介する(毎回等確率・一期一会)。「誰かおすすめして」「新しい歌い手と出会いたい」に答える用途。プロフィール・歌唱統計と直近の歌唱(最大3件)を返す。displayName は装飾を外した表示名(無ければ null)。下限フィルタ(minTotalSongs / minTotalStreams / minStreamsLast30Days)を指定すると、その条件を満たす歌い手の中から等確率で抽選できる(singer_stats ベース・1日1回更新・公開中の歌唱のみを集計)。
| Argument | Type | Description |
|---|---|---|
| context | string | このツールを呼ぶ目的やユーザーの依頼の要約(1文・任意)。検索品質の改善のためのログに記録されます |
| minTotalSongs | integer | |
| minTotalStreams | integer | |
| minStreamsLast30Days | integer |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"context": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "このツールを呼ぶ目的やユーザーの依頼の要約(1文・任意)。検索品質の改善のためのログに記録されます"
},
"minTotalSongs": {
"type": "integer",
"maximum": 1000000,
"minimum": 1
},
"minTotalStreams": {
"type": "integer",
"maximum": 1000000,
"minimum": 1
},
"minStreamsLast30Days": {
"type": "integer",
"maximum": 1000000,
"minimum": 1
}
}
}最近の歌唱パフォーマンスを新しい順に一覧する(キーワード不要)。since/until で期間、singerId で歌い手を絞り込める。日時は ISO 8601 形式のみ(例: 2026-07-01 / 2026-07-01T12:00:00+09:00)。タイムゾーンオフセットのない日時は日本時間(JST)として解釈される。YYYY-MM-DD は since ではその日の JST 0時、until ではその日の終わり(当日を含む)として解釈される。「今週配信された歌唱」「この歌い手の直近の活動」に答える用途。
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| since | string | |
| until | string | |
| context | string | このツールを呼ぶ目的やユーザーの依頼の要約(1文・任意)。検索品質の改善のためのログに記録されます |
| singerId | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
},
"since": {
"type": "string",
"maxLength": 40,
"minLength": 1
},
"until": {
"type": "string",
"maxLength": 40,
"minLength": 1
},
"context": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "このツールを呼ぶ目的やユーザーの依頼の要約(1文・任意)。検索品質の改善のためのログに記録されます"
},
"singerId": {
"type": "string",
"maxLength": 120,
"minLength": 1
}
}
}VSinger Moment の歌唱パフォーマンスを横断検索する(deep research 互換)。曲名・歌い手名・原曲アーティストで検索できる(配信タイトルは検索対象外)。キーワードは原題の表記のまま指定すること(内部で翻訳・ローマ字化はしない。日本語曲は日本語、英語曲は英語のまま)。結果の id は fetch でそのまま詳細取得できる。
| Argument | Type | Description |
|---|---|---|
| query* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"maxLength": 200,
"minLength": 1
}
}
}VSinger を名前・別名から探す。歌い手の ID が分からないときの入口。名前は表記のまま指定すること(内部で翻訳・ローマ字化はしない)。sortBy・下限フィルタ(minTotalSongs / minTotalStreams / minStreamsLast30Days)を指定すると、名前・別名一致の中から活動量で絞り込み・並べ替えできる(singer_stats ベース・1日1回更新・公開中の歌唱のみを集計)。指定時の結果には stats(totalStreams 等)が付く。純ランキングは top_singers を使う。displayName は装飾を外した表示名(無ければ null)。結果の shortDescription は短い紹介文のみで、プロフィール全文・SNSリンクは get_singer で取得する。
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query* | string | |
| sortBy | string | 並べ替え軸(任意)。streamsLast30Days=直近30日の歌唱数 / totalStreams=総歌唱数(全期間累計)/ totalSongs=レパートリー数。未指定なら名前順 |
| context | string | このツールを呼ぶ目的やユーザーの依頼の要約(1文・任意)。検索品質の改善のためのログに記録されます |
| minTotalSongs | integer | |
| minTotalStreams | integer | |
| minStreamsLast30Days | integer |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"sortBy": {
"enum": [
"streamsLast30Days",
"totalStreams",
"totalSongs"
],
"type": "string",
"description": "並べ替え軸(任意)。streamsLast30Days=直近30日の歌唱数 / totalStreams=総歌唱数(全期間累計)/ totalSongs=レパートリー数。未指定なら名前順"
},
"context": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "このツールを呼ぶ目的やユーザーの依頼の要約(1文・任意)。検索品質の改善のためのログに記録されます"
},
"minTotalSongs": {
"type": "integer",
"maximum": 1000000,
"minimum": 1
},
"minTotalStreams": {
"type": "integer",
"maximum": 1000000,
"minimum": 1
},
"minStreamsLast30Days": {
"type": "integer",
"maximum": 1000000,
"minimum": 1
}
}
}歌唱パフォーマンスを検索する。曲名・歌い手名・原曲アーティストを横断し、誰がいつどの配信でその曲を歌ったかを返す(配信タイトルは検索対象外)。キーワードは原題の表記のまま指定すること(内部で翻訳・ローマ字化はしない。日本語曲は日本語、英語曲は英語のまま)。
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query* | string | |
| context | string | このツールを呼ぶ目的やユーザーの依頼の要約(1文・任意)。検索品質の改善のためのログに記録されます |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"context": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "このツールを呼ぶ目的やユーザーの依頼の要約(1文・任意)。検索品質の改善のためのログに記録されます"
}
}
}指定した歌い手とレパートリー(歌う曲)が似ているVSingerを探す。「この歌い手が好きなら他は?」に答える用途。共通して歌っている曲数の多い順に返し、各歌い手について共通曲の例(最大3曲)も返す(クライアントLLMが「〇〇さんも『△△』を歌っています」のような推薦文を組み立てられる)。類似はレパートリー(歌う曲の重なり)のみに基づき、声質・ジャンルは考慮しない。共通曲が少ない(2曲未満の)歌い手は返らないことがある。singerId は search_singers / get_singer で得たIDを渡す。
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| context | string | このツールを呼ぶ目的やユーザーの依頼の要約(1文・任意)。検索品質の改善のためのログに記録されます |
| singerId* | string |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"singerId"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
},
"context": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "このツールを呼ぶ目的やユーザーの依頼の要約(1文・任意)。検索品質の改善のためのログに記録されます"
},
"singerId": {
"type": "string",
"maxLength": 120,
"minLength": 1
}
}
}活動量の多いVSingerランキングを取得する。sortBy で直近30日の歌唱数(デフォルト・今活発な歌い手)・総歌唱数(全期間累計)・レパートリー数を選べる。統計は1日1回更新(statsAsOf が集計時点)で、公開中の歌唱のみを数えるため get_singer の統計とは数値が一致しないことがある。「最近活発な歌い手は?」「一番歌っている歌い手は?」に答える用途。
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| sortBy | string | ランキング軸。streamsLast30Days=直近30日の歌唱数(デフォルト)/ totalStreams=総歌唱数(全期間累計)/ totalSongs=レパートリー数 |
| context | string | このツールを呼ぶ目的やユーザーの依頼の要約(1文・任意)。検索品質の改善のためのログに記録されます |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
},
"sortBy": {
"enum": [
"streamsLast30Days",
"totalStreams",
"totalSongs"
],
"type": "string",
"description": "ランキング軸。streamsLast30Days=直近30日の歌唱数(デフォルト)/ totalStreams=総歌唱数(全期間累計)/ totalSongs=レパートリー数"
},
"context": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "このツールを呼ぶ目的やユーザーの依頼の要約(1文・任意)。検索品質の改善のためのログに記録されます"
}
}
}歌唱回数の多い楽曲ランキングを取得する(全期間の累計・多い順)。「一番カバーされている曲は?」「みんながよく歌う曲は?」に答える用途。期間指定(直近30日の人気等)はできない。
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| context | string | このツールを呼ぶ目的やユーザーの依頼の要約(1文・任意)。検索品質の改善のためのログに記録されます |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 50,
"minimum": 1
},
"context": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "このツールを呼ぶ目的やユーザーの依頼の要約(1文・任意)。検索品質の改善のためのログに記録されます"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 15, 2026.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.