Bilibili

Interaja com o site de vídeos Bilibili, permitindo ações como pesquisar vídeos, obter informações de vídeos e acessar dados de usuários.

Documentação

bilibili-mcp

[NOTA]: Currently em desenvolvimento!!!

Descrição

Um agente MCP que permite que LLMs interajam com o site de vídeos Bilibili.

Recursos

Instalação

Pré-requisitos

Certifique-se de que uv esteja instalado corretamente.

Instalação

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

Uso

Primeiro, edite o arquivo .env corretamente.

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 executar o mcp:

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

Use no formato json:

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

Tecnologias Utilizadas

Ferramentas MCP

Este projeto expõe várias funcionalidades como ferramentas MCP, permitindo que sistemas externos interajam com os recursos de vídeo do Bilibili.

Gerenciamento de Vídeos

  • get_video_comments(bvid: str, page_index: int = 1, time_order: bool = False): Recupera comentários de um vídeo Bilibili específico.
  • send_comment(bvid: str, message: str): Envia um comentário para um vídeo Bilibili especificado.
  • download_video_best_quality(bvid: str, part_name: Optional[str] = None, out_dir: str = os.getenv("DOWNLOAD_DIR", "downloads")): Baixa um vídeo Bilibili na melhor qualidade disponível.
  • get_hot_videos(num_videos: int = 10): Recupera uma lista de vídeos em alta do Bilibili.
  • search_video(keyword: str, num_results: int = 10, descending: bool = True, order_type: search.OrderVideo = search.OrderVideo.TOTALRANK): Pesquisa vídeos no Bilibili com base em uma palavra-chave.
  • get_video_info(bvid: str): Recupera informações detalhadas sobre um vídeo Bilibili.
  • pay_video_coin(bvid: str, num: int = 1, like: bool = False): Paga moedas para um vídeo Bilibili.
  • triple_video(bvid: str): Executa uma ação "tripla" (curtir, moeda, favoritar) em um vídeo Bilibili.
  • add_video_to_toview(bvid: str): Adiciona um vídeo Bilibili à lista "Assistir Depois".
  • delete_video_from_toview(bvid: str): Remove um vídeo Bilibili da lista "Assistir Depois".
  • like_video(bvid: str, like: bool = True): Curte ou descurte um vídeo Bilibili.

Gerenciamento de Listas de Favoritos

  • create_video_favorite_list(title: str, introduction: str = "", private: bool = True): Cria uma nova lista de favoritos de vídeos.
  • delete_video_favorite_list(favorite_list_name: str): Exclui uma lista de favoritos de vídeos pelo nome.
  • set_video_favorite(bvid: str, favorite_list_name: str): Adiciona um vídeo a uma lista de favoritos especificada.
  • unset_video_favorite(bvid: str, favorite_list_name: str): Remove um vídeo de uma lista de favoritos especificada.

Diretrizes de Contribuição

Diretrizes sobre como outras pessoas podem contribuir com este projeto.

  1. Faça um fork do repositório.
  2. Crie um novo branch (git checkout -b feature/YourFeature).
  3. Faça suas alterações.
  4. Faça commit das suas alterações (git commit -m 'Add some feature').
  5. Envie para o branch (git push origin feature/YourFeature).
  6. Abra um Pull Request.

Informações de Licenciamento

Informações sobre a licença sob a qual seu projeto é distribuído.

Este projeto é licenciado sob a [NOME DA LICENÇA] - consulte o arquivo LICENSE para obter detalhes.