biliscribe
Extracts and formats Bilibili video content into structured text for LLM processing.
Uses Cloudflare R2 for storing audio data extracted from videos.
Uses Replicate API for speech-to-text transcription via WhisperX.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@biliscribeExtract text from this Bilibili video: https://b23.tv/abc123"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
biliscribe
A MCP Server that extracts and formats Bilibili video content into structured text, optimized for LLM processing and analysis.
一个 MCP Server,将 B站视频转成文字,给大模型总结。
I have only completed testing on macOS. Before running this MCP Server, you need to ensure that ffmpeg can be called from your shell environment.
我只在 macOS 上完成了测试。在运行此 MCP 服务器之前,您需要确保可以从命令行环境调用 ffmpeg。
Installation 安装
You can install the mcp-server-biliscribe package using uvx:
您可以使用 uvx 安装 mcp-server-biliscribe 包:
uvx mcp-server-biliscribeRelated MCP server: youtube-mcp
Prerequisites 前置条件
Before using this service, you need to prepare: 在使用此服务之前,您需要准备:
Cloudflare R2 access credentials - for storing audio data Cloudflare R2 访问凭据 - 用于存储音频数据
Replicate API Key - for whisperx calling Replicate API Key - 用于 whisperx 调用
Environment Variables 环境变量
You need to set the following environment variables: 您需要设置以下环境变量:
REPLICATE_API_TOKEN=r8_THIS_IS_REPLICATE_API_KEY
S3_API_ENDPOINT=https://this_is_s3_api_endpoint.r2.cloudflarestorage.com
BUCKET_NAME=this_is_your_bucket_name
ACCESS_KEY=THIS_IS_YOUR_S3_AK
SECRET_KEY=THIS_IS_YOUR_S3_SKCommunication Protocols 通信协议
This server supports two communication protocols: 该服务器支持两种通信协议:
Standard I/O (stdio) - default 标准输入/输出 (stdio) - 默认
Server-Sent Events (SSE) 服务器发送事件 (SSE)
You can control the protocol using the environment variable BILISCRIBE_SERVER_SSE. Set it to true to enable SSE mode.
您可以使用环境变量 BILISCRIBE_SERVER_SSE 控制协议。将其设置为 true 以启用 SSE 模式。
Available Tools
1 toolbili_scribeA
Extracts and formats video content into structured text, optimized for LLM processing and analysis.
Args:
video_url (str): The URL of video to process.
use_audio (bool): Whether to use audio for transcription. Should always be True.
Returns:
str: The formatted text content of the video.
| Name | Required | Description | Default |
|---|---|---|---|
| video_url | Yes | ||
| use_audio | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavioral traits. It states the core function but omits critical details such as authentication requirements, rate limits, whether the video is downloaded or streamed, error conditions, or side effects. This leaves the agent underinformed about important operational aspects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: a one-sentence purpose followed by compact parameter and return descriptions. It front-loads the main goal and avoids any extraneous text. Every sentence earns its place, making it efficient for an AI agent to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two simple parameters and no output schema or nested objects, the description covers the core input/output. However, it lacks behavioral context (e.g., processing time, URL validation, error handling) and the return format is vaguely described as 'formatted text'. This leaves some reasonable gaps in context, making it merely adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides zero description coverage (0%), so the description compensates by explaining both parameters: 'video_url (str): The URL of video to process' and 'use_audio (bool): Whether to use audio for transcription. Should always be True.' The explanations are clear and include a usage hint, adding significant value beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Extracts and formats video content into structured text, optimized for LLM processing and analysis.' This provides a specific verb (extracts) and resource (video content), and it also indicates the output format. With no sibling tools, differentiation is not required, and the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description offers a clear usage constraint for the 'use_audio' parameter: 'Should always be True.' This guides the agent in correct usage. However, it does not provide explicit 'when to use' or 'when not to use' context, but given the absence of sibling tools, the implied usage (whenever video text is needed) is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.8.7- First observed
bili_scribe
TDQS
Scored across 1 tool
Only one tool exists, so there is no risk of confusion between tools. The single tool has a clear and distinct purpose.
With only one tool, naming is trivially consistent. The name 'bili_scribe' follows a reasonable pattern for the domain.
A single tool for video transcription feels thin, as it lacks supporting tools for video lookup, list management, or format options. The scope is narrow but tolerable for a minimal server.
The tool covers the core transcription operation, but there are obvious gaps like no ability to list available videos, configure audio settings beyond boolean, or handle batch processing. The surface is incomplete for a general video content server.
Maintenance
Related MCP Connectors
Any video URL to LLM-ready transcript. ASR built in, no captions needed. TikTok, X, TED and more.
Bilibili public video, article, dynamic, creator, comments, reactions, and transcript tools.
Turn a TikTok/Instagram/YouTube link into text for your AI: metadata, transcript and image OCR.
Provide token-optimized, structured YouTube data to enhance your LLM applications. Access efficien…
Related MCP Servers
- AlicenseAqualityAmaintenance✨ 为你的 AI 助手装上 B 站的眼睛:一键提取视频字幕与热门评论,助力高效信息总结 🚀 ✨ Equip your AI assistant with "Bilibili Eyes": One-click extraction of video subtitles and popular comments for efficient information summarization 🚀412737 npm20Apache 2.0
- AlicenseAqualityDmaintenanceExtracts and processes YouTube video content including transcripts, metadata, comments, and channel information for LLMs.69 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables Claude to transcribe Bilibili videos, search by intent, and analyze local video files, returning structured summaries with key points and verdicts.Apache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables probing, ingesting, transcribing, and searching Bilibili videos with timestamped evidence and frame extraction, without reading browser cookies.1 npmMIT