mcpField
B
bilitrack

bilitrack

ローカル
github.com/CloudCorpRecordsソーシャルメディア01 週間前に更新

bilitrack について

bilitrackは、Bilibiliの公開データを取得するCLIおよびMCPサーバーです。ユーザーや投稿、コメントを追跡でき、動画の字幕も任意で取得できます。

主な機能

  1. 01ユーザー検索とプロフィール表示
  2. 02動画、動態、記事の一覧取得
  3. 03フォロー中アカウントの確認
  4. 04コンテンツのコメントと返信の取得
  5. 05動画の字幕情報またはテキストの取得

活用シーン

  1. 01Bilibiliユーザーの最近の投稿を確認
  2. 02キーワードで投稿者の動画を検索
  3. 03動画や記事のコメントを読む
  4. 04動画の字幕を取得

MCP 対応

stdio MCPサーバーは公開Web APIを通じて、Bilibiliユーザーの検索と、ユーザー、動画、記事、動態、コメント、字幕の取得ツールを公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"cloudcorprecords-bilitrack": {
"command": "npx",
"args": [
"-y",
"@reneturcios/bilitrack"
]
}
}
}
起動コマンドnpx -y @reneturcios/bilitrack

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npm@reneturcios/bilitrack0.1.0
ocighcr.io/cloudcorprecords/bilitrack:0.1.0

ツール

12

掲載時のツール一覧 · 1 週間前に更新

パラメーター型必須説明
limitintegerいいえ返すユーザー数の上限(デフォルトは 20)。
keywordstringはいBilibili ユーザーの検索に使用するキーワード。

詳細

bilitrack

bilitrack では、Bilibili のユーザーやコンテンツを追跡できます。ユーザーを検索し、最近投稿した動画、动态、記事を確認できます。また、フォローしているユーザーを確認したり、動画、动态、記事のコメントスレッドを読んだりできます。動画については、リクエストに応じて字幕テキストも取得できます。すべての情報は、Bilibili の公開 Web API から読み取ります。

このパッケージは、BiliStalkerMCP の 12 ツールのリストを、公開されている README の仕様に基づいて一から再構築したものです。

サービスとの通信方法

各ツールは、https://api.bilibili.com/x/... 配下の公開エンドポイントに対応しており、そのエンドポイントの data ペイロードを返します。

# Optional: a logged-in session raises limits and unlocks gated reads.
export SESSDATA="your SESSDATA cookie value"
export BILI_JCT="your bili_jct cookie value (optional)"
export BUVID3="your buvid3 cookie value (optional)"
# Optional override (default: https://api.bilibili.com)
export BILIBILI_API_URL="https://api.bilibili.com"

Cookie の設定は完全に任意です。Cookie が設定されていない場合、リクエストは Cookie なしで送信されます。Bilibili はほとんどの公開情報の読み取りでこれを受け入れるため、SESSDATA がないだけで失敗することはありません。API がゼロ以外の code を返した場合、呼び出しはそのコードとメッセージを伴って失敗します。上流で HTTP エラーが発生した場合は、ステータスと本文の抜粋を報告します。

ユーザー名の解決: ツールは user_id_or_username を受け取ります。数値の場合はユーザーの mid として直接使用します。それ以外の場合はユーザー検索で解決し、ユーザー名が完全一致した場合のみ受け付けます。近似一致の場合は推測せず、エラーになります。

字幕の簡略化: fetch_subtitles を設定すると、get_video_detail はプレーヤー API を使用して字幕トラックを一覧表示し、トラックのメタデータ(subtitle_scope: "metadata")または選択したトラックのテキストを結合したもの(subtitle_lang で指定したトラック、または最初のトラック)を返します。指定されている場合は、テキストを subtitle_max_chars の長さで切り詰めます。完全なプレーヤークライアントのように、複数パートのトラックや AI 生成トラックをつなぎ合わせることはありません。

