mcpField
A
animeport

animeport

Local
github.com/CloudCorpRecordsGames & Entertainment0Updated 1w ago

About animeport

animeport is a read-only AniList MCP server and CLI for querying anime, manga, people, and user lists. It covers a core subset of AniList data through the public GraphQL API.

Key features

  1. 01Search anime, manga, characters, staff, studios, and users
  2. 02Retrieve title, character, staff, and studio details
  3. 03View user profiles, statistics, and lists
  4. 04Check today's character and staff birthdays
  5. 05Get recommendations for a media entry

Use cases

  1. 01Find anime by title, genre, or season year
  2. 02Look up a character or staff member by name
  3. 03Review an AniList user's lists and profile
  4. 04Discover titles recommended for a series

MCP support

Exposes AniList read operations as MCP tools over stdio. Each tool sends a GraphQL query to AniList's public API.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"cloudcorprecords-animeport": {
"command": "npx",
"args": [
"-y",
"@reneturcios/animeport"
]
}
}
}
Run commandnpx -y @reneturcios/animeport

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npm@reneturcios/animeport0.1.0
ocighcr.io/cloudcorprecords/animeport:0.1.0

Tools

20

Saved tool list · updated 1w ago

This tool takes no parameters.

Details

From the project README

animeport

animeport answers questions about anime and manga using AniList: what a series is about and how it scored, who made it, which characters and staff share a birthday today, what a given user is watching or reading, and what fans of one title tend to recommend next. Every answer comes from AniList's public GraphQL API.

This package is a clean-room rebuild, and a labelled core subset: it covers 20 of the 42 tools documented for the original AniList MCP server. The omitted tools are listed under "Scope" below.

How it talks to the service

Each tool sends exactly one GraphQL query by POST to the AniList API and returns the response's data payload:

# Optional: raises rate limits / unlocks authenticated reads on AniList.
export ANILIST_TOKEN="your token"
# Optional override (default: https://graphql.anilist.co)
export ANILIST_API_URL="https://graphql.anilist.co"

The token is genuinely optional. With no token set, requests go out keyless, which AniList accepts for these read tools — nothing fails just because ANILIST_TOKEN is missing. When AniList answers with a GraphQL errors array, the call fails with the first error's message; an upstream HTTP error is reported with its status and a body excerpt.

Field-selection note: the original project's README documents the tools and their purposes, not the GraphQL field selections. The queries here are fresh, sensible reconstructions chosen for each tool's stated purpose, not copies of the original's queries.

Install

npx @reneturcios/animeport search_anime '{"search":"Frieren"}'

Or run the container image:

docker run -i ghcr.io/cloudcorprecords/animeport

The container defaults to the MCP server. Pass CLI arguments to use it as a CLI instead.

CLI

The CLI mirrors the tools: one subcommand per tool, taking its arguments as a single JSON object.

animeport get_genres '{}'
animeport search_anime '{"search":"Frieren","perPage":5}'
animeport get_anime '{"id":154587}'
animeport get_todays_birthday_characters '{}'
animeport get_user_anime_list '{"username":"someone","status":"CURRENT"}'
animeport get_recommendations_for_media '{"mediaId":154587}'
animeport --version

Exit codes: 0 on success, 1 on an API or validation error (the error names the problem), 2 for usage errors.

MCP server

One bin serves both faces. The mcp subcommand starts a stdio MCP server:

npx -y @reneturcios/animeport mcp

MCP client configuration:

{
  "mcpServers": {
    "animeport": {
      "command": "npx",
      "args": ["-y", "@reneturcios/animeport", "mcp"],
      "env": { "ANILIST_TOKEN": "your token (optional)" }
    }
  }
}
Tools
ToolInputWhat it does
get_genres—Get the list of available genres on AniList.
get_media_tags—Get the list of available media tags on AniList.
get_studioid and/or name (at least one, validated locally)Get details of a studio by AniList ID or name.
search_animesearch, page, perPage, genre, seasonYear (all optional)Search for anime by title, genre, or season year.
search_mangasearch, page, perPage, genre, seasonYear (all optional)Search for manga by title, genre, or season year.
search_charactersearch (required), page, perPageSearch for characters by name.
search_staffsearch (required), page, perPageSearch for staff by name.
search_studiosearch (required), page, perPageSearch for studios by name.
search_usersearch (required), page, perPageSearch for AniList users by username.
get_animeid (required)Get detailed information about an anime by AniList ID.
get_mangaid (required)Get detailed information about a manga by AniList ID.
get_characterid (required)Get detailed information about a character by AniList ID.
get_staffid (required)Get detailed information about a staff member by AniList ID.
get_todays_birthday_characters—Get characters whose birthday is today.
get_todays_birthday_staff—Get staff members whose birthday is today.
get_user_anime_listusername (required), statusGet a user's anime list, optionally filtered by status.
get_user_manga_listusername (required), statusGet a user's manga list, optionally filtered by status.
get_user_profileusername (required)Get a user's AniList profile.
get_user_statsusername (required)Get a user's activity statistics.
get_recommendations_for_mediamediaId (required), page, perPageGet recommendations for a media entry by its AniList ID.

Scope

Omitted from this core subset: get_site_statistics, get_activity, get_user_activity, post_message_activity, post_text_activity, delete_activity, add_list_entry, remove_list_entry, update_list_entry, favourite_anime, favourite_manga, favourite_character, favourite_staff, favourite_studio, get_recommendation, get_thread, get_thread_comments, delete_thread, get_full_user_info, get_authorized_user, follow_user, and update_user. The omitted set is deliberately the login, write, favourite, and thread surface; animeport is read-only by design. The catalogue data itself is AniList's; this package reproduces the tool surface and the request/response handling, not AniList's database.

Development

npm install
npm run build   # tsc -> dist/
npm test        # node test runner over test/*.test.ts, fake fetch only, no network
npm run dev     # run the CLI from source via tsx

License

MIT — see LICENSE.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.