MCP ExplorerExplorer

Bilibili Mcp

@KitsuneX07on 15 days ago
1 AGPL-3.0
FreeCommunity
AI Systems
A development MCP agent for LLMs to interact with Bilibili.

Overview

What is Bilibili Mcp

bilibili-mcp is an MCP agent designed to enable Large Language Models (LLMs) to interact with the Bilibili video website, facilitating various video management tasks.

Use cases

Use cases for bilibili-mcp include automating video interactions, building applications that require video data from Bilibili, and enhancing user experience by integrating Bilibili features into other software.

How to use

To use bilibili-mcp, first clone the repository and install the necessary prerequisites. Then, configure the .env file with the required credentials and run the server using the provided commands.

Key features

Key features of bilibili-mcp include video management functionalities such as liking/unliking videos, retrieving video information, adding/removing videos from the ‘Watch Later’ list, and obtaining download URLs for Bilibili videos.

Where to use

bilibili-mcp can be used in fields such as software development, content management, and automation tasks related to video platforms, particularly for applications that require interaction with Bilibili.

Content

bilibili-mcp

[NOTE]: Currently in development!!!

Description

A mcp agent which allows LLMs to interact with the Bilibili video website.

Features

Installation

Prerequisites

Make sure uv is installed correctly.

Installation

git clone https://github.com/KitsuneX07/bilibili-mcp.git
cd bilibili-mcp
uv sync

Usage

First, edit the .env file correctly.

cd /path/to/your/bilibili-mcp
cp .env.example .env
vi .env
# edit the .env file correctly, instructions can be found at https://nemo2011.github.io/bilibili-api/#/get-credential

To run the mcp:

uv run --directory /path/to/your/bilibili-mcp /path/to/your/bilibili-mcp/server.py

Use in json format:

Technologies Used

MCP Tools

This project exposes several functionalities as MCP tools, allowing external systems to interact with Bilibili video features.

Video Management

  • get_video_comments(bvid: str, page_index: int = 1, time_order: bool = False): Retrieves comments for a given Bilibili video.
  • send_comment(bvid: str, message: str): Sends a comment to a specified Bilibili video.
  • download_video_best_quality(bvid: str, part_name: Optional[str] = None, out_dir: str = os.getenv("DOWNLOAD_DIR", "downloads")): Downloads a Bilibili video in the best available quality.
  • get_hot_videos(num_videos: int = 10): Retrieves a list of hot videos from Bilibili.
  • search_video(keyword: str, num_results: int = 10, descending: bool = True, order_type: search.OrderVideo = search.OrderVideo.TOTALRANK): Searches for videos on Bilibili based on a keyword.
  • get_video_info(bvid: str): Retrieves detailed information about a Bilibili video.
  • pay_video_coin(bvid: str, num: int = 1, like: bool = False): Pays coins to a Bilibili video.
  • triple_video(bvid: str): Performs a “triple” action (like, coin, favorite) on a Bilibili video.
  • add_video_to_toview(bvid: str): Adds a Bilibili video to the “Watch Later” list.
  • delete_video_from_toview(bvid: str): Deletes a Bilibili video from the “Watch Later” list.
  • like_video(bvid: str, like: bool = True): Likes or unlikes a Bilibili video.

Contribution Guidelines

Guidelines for how others can contribute to this project.

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature/YourFeature).
  3. Make your changes.
  4. Commit your changes (git commit -m 'Add some feature').
  5. Push to the branch (git push origin feature/YourFeature).
  6. Open a Pull Request.

Licensing Information

Information about the license under which your project is distributed.

This project is licensed under the [LICENSE NAME] - see the LICENSE file for details.

Tools

No tools

Comments