MCP Bilibili Img Uploader

Sube imágenes locales al servicio de alojamiento de imágenes de Bilibili y devuelve un enlace HTTPS permanente.

Documentación

MCP Bilibili Img Uploader

Python Version License

Introducción

MCP Bilibili Img Uploader es un proyecto de servidor basado en MCP (Model Context Protocol) que permite a los modelos de lenguaje grandes (LLM) invocar herramientas para subir imágenes locales al alojamiento de imágenes de Bilibili y devolver enlaces HTTPS permanentes de las imágenes. El proyecto proporciona una interfaz estandarizada para facilitar la integración con modelos de lenguaje grandes, y utiliza cookies para la autenticación, garantizando la seguridad de las operaciones de subida.

Características

  • Soporte para el alojamiento de imágenes de Bilibili: Sube imágenes locales directamente al alojamiento de imágenes de Bilibili.
  • Generación de enlaces directos: Genera automáticamente enlaces HTTPS permanentes de las imágenes tras una subida exitosa.
  • Interfaz estandarizada: Basada en el protocolo MCP, para facilitar la invocación por modelos de lenguaje grandes.
  • Autenticación mediante cookies: Utiliza SESSDATA y bili_jct de Bilibili para la autenticación.

Agradecimientos

La lógica central del código para la interacción con la API de Bilibili en este proyecto se basa en bilibili-img-uploader.

Requisitos del sistema

  • Python 3.8 o superior.
  • pip para instalar paquetes de Python.
  • Una cuenta válida de Bilibili.
  • Una aplicación cliente MCP, como Claude for Desktop.

Inicio rápido

1. Obtener el código

Guarda el código del servidor como bilibili_uploader.py.

2. Instalar dependencias

Abre una terminal y ejecuta el siguiente comando para instalar los paquetes necesarios:

pip install "mcp[cli]" httpx

3. Obtener las cookies de Bilibili

  1. Inicia sesión en www.bilibili.com en tu navegador.
  2. Pulsa F12 (o Cmd + Option + I en Mac) para abrir las herramientas de desarrollador.
  3. Busca la pestaña Application (Chrome/Edge) o Storage (Firefox).
  4. En el menú de la izquierda, bajo Cookies, selecciona https://www.bilibili.com.
  5. Busca y copia el Value (valor) de los siguientes dos elementos:
    • SESSDATA
    • bili_jct

4. Ejecutar el servidor

Abre una terminal en el directorio donde se encuentra el archivo bilibili_uploader.py e inicia el servidor:

python bilibili_uploader.py

Una vez iniciado, el servidor esperará la conexión de clientes.

5. Conectar a un cliente MCP (usando Claude for Desktop como ejemplo)

  1. Localiza y abre el archivo de configuración claude_desktop_config.json:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Añade la siguiente configuración de servidor al archivo, asegurándote de reemplazar la ruta con la ruta absoluta de tu script bilibili_uploader.py:
{
    "mcpServers": {
        "bilibili-uploader": {
            "command": "python",
            "args": [
                "/path/to/your/project/bilibili_uploader.py"
            ]
        }
    }
}
  1. Cierra y reinicia Claude for Desktop por completo para que la configuración surta efecto.

6. Usar en la conversación

  • Paso 1: Configurar las cookies (solo una vez por sesión) En el cliente, conversa con el LLM e introduce algo como lo siguiente:
请设置我的 Bilibili Cookies。我的 SESSDATA 是 `your_sessdata_value_here`,bili_jct 是 `your_bili_jct_value_here`。
  • Paso 2: Subir una imagen Introduce algo como lo siguiente:
请把 `/Users/me/Desktop/photo.png` 这张图片上传到 Bilibili。

El LLM invocará la herramienta para completar la subida y devolverá el enlace HTTPS permanente de la imagen.

Estructura del código

  • bilibili_uploader.py: Archivo de código principal que implementa la inicialización del servidor MCP y las dos funciones de herramienta set_bilibili_cookies y upload_image.
  • README.md: Documento de descripción del proyecto que incluye introducción, características, requisitos del sistema, pasos de inicio rápido, etc.
  • LICENSE: Archivo de licencia de código abierto del proyecto.

Licencia

Este proyecto está bajo la licencia MIT. Para más detalles, consulta el archivo LICENSE.