Bilibili

Interactúa con el sitio web de videos Bilibili, permitiendo acciones como buscar videos, obtener información de videos y acceder a datos de usuario.

Documentación

bilibili-mcp

[NOTA]: Currently en desarrollo!!!

Descripción

Un agente mcp que permite a los LLMs interactuar con el sitio web de videos de Bilibili.

Características

Instalación

Requisitos previos

Asegúrate de que uv esté instalado correctamente.

Instalación

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

Uso

Primero, edita el archivo .env correctamente.

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

Para ejecutar el mcp:

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

Usar en formato json:

"mcpServers": {
  "bilibili-mcp": {
    "command": "uv",
    "args": [
        "run",
        "--directory",
        "/path/to/your/bilibili-mcp",
        "/path/to/your/bilibili-mcp/server.py"
      ]
  }
}

Tecnologías Utilizadas

Herramientas MCP

Este proyecto expone varias funcionalidades como herramientas MCP, permitiendo que sistemas externos interactúen con las funciones de video de Bilibili.

Gestión de Videos

  • get_video_comments(bvid: str, page_index: int = 1, time_order: bool = False): Recupera comentarios de un video de Bilibili dado.
  • send_comment(bvid: str, message: str): Envía un comentario a un video de Bilibili especificado.
  • download_video_best_quality(bvid: str, part_name: Optional[str] = None, out_dir: str = os.getenv("DOWNLOAD_DIR", "downloads")): Descarga un video de Bilibili en la mejor calidad disponible.
  • get_hot_videos(num_videos: int = 10): Recupera una lista de videos populares de Bilibili.
  • search_video(keyword: str, num_results: int = 10, descending: bool = True, order_type: search.OrderVideo = search.OrderVideo.TOTALRANK): Busca videos en Bilibili basándose en una palabra clave.
  • get_video_info(bvid: str): Recupera información detallada sobre un video de Bilibili.
  • pay_video_coin(bvid: str, num: int = 1, like: bool = False): Paga monedas a un video de Bilibili.
  • triple_video(bvid: str): Realiza una acción "triple" (me gusta, moneda, favorito) en un video de Bilibili.
  • add_video_to_toview(bvid: str): Añade un video de Bilibili a la lista "Ver más tarde".
  • delete_video_from_toview(bvid: str): Elimina un video de Bilibili de la lista "Ver más tarde".
  • like_video(bvid: str, like: bool = True): Da me gusta o quita el me gusta a un video de Bilibili.

Gestión de Listas de Favoritos

  • create_video_favorite_list(title: str, introduction: str = "", private: bool = True): Crea una nueva lista de favoritos de videos.
  • delete_video_favorite_list(favorite_list_name: str): Elimina una lista de favoritos de videos por su nombre.
  • set_video_favorite(bvid: str, favorite_list_name: str): Añade un video a una lista de favoritos especificada.
  • unset_video_favorite(bvid: str, favorite_list_name: str): Elimina un video de una lista de favoritos especificada.

Guías de Contribución

Guías sobre cómo otros pueden contribuir a este proyecto.

  1. Haz un fork del repositorio.
  2. Crea una nueva rama (git checkout -b feature/YourFeature).
  3. Realiza tus cambios.
  4. Haz commit de tus cambios (git commit -m 'Add some feature').
  5. Sube los cambios a la rama (git push origin feature/YourFeature).
  6. Abre un Pull Request.

Información de Licencia

Información sobre la licencia bajo la cual se distribuye tu proyecto.

Este proyecto está licenciado bajo [NOMBRE DE LA LICENCIA] - consulta el archivo LICENCIA para más detalles.