BiliStalkerMCP
BiliStalkerMCP
Bilibili MCP Server für die Analyse bestimmter Nutzer
BiliStalkerMCP ist ein Bilibili MCP Server, der auf dem Model Context Protocol (MCP) basiert und speziell für KI-Agenten entwickelt wurde, die einen bestimmten Bilibili-Nutzer oder -Ersteller analysieren müssen.
Er ist optimiert für Arbeitsabläufe, die von einer Ziel-UID oder einem Benutzernamen ausgehen, dann das Profil, die Videos, Dynamiken, Artikel, Untertitel und Abonnements dieses Nutzers mit strukturierten Tools abrufen.
Wenn du nach einem Bilibili MCP Server, einem Bilibili Model Context Protocol Server oder einem MCP Server zum Verfolgen und Analysieren eines bestimmten Bilibili-Nutzers suchst, ist dieses Repository für diesen Anwendungsfall konzipiert.
English | 中文说明
Installation
uvx bili-stalker-mcp
# or
pip install bili-stalker-mcpKonfiguration (Claude Desktop, empfohlen)
{
"mcpServers": {
"bilistalker": {
"command": "uv",
"args": ["run", "--directory", "/path/to/BiliStalkerMCP", "bili-stalker-mcp"],
"env": {
"SESSDATA": "required_sessdata",
"BILI_JCT": "optional_jct",
"BUVID3": "optional_buvid3"
}
}
}
}Bevorzuge
uv run --directory ...für schnellere lokale Aktualisierungen, wenn die Verbreitung der PyPI-Version verzögert ist. Du kannst weiterhinuvx bili-stalker-mcpfür eine schnelle einmalige Nutzung verwenden.
Authentifizierung: Gib
SESSDATAdirekt an oder lege es inBILI_COOKIE_FILEab. Erhalte es über die Browser-Entwicklertools (F12) > Anwendung > Cookies >.bilibili.com.
Umgebungsvariablen
Schlüssel | Erf. | Beschreibung |
| Bedingt | Bilibili-Sitzungstoken; erforderlich, es sei denn, |
| Nein | CSRF-Schutztoken. |
| Nein | Hardware-Fingerabdruck (verringert das Risiko von Ratenbegrenzungen). |
| Nein | Pfad zu einer einfachen Cookie-Datei. |
| Nein | Pfad zur separaten Datei für das Aktualisierungstoken; setze das Token niemals über eine Umgebungsvariable. |
| Nein |
|
| Nein | Intervall für die Aktualisierungsprüfung; Standard: |
| Nein |
|
| Nein | Ausgabezeitzone für formatierte Zeitstempel (Standard: |
Optionale sichere Cookie-Aktualisierung
Die automatische Aktualisierung ist standardmäßig deaktiviert. Aktiviere sie nur, wenn die Cookie-Datei und die Aktualisierungs-Token-Datei vorhanden, lesbar und beschreibbar sind. Die Cookie-Datei darf nur normale Cookie-Werte enthalten (SESSDATA, bili_jct, buvid3, buvid4 und DedeUserID); das Aktualisierungstoken gehört nur in seine eigene Datei.
{
"BILI_COOKIE_FILE": "/secure/bilibili-cookie.txt",
"BILI_REFRESH_TOKEN_FILE": "/secure/bilibili-refresh-token.txt",
"BILI_ENABLE_COOKIE_REFRESH": "true",
"BILI_COOKIE_REFRESH_CHECK_INTERVAL_SECONDS": "21600"
}Wenn die Aktualisierung aktiviert ist, setze SESSDATA, BILI_JCT oder DEDEUSERID nicht in der Umgebung: Diese rotierenden Werte müssen aus der Cookie-Datei stammen, damit ein Neustart keine veralteten Anmeldeinformationen nachladen kann. BUVID3 und BUVID4 können weiterhin über die Umgebung bereitgestellt werden. Aktualisierungsprüfungen werden ratenbegrenzt, und gleichzeitige MCP-Aufrufe oder Serverprozesse, die diese Dateien gemeinsam nutzen, verwenden eine einzige Aktualisierungssperre. Eine ausstehende Bestätigung wird vor einer erneuten Aktualisierung wiederhergestellt. Der Seitenwagen .bili-cookie-refresh.lock kann zwischen den Läufen auf der Festplatte verbleiben.
Für eine schnellere Ersteinrichtung kopiere den vollständigen Cookie-Header-Wert aus einer Bilibili-Browseranfrage und den ac_time_value aus dem lokalen Speicher und führe dann Folgendes aus:
uv run bili-stalker-cookie-setup --directory D:\BiliStalkerSecretsFür einen PyPI-Aufruf ohne Klonen dieses Repositories:
uvx --from bili-stalker-mcp bili-stalker-cookie-setup --directory D:\BiliStalkerSecretsDas Skript verbirgt beide eingefügten Werte, lehnt Verzeichnisse innerhalb des Repositories und vorhandene Anmeldedateien ab und gibt nur einen nicht geheimen MCP-env-Block aus. Füge keinen vollständigen cURL-Befehl ein: Füge nur den Wert nach dem cookie:-Header ein.
Lokale Überprüfung
Alle Überprüfungsbefehle verwenden Mocks und erfordern keine Bilibili-Anmeldeinformationen:
uv run pytest -q tests/test_credentials.py tests/test_cookie_refresh.py tests/test_tool_contract.py
uv run pytest -q
uv run black --check bili_stalker_mcp tests scripts
uv run isort --check-only bili_stalker_mcp tests scripts
uv run flake8 bili_stalker_mcp tests scripts
uv run mypy bili_stalker_mcpRelated MCP server: MediaCrawler MCP Server
Verfügbare Werkzeuge
Werkzeug | Fähigkeit | Parameter |
| Leichte Nutzerkandidaten mit numerischen UIDs |
|
| Ein-Aufruf-Übersicht: Profil + aktuelle Videos/Dynamiken/Artikel, gleichzeitig abgerufen |
|
| Umfangreiches Profil: Level, offizieller Titel, VIP, Live-Raum, Sperrstatus, Abonnenten/Abonnierte, gesamte Videoaufrufe/Artikelaufrufe/Likes (benötigt |
|
| Leichte Videoliste |
|
| Stichwortsuche in der Videoliste eines Nutzers |
|
| Vollständige Videodetails + optionale Untertitel |
|
| Strukturierte Dynamiken mit Bild-Metadaten und Cursor-Paginierung |
|
| Leichte Artikelliste |
|
| Vollständiger Artikel im Markdown-Format |
|
| Analyse der Abonnementliste |
|
| Kommentare zu einem Video, Artikel oder einer Dynamik (einschließlich Bildern und Notiz-Metadaten) |
|
| Vollständige Unterantworten zu einem Video-, Artikel- oder Dynamikkommentar |
|
Wenn du von einem Benutzernamen ausgehst, rufe search_users einmal auf und verwende die zurückgegebene numerische UID für die nachfolgenden Werkzeuge. Die implizite Benutzernamensauflösung akzeptiert nur exakte Übereinstimmungen; sie wählt nicht stillschweigend das erste ähnliche Suchergebnis aus.
Kommentar-pictures enthalten die ursprünglichen Bild-URLs. Reguläre lange Kommentare behalten den vollständigen Text, der von Bilibili zurückgegeben wird. Notizartige Kommentare können nur eine Vorschau enthalten; verwende den zurückgegebenen note.cvid mit get_article_content, um die vollständige Notiz abzurufen. Für Videokommentare übergib content_type="video" und eine BVID, AV-Nummer oder Video-URL als content_id. Verwende die rpid eines übergeordneten Kommentars als root_rpid, wenn du den vollständigen Antwortthread abrufst.
Dynamikfilterung (dynamic_type)
ALL(Standard): Text, Bilder und Reposts.ALL_RAW: Ungefiltert (enthält Videos & Artikel).VIDEO,ARTICLE,DRAW,TEXT: Spezifische Kategorie-Filterung.REVIEW: Nur erkannte Bewertungskarten mit fünf Slots. Jedes Ergebnis zeigtreview.rating(ausgefüllte Sterne, 0-5),review.title,review.text, Cover- und Sprung-URLs sowie die Quellbewertungsbeschreibung, falls verfügbar. Dieser Filter klassifiziert nicht unabhängig, ob der bewertete Titel ein Anime ist.
Jedes Dynamik-Element enthält eine images-Liste. Jedes Bild enthält url, width und height; ungültige URLs werden weggelassen, nicht verfügbare Abmessungen sind null. image_count ist immer gleich der Anzahl der zurückgegebenen Bilder. Reposts zeigen dieselben Felder unter origin.images und origin.image_count. Dynamiken ohne Bilder geben eine leere images-Liste zurück.
Paginierung: Antworten enthalten next_cursor. Übergib dies an nachfolgende Anfragen für nahtloses Scrollen.
Untertitel-Modi (get_video_detail)
smart(Standard, wennfetch_subtitles=true): Metadaten für alle Seiten abrufen, nur den Text der am besten passenden Untertitelspur herunterladen.full: Text aller Untertitelspuren herunterladen (höherer Aufwand).minimal: Metadaten der Untertitel und Abruf des Untertiteltextes überspringen.
subtitle_lang kann eine Sprache erzwingen (z.B. en-US); auto verwendet die eingebaute Prioritäts-Fallback.
subtitle_max_chars begrenzt die Größe des zurückgegebenen Untertiteltextes, um eine Token-Explosion zu vermeiden.
Der Untertiteltext wird einmal über full_text zurückgegeben; tracks enthalten nur Metadaten (text ist immer leer). Im full-Modus mit mehreren Spuren wird jedes Segment in full_text mit einem [Sprache · Teil]-Label versehen.
Gebündeltes Skill
Das Repository enthält ein einsatzbereites KI-Agenten-Skill in skills/bili-content-analysis/:
skills/bili-content-analysis/
├── SKILL.md # Workflow & output contract
└── references/
└── analysis-style.md # Detailed writing style rulesWas es tut
Führt kompatible KI-Agenten (Gemini, Claude usw.) durch einen strukturierten 6-Schritte-Workflow zur tiefgehenden Bilibili-Inhaltsanalyse:
Ziel und Umfang klären (uid / bvid / Suchbegriff).
Belege sammeln – zuerst leichte Listen, detaillierte Informationen nur für besonders relevante Elemente.
Quellenstruktur rekonstruieren, bevor interpretiert wird (Zeitstrahl, Kapitel, Sprecher).
Analysieren – Fakten, logische Kette, Annahmen, Themen und Veränderungen.
Ankerpunkte beibehalten – uid, bvid, article_id, Zeitstempel, wichtige Quellenausschnitte.
Fehler behandeln – Hindernisse explizit benennen, Spekulationen vermeiden.
Verwendung
Kopieren Sie den Ordner bili-content-analysis in das Skill-Verzeichnis Ihres Projekts:
<project>/.agent/skills/bili-content-analysis/Der Agent aktiviert die Fähigkeit automatisch, wenn Benutzeranfragen Bilibili-Erstellerverfolgung, Transkriptinterpretation, Zeitstrahlrekonstruktion oder Inhaltsanalyse betreffen.
Entwicklung
# Setup
git clone https://github.com/222wcnm/BiliStalkerMCP.git
cd BiliStalkerMCP
uv sync --dev
# Test
uv run pytest -q
# Integration & Performance (Requires Auth)
uv run python scripts/integration_suite.py -u <UID>
uv run python scripts/perf_baseline.py -u <UID> --tools dynamics -n 3Veröffentlichung (Betreuer)
Anmeldedaten: Das Veröffentlichungsskript verwendet
UV_PUBLISH_TOKEN, falls gesetzt; andernfalls liest es das entsprechende[pypi]- oder[testpypi]-Token aus$HOME\.pypirc.
Twine wird nur zur Paketmetadatenvalidierung temporär überuvxaufgerufen und ist keine Projektabhängigkeit.
# Build + test + package metadata validation (no upload)
.\scripts\pypi_release.ps1
# Upload to TestPyPI
.\scripts\pypi_release.ps1 -TestPyPI -Upload
# Upload to PyPI
.\scripts\pypi_release.ps1 -UploadDocker
Läuft über stdio-Transport. Keine Ports werden freigegeben.
docker build -t bilistalker-mcp .
docker run -e SESSDATA=... bilistalker-mcpFehlerbehebung
412 Precondition Failed: Bilibili-Anti-Crawling-System ausgelöst.
SESSDATAaktualisieren oderBUVID3bereitstellen.Cloud-IPs: Sehr anfällig für Blockierungen; lokale Ausführung wird empfohlen.
Lizenz
MIT
Haftungsausschluss: Nur für persönliche Forschung und Lernzwecke. Massenprofilierung, Belästigung oder kommerzielle Überwachung ist untersagt.
Dieses Projekt wird mit Hilfe von KI erstellt und gewartet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceAn MCP server that enables users to search Bilibili videos, access trending rankings, and retrieve detailed information about videos, content creators, and anime schedules. It allows AI applications to interact directly with Bilibili content via simple API interfaces.45189MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for crawling social media platforms (e.g., Bilibili) by keywords, video IDs, or creator IDs, with support for MySQL, JSON, and CSV storage.39MIT
- AlicenseBqualityDmaintenanceA MCP server providing 22 tools to interact with Bilibili API, enabling video info, search, user profile, comments, rankings, and messaging with login support for write operations.223GPL 3.0
- AlicenseAqualityAmaintenanceBilibili MCP server enabling video search, comment management, danmaku, user info, dynamics, live streaming analysis, and more via 31 tools.31321MIT
Related MCP Connectors
MCP server for Hailuo (MiniMax) AI video generation
An MCP server for deep research or task groups
MCP server for ByteDance Seedance AI video generation
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/222wcnm/BiliStalkerMCP'
If you have feedback or need assistance with the MCP directory API, please join our Discord server