MCP Bilibili Img Uploader

Faz upload de imagens locais para o serviço de hospedagem de imagens do Bilibili e retorna um link HTTPS permanente.

Documentação

MCP Bilibili Img Uploader

Python Version License

Introdução

O MCP Bilibili Img Uploader é um projeto de servidor baseado em MCP (Model Context Protocol) que permite que modelos de linguagem de grande porte (LLM) chamem ferramentas para enviar imagens locais para a hospedagem de imagens do Bilibili e retornar links HTTPS permanentes das imagens. O projeto fornece uma interface padronizada, facilitando a integração com modelos de linguagem, ao mesmo tempo que utiliza autenticação via Cookie para garantir a segurança das operações de upload.

Recursos

  • Suporte à hospedagem de imagens do Bilibili: Envia imagens locais diretamente para a hospedagem de imagens do Bilibili.
  • Geração de link direto: Gera automaticamente um link HTTPS permanente para a imagem após o upload bem-sucedido.
  • Interface padronizada: Baseada no protocolo MCP, facilitando chamadas por modelos de linguagem.
  • Autenticação via Cookie: Utiliza SESSDATA e bili_jct do Bilibili para autenticação.

Agradecimentos

A lógica central do código para interação com a API do Bilibili neste projeto é referenciada em bilibili-img-uploader.

Requisitos do sistema

  • Python 3.8 ou superior.
  • pip para instalar pacotes Python.
  • Uma conta válida do Bilibili.
  • Um aplicativo cliente MCP, como o Claude for Desktop.

Início rápido

1. Obter o código

Salve o código do servidor como bilibili_uploader.py.

2. Instalar dependências

Abra o terminal e execute o seguinte comando para instalar os pacotes necessários:

pip install "mcp[cli]" httpx

3. Obter os Cookies do Bilibili

  1. Faça login em www.bilibili.com no navegador.
  2. Pressione F12 (ou Cmd + Option + I no Mac) para abrir as ferramentas do desenvolvedor.
  3. Encontre a aba Application (Chrome/Edge) ou Storage (Firefox).
  4. No menu à esquerda, em Cookies, selecione https://www.bilibili.com.
  5. Encontre e copie o Valor dos seguintes itens:
    • SESSDATA
    • bili_jct

4. Executar o servidor

No diretório onde está o arquivo bilibili_uploader.py, abra o terminal e inicie o servidor:

python bilibili_uploader.py

Após a inicialização, o servidor aguardará a conexão do cliente.

5. Conectar-se ao cliente MCP (exemplo com o Claude for Desktop)

  1. Encontre e abra o arquivo de configuração claude_desktop_config.json:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Adicione a seguinte configuração de servidor ao arquivo, certificando-se de substituir o caminho pelo caminho absoluto do seu script bilibili_uploader.py:
{
    "mcpServers": {
        "bilibili-uploader": {
            "command": "python",
            "args": [
                "/path/to/your/project/bilibili_uploader.py"
            ]
        }
    }
}
  1. Feche e reinicie completamente o Claude for Desktop para que a configuração tenha efeito.

6. Usar na conversa

  • Primeiro passo: definir os Cookies (necessário apenas uma vez por sessão) Na conversa com o LLM no cliente, digite algo como:
请设置我的 Bilibili Cookies。我的 SESSDATA 是 `your_sessdata_value_here`,bili_jct 是 `your_bili_jct_value_here`。
  • Segundo passo: enviar a imagem Digite algo como:
请把 `/Users/me/Desktop/photo.png` 这张图片上传到 Bilibili。

O LLM chamará a ferramenta para realizar o upload e retornará o link HTTPS permanente da imagem.

Estrutura do código

  • bilibili_uploader.py: Arquivo de código principal que implementa a inicialização do servidor MCP e as duas funções de ferramenta set_bilibili_cookies e upload_image.
  • README.md: Documento de descrição do projeto, contendo introdução, recursos, requisitos do sistema, etapas de início rápido e outras informações.
  • LICENSE: Arquivo de licença de código aberto usado pelo projeto.

Licença

Este projeto está licenciado sob a licença MIT. Para mais detalhes, consulte o arquivo LICENSE.