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)
- 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.
- Reinicie seu cliente MCP (ex.: Claude Desktop)
- 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:
- Vá para Configurações do AniList.
- Clique em "Create New Client".
- Use esta URL como "Redirect URL" do seu cliente:
https://anilist.co/api/v2/oauth/pin
- Clique em "Save"
- 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. - Copie o token gerado e use-o no seu arquivo
.envou 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)
- Crie um arquivo
.envcopiando o exemplo:
cp env.example .env
- Edite o arquivo
.enve 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:
- Conectar-se ao seu servidor MCP AniList em execução
- Navegar pelas ferramentas disponíveis
- Executar ferramentas com parâmetros personalizados
- 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.