AniList
Servidor MCP de AniList para acceder a datos de la API de AniList
Documentación
Servidor MCP de AniList
Un servidor de Protocolo de Contexto de Modelo (MCP) que interactúa con la API de AniList, permitiendo que los clientes de LLM accedan e interactúen con datos de anime, manga, personajes, personal y usuarios de AniList.
Características
- Buscar anime, manga, personajes, personal y estudios
- Obtener información detallada sobre anime, manga, personajes y miembros del personal específicos
- Acceder a perfiles de usuario y listas
- Soporte para opciones de filtrado avanzadas
- Recuperar géneros y etiquetas de medios
- Soporte de transporte dual: Transportes HTTP y STDIO
- Listo para implementación en la nube: Soporte para Smithery y otras plataformas
Requisitos
- Node.js 18+
Instalación Local (Transporte STDIO)
- Agrega este servidor a tu
mcp.json/claude_desktop_config.json:
{
"mcpServers": {
"anilist": {
"command": "npx",
"args": ["-y", "anilist-mcp"],
"env": {
"ANILIST_TOKEN": "your_api_token"
}
}
}
}
Puedes eliminar el objeto env por completo, si no planeas usar el Token de AniList para operaciones que requieran inicio de sesión.
- Reinicia tu cliente MCP (por ejemplo, Claude Desktop)
- Usa las herramientas para interactuar con AniList
Implementación del Servidor (Transporte HTTP)
Autoalojamiento
Sigue las instrucciones de Desarrollo Local para configurar el proyecto localmente, luego ejecuta:
pnpm run start:http
Esto iniciará el servidor en el puerto 8081 por defecto. Puedes cambiar el puerto configurando la variable de entorno PORT.
Implementación en la Nube
Puedes implementar este servidor MCP en cualquier plataforma en la nube que soporte aplicaciones de servidor Node.js.
También puedes implementarlo a través de plataformas MCP como Smithery.
Configuración
Variables de Entorno (Transporte STDIO y servidor de transporte HTTP donde el host proporciona la configuración)
Cuando se usa el transporte STDIO o se aloja el servidor de transporte HTTP, puedes pasar la configuración a través de variables de entorno:
ANILIST_TOKEN: (Opcional) Token de API de AniList (Solo se necesita para operaciones que requieran inicio de sesión)
[!PRECAUCIÓN] Si estás alojando el servidor de transporte HTTP con token preconfigurado, debes proteger tu endpoint e implementar autenticación antes de permitir que los usuarios accedan a él. De lo contrario, cualquiera puede acceder a tu servidor MCP mientras usa tu token de AniList.
Encabezados HTTP (Transporte HTTP donde el usuario proporciona la configuración)
Cuando se usa el transporte HTTP, el usuario puede pasar la configuración a través de encabezados HTTP:
Anilist-Token: (Opcional) Token de API de AniList (Solo se necesita para operaciones que requieran inicio de sesión)
Si el usuario proporciona el token en el encabezado, mientras el servidor también tiene ANILIST_TOKEN configurado, el valor del encabezado tendrá prioridad.
Obtener un Token de API de AniList (Opcional)
Para obtener un token de API, sigue estos pasos:
- Ve a Configuración de AniList.
- Haz clic en "Crear Nuevo Cliente".
- Usa esta URL como "URL de Redirección" de tu cliente:
https://anilist.co/api/v2/oauth/pin
- Haz clic en "Guardar"
- Luego ve a https://anilist.co/api/v2/oauth/authorize?client_id={clientID}&response_type=token, reemplaza el
{clientID}con el ID de cliente que obtengas. Te pedirá que inicies sesión y luego te proporcionará el token para usar. - Copia el token generado y úsalo en tu archivo
.envo variables de entorno.
Herramientas Disponibles
Herramientas Varias
- get_genres: Obtener todos los géneros disponibles en AniList
- get_media_tags: Obtener todas las etiquetas de medios disponibles en AniList
- get_site_statistics: Obtener estadísticas del sitio de AniList de los últimos siete días
- get_studio: Obtener información sobre un estudio por su ID o nombre en AniList
- favourite_studio: [Requiere Inicio de Sesión] Marcar o desmarcar un estudio como favorito por su ID
Herramientas de Actividad
- delete_activity: [Requiere Inicio de Sesión] Eliminar la publicación de actividad del usuario autorizado actual
- get_activity: Obtener una actividad específica de AniList por su ID
- get_user_activity: Obtener actividades de un usuario
- post_message_activity: [Requiere Inicio de Sesión] Publicar una nueva actividad de mensaje o actualizar una existente
- post_text_activity: [Requiere Inicio de Sesión] Publicar una nueva actividad de texto o actualizar una existente
Herramientas de Lista
- get_user_anime_list: Obtener la lista de anime de un usuario
- get_user_manga_list: Obtener la lista de manga de un usuario
- add_list_entry: [Requiere Inicio de Sesión] Agregar una entrada a la lista del usuario autorizado
- remove_list_entry: [Requiere Inicio de Sesión] Eliminar una entrada de la lista del usuario autorizado
- update_list_entry: [Requiere Inicio de Sesión] Actualizar una entrada en la lista del usuario autorizado
Herramientas de Medios
- get_anime: Obtener información detallada sobre un anime por su ID en AniList
- get_manga: Obtener información detallada sobre un manga por su ID en AniList
- favourite_anime: [Requiere Inicio de Sesión] Marcar o desmarcar un anime como favorito por su ID
- favourite_manga: [Requiere Inicio de Sesión] Marcar o desmarcar un manga como favorito por su ID
Herramientas de Personas
- get_character: Obtener información sobre un personaje por su ID en AniList
- get_staff: Obtener información sobre un miembro del personal por su ID en AniList
- favourite_character: [Requiere Inicio de Sesión] Marcar o desmarcar un personaje como favorito por su ID
- favourite_staff: [Requiere Inicio de Sesión] Marcar o desmarcar un miembro del personal como favorito por su ID
- get_todays_birthday_characters: Obtener todos los personajes cuyo cumpleaños es hoy
- get_todays_birthday_staff: Obtener todos los miembros del personal cuyo cumpleaños es hoy
Herramientas de Recomendación
- get_recommendation: Obtener una recomendación de AniList por su ID
- get_recommendations_for_media: Obtener recomendaciones de AniList para un medio específico
Herramientas de Búsqueda
- search_activity: Buscar actividades en AniList
- search_anime: Buscar anime con término de consulta y filtros
- search_manga: Buscar manga con término de consulta y filtros
- search_character: Buscar personajes basados en un término de consulta
- search_staff: Buscar miembros del personal basados en un término de consulta
- search_studio: Buscar estudios basados en un término de consulta
- search_user: Buscar usuarios en AniList
Herramientas de Hilos
- get_thread: Obtener un hilo específico por su ID en AniList
- get_thread_comments: Obtener comentarios para un hilo específico
- delete_thread: [Requiere Inicio de Sesión] Eliminar un hilo por su ID
Herramientas de Usuario
- get_user_profile: Obtener el perfil de AniList de un usuario
- get_user_stats: Obtener las estadísticas de AniList de un usuario
- get_full_user_info: Obtener el perfil completo y la información de estadísticas de un usuario
- get_user_recent_activity: Obtener actividad reciente de un usuario
- get_authorized_user: [Requiere Inicio de Sesión] Obtener información del perfil del usuario autorizado actualmente
- follow_user: [Requiere Inicio de Sesión] Seguir o dejar de seguir a un usuario por su ID
- update_user: [Requiere Inicio de Sesión] Actualizar la configuración del usuario
Ejemplo de Uso
Búsqueda Básica de Anime
Can you search for anime similar to "Bocchi the Rock!"?
Obtener Información de Personaje
Can you tell me about the character Hitori Gotou? Use the AniList tools to find information.
Comparar Obras de Estudio
What anime has Studio Ghibli produced? Can you list their most popular works?
Desarrollo Local
Este proyecto usa pnpm como su gestor de paquetes.
Clona el repositorio e instala las dependencias:
git clone https://github.com/yuna0x0/anilist-mcp.git
cd anilist-mcp
pnpm install
Configuración (Opcional)
- Crea un archivo
.envcopiando el ejemplo:
cp env.example .env
- Edita el archivo
.envy agrega tu token de API de AniList:
ANILIST_TOKEN=your_api_token
Depuración con MCP Inspector
Puedes usar MCP Inspector para probar y depurar el servidor MCP de AniList:
npx @modelcontextprotocol/inspector -e ANILIST_TOKEN=your_api_token npx anilist-mcp
# Use this instead when Local Development
pnpm run inspector
Luego abre tu navegador en la URL proporcionada (generalmente http://localhost:6274) para acceder a la interfaz de MCP Inspector. Desde allí, puedes:
- Conectarte a tu servidor MCP de AniList en ejecución
- Explorar las herramientas disponibles
- Ejecutar herramientas con parámetros personalizados
- Ver las respuestas
Esto es particularmente útil para probar tu configuración antes de conectarla a clientes MCP como Claude Desktop.
Docker
Extraer del Registro de Contenedores de GitHub:
docker pull ghcr.io/yuna0x0/anilist-mcp
Compilación de Docker (Desarrollo Local):
docker build -t ghcr.io/yuna0x0/anilist-mcp .
Compilación de Docker multi-plataforma (Desarrollo Local):
docker buildx build --platform linux/amd64,linux/arm64 -t ghcr.io/yuna0x0/anilist-mcp .
Paquetes MCP (MCPB)
Para crear un Paquete MCP para este servidor, ejecuta:
pnpm run pack:mcpb
Aviso de Seguridad
Este servidor MCP acepta tu token de API de AniList en el archivo .env, variable de entorno o encabezado HTTP. Mantén esta información segura y nunca la confirmes en el control de versiones.
Licencia
Este proyecto está licenciado bajo la Licencia MIT - consulta el archivo LICENCIA para más detalles.