AniList

Servidor MCP AniList para acessar dados da API do AniList

Documentação

Servidor MCP AniList

Um servidor Model Context Protocol (MCP) que faz interface com a API AniList, permitindo que clientes LLM acessem e interajam com dados de anime, mangá, personagens, equipe e usuários do AniList.

Recursos

  • Pesquise por anime, mangá, personagens, equipe e estúdios
  • Obtenha informações detalhadas sobre anime, mangá, personagens e membros da equipe específicos
  • Acesse perfis de usuário e listas
  • Suporte para opções avançadas de filtragem
  • Recupere gêneros e tags de mídia
  • Suporte a transporte duplo: Transportes HTTP e STDIO
  • Pronto para implantação em nuvem: Suporte a Smithery e outras plataformas

Requisitos

  • Node.js 18+

Instalação Local (Transporte STDIO)

  1. Adicione este servidor ao seu mcp.json / claude_desktop_config.json:
{
  "mcpServers": {
    "anilist": {
      "command": "npx",
      "args": ["-y", "anilist-mcp"],
      "env": {
        "ANILIST_TOKEN": "your_api_token"
      }
    }
  }
}

Você pode remover o objeto env completamente, se não planeja usar o Token AniList para operações que exigem login.

  1. Reinicie seu cliente MCP (ex.: Claude Desktop)
  2. Use as ferramentas para interagir com o AniList

Implantação do Servidor (Transporte HTTP)

Auto-hospedagem

Siga as instruções de Desenvolvimento Local para configurar o projeto localmente e depois execute:

pnpm run start:http

Isso iniciará o servidor na porta 8081 por padrão. Você pode alterar a porta definindo a variável de ambiente PORT.

Implantação em Nuvem

Você pode implantar este servidor MCP em qualquer plataforma de nuvem que suporte aplicativos de servidor Node.js.

Você também pode implantar via plataformas MCP como Smithery.

Configuração

Variáveis de Ambiente (Transporte STDIO e servidor de transporte HTTP onde o host fornece a configuração)

Ao usar o transporte STDIO ou hospedar o servidor de transporte HTTP, você pode passar a configuração via variáveis de ambiente:

  • ANILIST_TOKEN: (Opcional) Token da API AniList (Necessário apenas para operações que exigem login)

[!CAUTION] Se você estiver hospedando o servidor de transporte HTTP com token pré-configurado, deve proteger seu endpoint e implementar autenticação antes de permitir que usuários acessem. Caso contrário, qualquer pessoa pode acessar seu servidor MCP usando seu token AniList.

Cabeçalhos HTTP (Transporte HTTP onde o usuário fornece a configuração)

Ao usar o transporte HTTP, o usuário pode passar a configuração via cabeçalhos HTTP:

  • Anilist-Token: (Opcional) Token da API AniList (Necessário apenas para operações que exigem login)

Se o usuário fornecer o token no cabeçalho, enquanto o servidor também tiver ANILIST_TOKEN definido, o valor do cabeçalho terá precedência.

Obter um Token da API AniList (Opcional)

Para obter um token de API, siga estes passos:

  1. Vá para Configurações do AniList.
  2. Clique em "Create New Client".
  3. Use esta URL como "Redirect URL" do seu cliente:
https://anilist.co/api/v2/oauth/pin
  1. Clique em "Save"
  2. Depois vá para https://anilist.co/api/v2/oauth/authorize?client_id={clientID}&response_type=token, substitua o {clientID} pelo ID do cliente que você obteve. Ele pedirá que você faça login e depois fornecerá o token para uso.
  3. Copie o token gerado e use-o no seu arquivo .env ou nas variáveis de ambiente.

Ferramentas Disponíveis

Ferramentas Diversas

  • get_genres: Obter todos os gêneros disponíveis no AniList
  • get_media_tags: Obter todas as tags de mídia disponíveis no AniList
  • get_site_statistics: Obter estatísticas do site AniList nos últimos sete dias
  • get_studio: Obter informações sobre um estúdio pelo seu ID ou nome no AniList
  • favourite_studio: [Requer Login] Favoritar ou desfavoritar um estúdio pelo seu ID

Ferramentas de Atividade

  • delete_activity: [Requer Login] Excluir a postagem de atividade do usuário autorizado atual
  • get_activity: Obter uma atividade específica do AniList pelo seu ID
  • get_user_activity: Buscar atividades de um usuário
  • post_message_activity: [Requer Login] Publicar uma nova atividade de mensagem ou atualizar uma existente
  • post_text_activity: [Requer Login] Publicar uma nova atividade de texto ou atualizar uma existente

Ferramentas de Lista

  • get_user_anime_list: Obter a lista de anime de um usuário
  • get_user_manga_list: Obter a lista de mangá de um usuário
  • add_list_entry: [Requer Login] Adicionar uma entrada à lista do usuário autorizado
  • remove_list_entry: [Requer Login] Remover uma entrada da lista do usuário autorizado
  • update_list_entry: [Requer Login] Atualizar uma entrada na lista do usuário autorizado

