mal-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LOG_LEVEL | No | Log level: debug, info, warn, error, silent | info |
| MAL_CLIENT_ID | No | Client ID for MyAnimeList API token refresh | |
| MAL_TOKEN_STORE | No | Override token cache path (default: OS config dir) | |
| MAL_ACCESS_TOKEN | No | Access token for MyAnimeList API (personal-list tools) | |
| MAL_CLIENT_SECRET | No | Client secret for MyAnimeList API token refresh | |
| MAL_REFRESH_TOKEN | No | Refresh token for MyAnimeList API |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_animeA | Search MyAnimeList anime by keyword; returns compact summaries (with the mal_id that other anime tools require) plus pagination info. |
| search_mangaA | Search MyAnimeList manga by keyword (also light novels, manhwa/manhua); returns compact summaries with the mal_id that other manga tools require. |
| get_animeA | Get full details for one anime by mal_id: synopsis, score, genres, studios, streaming links and related entries. Obtain the mal_id from search_anime first. |
| get_mangaA | Get full details for one manga by mal_id. Obtain the mal_id from search_manga first. |
| get_anime_charactersA | List the characters of an anime (by mal_id) with their roles and Japanese voice actors. Get the mal_id from search_anime. |
| get_manga_charactersA | List the characters of a manga (by mal_id) with their roles. Get the mal_id from search_manga. |
| get_anime_episodesA | List an anime's episodes (by mal_id) with titles, air dates and filler/recap flags. Paginated (~100 per page); use |
| get_anime_recommendationsA | Get community recommendations for anime similar to the given mal_id, ordered by votes. Get the mal_id from search_anime. |
| get_anime_reviewsA | Get user reviews for one anime (by mal_id), including score and review text. Get the mal_id from search_anime. (For a cross-title feed, use get_top_reviews.) |
| get_manga_recommendationsA | Get community recommendations for manga similar to the given mal_id, ordered by votes. Get the mal_id from search_manga. |
| get_manga_reviewsA | Get user reviews for one manga (by mal_id), including score and review text. Get the mal_id from search_manga. |
| get_top_animeA | Get ranked/top anime. Use |
| get_top_mangaA | Get ranked/top manga. Use |
| get_seasonal_animeA | List anime from a given season. Omit year and season to get the current season. |
| get_anime_scheduleA | Get the anime broadcast schedule, optionally for a single weekday. |
| get_user_profileA | Get a public MyAnimeList user's profile and watch/read statistics by username. |
| get_user_favoritesA | Get a public MyAnimeList user's favorite anime, manga, characters and people by username. |
| get_anime_genresA | List anime genres/themes/demographics with their Jikan IDs. Use this to discover the numeric IDs that the |
| get_manga_genresA | List manga genres/themes/demographics with their Jikan IDs. Use this to discover the numeric IDs that the |
| search_charactersA | Search MyAnimeList characters by name. Returns compact summaries and the mal_id needed by get_character. |
| get_characterA | Get full details for one character by mal_id: bio, the anime/manga they appear in, and their voice actors. Obtain the mal_id from search_characters or get_anime_characters. |
| search_peopleA | Search MyAnimeList people (voice actors, directors, authors) by name. Returns the mal_id needed by get_person. |
| get_personA | Get full details for one person by mal_id: bio, their anime/manga staff positions and voiced roles. Obtain the mal_id from search_people or a character's voice_actors. |
| get_anime_staffA | List the production staff of an anime (by mal_id) — director, composer, etc. — with their roles. Complements get_anime_characters (which covers voice actors). Get the mal_id from search_anime. |
| get_random_animeA | Return one random anime (full details). Good for discovery / suggestions. |
| get_random_mangaA | Return one random manga (full details). Good for discovery / suggestions. |
| get_upcoming_seasonA | List anime scheduled for the upcoming season. Use get_seasonal_anime for the current or a specific past season. |
| get_anime_statisticsA | Get watch-status counts (watching/completed/…) and the score distribution for an anime by mal_id. Get the mal_id from search_anime. |
| get_manga_statisticsA | Get read-status counts (reading/completed/…) and the score distribution for a manga by mal_id. Get the mal_id from search_manga. |
| get_producersA | List or search anime producers and studios with their Jikan IDs and counts. Use |
| get_top_peopleA | Get the most popular/favorited people (voice actors, staff, authors). |
| get_top_charactersB | Get the most popular/favorited characters. |
| get_seasons_listA | List the years and seasons that have anime data, so you can pick valid arguments for get_seasonal_anime. |
| get_random_characterA | Return one random character (full details). Good for discovery / trivia. |
| get_random_personA | Return one random person — voice actor, director, author (full details). |
| get_anime_newsA | List recent news articles about an anime (by mal_id): headline, date, author and excerpt. Useful for 'what's new / any announcements' questions. Get the mal_id from search_anime. |
| get_my_user_infoA | Get the authenticated user's MyAnimeList profile and anime statistics. |
| get_my_anime_listA | Get the authenticated user's own anime list, with each entry's status, score and progress. |
| get_my_manga_listA | Get the authenticated user's own manga list, with status, score and progress. |
| update_my_anime_statusA | Add or update an anime on the authenticated user's list (status, score, watched episodes, dates). Creates the entry if absent. Provide at least one field besides anime_id. |
| update_my_manga_statusA | Add or update a manga on the authenticated user's list (status, score, chapters/volumes read). Creates the entry if absent. Provide at least one field besides manga_id. |
| delete_my_anime_list_itemA | Remove an anime entry from the authenticated user's list. This cannot be undone. |
| delete_my_manga_list_itemA | Remove a manga entry from the authenticated user's list. This cannot be undone. |
| login_malA | Authorize the personal-list tools with your MyAnimeList account (one-time). Prerequisite: register a MAL API app of type 'other' at https://myanimelist.net/apiconfig with Redirect URI set to this server's localhost callback, and set MAL_CLIENT_ID in the server env. Calling this returns an authorization URL: open it, log in, and click Allow. If your browser is on the same machine as the server, login completes automatically; if it's remote (SSH/headless), copy the URL you land on and pass it to submit_mal_redirect. |
| submit_mal_redirectA | Complete a login started with login_mal by submitting the URL your browser was redirected to after clicking Allow (the one containing ?code=...). Use this when login didn't complete automatically — e.g. the server runs on a remote/headless host. A bare code string is also accepted. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| recommend_similar | Suggest anime similar to a given title, with reasons. |
| seasonal_overview | Summarize the notable anime of a given season (or the current one). |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Grinv/mal-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server