インストール

npx @reneturcios/bilitrack search_users '{"keyword":"example"}'

または、コンテナイメージを実行します。

docker run -i ghcr.io/cloudcorprecords/bilitrack

コンテナはデフォルトで MCP サーバーとして起動します。CLI として使用するには、CLI 引数を渡してください。

CLI

CLI はツールと同じ構成で、各ツールに対応するサブコマンドがあり、引数を単一の JSON オブジェクトとして受け取ります。

bilitrack search_users '{"keyword":"example","limit":5}'
bilitrack get_user_info '{"user_id_or_username":"12345"}'
bilitrack get_user_snapshot '{"user_id_or_username":"example"}'
bilitrack get_user_videos '{"user_id_or_username":"12345","page":2}'
bilitrack get_video_detail '{"bvid":"BV1xx411c7mD","fetch_subtitles":true,"subtitle_lang":"zh-CN"}'
bilitrack get_content_comments '{"content_type":"video","content_id":"12345","sort":"hot"}'
bilitrack --version

終了コード:成功時は 0、API エラーまたは検証エラー時は 1(エラーの原因を示します)、使用方法のエラー時は 2 です。

MCP サーバー

1 つの実行ファイルで両方の用途に対応します。mcp サブコマンドを実行すると、stdio MCP サーバーが起動します。

npx -y @reneturcios/bilitrack mcp

MCP クライアントの設定:

{
  "mcpServers": {
    "bilitrack": {
      "command": "npx",
      "args": ["-y", "@reneturcios/bilitrack", "mcp"],
      "env": { "SESSDATA": "your cookie value (optional)" }
    }
  }
}
ツール

このスキーマでは、すべての ID パラメーターは文字列です。

ツール入力機能
search_userskeyword(必須)、limitキーワードでBilibiliユーザーを検索します。
get_user_snapshotuser_id_or_username(必須)、video_limit、dynamic_limit、article_limitBilibiliユーザーのプロフィール、動画、動的投稿、記事をまとめて取得します。
get_user_infouser_id_or_username(必須)Bilibiliユーザーのプロフィール情報を取得します。
get_user_videosuser_id_or_username(必須)、page、limitBilibiliユーザーの動画一覧をページ単位で取得します。
search_user_videosuser_id_or_username(必須)、keyword(必須)、page、limitキーワードでBilibiliユーザーの動画を検索します。
get_video_detailbvid(必須)、fetch_subtitles、subtitle_scope、subtitle_page、subtitle_cid、subtitle_mode、subtitle_lang、subtitle_max_charsBVIDでBilibili動画の詳細を取得します。必要に応じて字幕も取得できます。
get_user_dynamicsuser_id_or_username(必須)、cursor、limit、dynamic_typeBilibiliユーザーの動的投稿(フィード投稿)をカーソルでページ分割して一覧表示します。
get_user_articlesuser_id_or_username(必須)、page、limitBilibiliユーザーの記事一覧をページ単位で取得します。
get_article_contentarticle_id(必須。数値またはcvで始まる値)Bilibili記事の全文を取得します。
get_user_followingsuser_id_or_username(必須)、page、limitBilibiliユーザーがフォローしているアカウントをページ単位で一覧表示します。
get_content_commentscontent_type(必須)、content_id(必須)、cursor、limit、sortBilibiliの動画、動的投稿、記事へのコメントを一覧表示します。
get_content_comment_repliescontent_type(必須)、content_id(必須)、root_rpid(必須)、page、limitBilibiliコンテンツのルートコメント1件に対する返信を一覧表示します。

content_typeには、video、article、dynamic、audio、 album、course、または文字列として指定した数値のBilibili返信タイプを指定できます。

開発

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, fake fetch only, no network
npm run dev     # run the CLI from source via tsx

ライセンス

MIT — LICENSEを参照してください。

コメント

MCP は初めてですか?

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

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