Ferramentas de Mídia

  • get_anime: Obter informações detalhadas sobre um anime pelo seu ID no AniList
  • get_manga: Obter informações detalhadas sobre um mangá pelo seu ID no AniList
  • favourite_anime: [Requer Login] Favoritar ou desfavoritar um anime pelo seu ID
  • favourite_manga: [Requer Login] Favoritar ou desfavoritar um mangá pelo seu ID

Ferramentas de Pessoas

  • get_character: Obter informações sobre um personagem pelo seu ID no AniList
  • get_staff: Obter informações sobre um membro da equipe pelo seu ID no AniList
  • favourite_character: [Requer Login] Favoritar ou desfavoritar um personagem pelo seu ID
  • favourite_staff: [Requer Login] Favoritar ou desfavoritar um membro da equipe pelo seu ID
  • get_todays_birthday_characters: Obter todos os personagens cujo aniversário é hoje
  • get_todays_birthday_staff: Obter todos os membros da equipe cujo aniversário é hoje

Ferramentas de Recomendação

  • get_recommendation: Obter uma recomendação do AniList pelo seu ID
  • get_recommendations_for_media: Obter recomendações do AniList para uma mídia específica

Ferramentas de Pesquisa

  • search_activity: Pesquisar atividades no AniList
  • search_anime: Pesquisar anime com termo de consulta e filtros
  • search_manga: Pesquisar mangá com termo de consulta e filtros
  • search_character: Pesquisar personagens com base em um termo de consulta
  • search_staff: Pesquisar membros da equipe com base em um termo de consulta
  • search_studio: Pesquisar estúdios com base em um termo de consulta
  • search_user: Pesquisar usuários no AniList

Ferramentas de Tópicos

  • get_thread: Obter um tópico específico pelo seu ID no AniList
  • get_thread_comments: Obter comentários para um tópico específico
  • delete_thread: [Requer Login] Excluir um tópico pelo seu ID

Ferramentas de Usuário

  • get_user_profile: Obter o perfil do usuário no AniList
  • get_user_stats: Obter as estatísticas do usuário no AniList
  • get_full_user_info: Obter o perfil completo e informações de estatísticas de um usuário
  • get_user_recent_activity: Obter atividade recente de um usuário
  • get_authorized_user: [Requer Login] Obter informações de perfil do usuário atualmente autorizado
  • follow_user: [Requer Login] Seguir ou deixar de seguir um usuário pelo seu ID
  • update_user: [Requer Login] Atualizar configurações do usuário

Exemplo de Uso

Pesquisa Básica de Anime

Can you search for anime similar to "Bocchi the Rock!"?

Obter Informações de Personagem

Can you tell me about the character Hitori Gotou? Use the AniList tools to find information.

Comparar Trabalhos de Estúdio

What anime has Studio Ghibli produced? Can you list their most popular works?

Desenvolvimento Local

Este projeto usa pnpm como gerenciador de pacotes.

Clone o repositório e instale as dependências:

git clone https://github.com/yuna0x0/anilist-mcp.git
cd anilist-mcp
pnpm install

Configuração (Opcional)

  1. Crie um arquivo .env copiando o exemplo:
cp env.example .env
  1. Edite o arquivo .env e adicione seu token da API AniList:
ANILIST_TOKEN=your_api_token

Depuração com MCP Inspector

Você pode usar o MCP Inspector para testar e depurar o servidor MCP AniList:

npx @modelcontextprotocol/inspector -e ANILIST_TOKEN=your_api_token npx anilist-mcp

# Use this instead when Local Development
pnpm run inspector

Depois abra seu navegador na URL fornecida (geralmente http://localhost:6274) para acessar a interface do MCP Inspector. A partir daí, você pode:

  1. Conectar-se ao seu servidor MCP AniList em execução
  2. Navegar pelas ferramentas disponíveis
  3. Executar ferramentas com parâmetros personalizados
  4. Visualizar as respostas

Isso é particularmente útil para testar sua configuração antes de conectá-la a clientes MCP como o Claude Desktop.

Docker

Baixe do GitHub Container Registry:

docker pull ghcr.io/yuna0x0/anilist-mcp

Build Docker (Desenvolvimento Local):

docker build -t ghcr.io/yuna0x0/anilist-mcp .

Build Docker multi-plataforma (Desenvolvimento Local):

docker buildx build --platform linux/amd64,linux/arm64 -t ghcr.io/yuna0x0/anilist-mcp .

Pacotes MCP (MCPB)

Para criar um Pacote MCP para este servidor, execute:

pnpm run pack:mcpb

Aviso de Segurança

Este servidor MCP aceita seu token da API AniList no arquivo .env, variável de ambiente ou cabeçalho HTTP. Mantenha essas informações seguras e nunca as envie para controle de versão.

Licença

Este projeto é licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.