Skip to main content
Glama
Grinv

MAL MCP Server

Search people

search_people
Read-only

Find MyAnimeList people such as voice actors, directors, or authors by name and get the mal_id required for retrieving person details.

Instructions

Search MyAnimeList people (voice actors, directors, authors) by name. Returns the mal_id needed by get_person.

Input Schema

NameRequiredDescriptionDefault
qYesPerson name.
pageNo1-based page number for pagination (1-20000).
sortNoSort direction. Only takes effect together with `order_by`; ignored on its own.
limitNoMax results per page (1-100).
letterNoRestrict results to entries whose title starts with this single letter.
order_byNoField to order by.

Output Schema

NameRequiredDescriptionDefault
pageYes
resultsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changedv0.11.0
    • changedInput schema / properties / limit / description
      Previous value: -"Max results per page (1-50)."New value: +"Max results per page (1-100)."
    • changedInput schema / properties / limit / maximum
      Previous value: -50New value: +100
    • changedInput schema / properties / page / description
      Previous value: -"1-based page number for pagination (1-1000)."New value: +"1-based page number for pagination (1-20000)."
    • changedInput schema / properties / page / maximum
      Previous value: -1000New value: +20000
    • addedInput schema / properties / q / maxLength
      Added value: +300
    • changedInput schema / properties / sort / description
      Previous value: -"Sort direction."New value: +"Sort direction. Only takes effect together with `order_by`; ignored on its own."
  2. Changed3 schema fields changedv0.10.0
    • addedOutput schema / properties / results / items / properties / credits_truncated
      Added value: +{
      +  "const": true,
      +  "type": "boolean"
      +}
    • addedOutput schema / properties / results / items / properties / total_anime_credits
      Added value: +{
      +  "maximum": 9007199254740991,
      +  "minimum": 0,
      +  "type": "integer"
      +}
    • addedOutput schema / properties / results / items / properties / total_manga_credits
      Added value: +{
      +  "maximum": 9007199254740991,
      +  "minimum": 0,
      +  "type": "integer"
      +}
  3. Changed30 schema fields changedv0.9.0
    • addedInput schema / properties / letter
      Added value: +{
      +  "description": "Restrict results to entries whose title starts with this single letter.",
      +  "maxLength": 1,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • changedInput schema / properties / limit / description
      Previous value: -"Max results per page (1-25)."New value: +"Max results per page (1-50)."
    • changedInput schema / properties / limit / maximum
      Previous value: -25New value: +50
    • changedInput schema / properties / page / description
      Previous value: -"1-based page number for pagination."New value: +"1-based page number for pagination (1-1000)."
    • changedInput schema / properties / page / maximum
      Previous value: -9007199254740991New value: +1000
    • changedInput schema / properties / sort / enum
      Previous value: -[
      -  "desc",
      -  "asc"
      -]New value: +[
      +  "asc",
      +  "desc"
      +]
    • addedOutput schema / properties / page / properties / current_page / exclusiveMinimum
      Added value: +0
    • addedOutput schema / properties / page / properties / current_page / maximum
      Added value: +9007199254740991
    • changedOutput schema / properties / page / properties / current_page / type
      Previous value: -"number"New value: +"integer"
    • addedOutput schema / properties / page / properties / last_visible_page / exclusiveMinimum
      Added value: +0
    • addedOutput schema / properties / page / properties / last_visible_page / maximum
      Added value: +9007199254740991
    • changedOutput schema / properties / page / properties / last_visible_page / type
      Previous value: -"number"New value: +"integer"
    • addedOutput schema / properties / page / properties / total / maximum
      Added value: +9007199254740991
    • addedOutput schema / properties / page / properties / total / minimum
      Added value: +0
    • changedOutput schema / properties / page / properties / total / type
      Previous value: -"number"New value: +"integer"
    • addedOutput schema / properties / results / items / properties / anime / items / properties / mal_id / exclusiveMinimum
      Added value: +0
    • addedOutput schema / properties / results / items / properties / anime / items / properties / mal_id / maximum
      Added value: +9007199254740991
    • changedOutput schema / properties / results / items / properties / anime / items / properties / mal_id / type
      Previous value: -"number"New value: +"integer"
    • addedOutput schema / properties / results / items / properties / anime / items / required
      Added value: +[
      +  "mal_id"
      +]
    • addedOutput schema / properties / results / items / properties / favorites / maximum
      Added value: +9007199254740991
    • addedOutput schema / properties / results / items / properties / favorites / minimum
      Added value: +0
    • changedOutput schema / properties / results / items / properties / favorites / type
      Previous value: -"number"New value: +"integer"
    • addedOutput schema / properties / results / items / properties / mal_id / exclusiveMinimum
      Added value: +0
    • addedOutput schema / properties / results / items / properties / mal_id / maximum
      Added value: +9007199254740991
    • changedOutput schema / properties / results / items / properties / mal_id / type
      Previous value: -"number"New value: +"integer"
    • addedOutput schema / properties / results / items / properties / manga / items / properties / mal_id / exclusiveMinimum
      Added value: +0
    • addedOutput schema / properties / results / items / properties / manga / items / properties / mal_id / maximum
      Added value: +9007199254740991
    • changedOutput schema / properties / results / items / properties / manga / items / properties / mal_id / type
      Previous value: -"number"New value: +"integer"
    • addedOutput schema / properties / results / items / properties / manga / items / required
      Added value: +[
      +  "mal_id"
      +]
    • addedOutput schema / properties / results / items / required
      Added value: +[
      +  "mal_id"
      +]
  4. Addedv0.8.0
  5. Removedv0.7.1
  6. Addedv0.2.0

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, so safety and the external-data nature are covered. The description adds the useful note that results carry mal_id, but says nothing about result volume, pagination behavior, or empty-result cases. Adequate but thin given how little annotations leave unsaid.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, purpose first, chaining advice second; no filler or restated title text. Every clause carries information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and full in-schema parameter docs, the description needn't explain return values. It covers purpose and the get_person handoff; the main remaining gap is behavior on empty or ambiguous name matches, which is minor for a search tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and every parameter (q, page, sort, limit, letter, order_by) is documented in-schema, including enums and the sort/order_by dependency. The description adds no parameter meaning, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Search) and resource (MyAnimeList people/voice actors, directors, authors) with a name-based scope. This cleanly separates it from search_anime, search_manga, and search_characters even without opening a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The line "Returns the mal_id needed by get_person" gives an explicit downstream workflow, telling the agent this is the lookup step before a detail fetch. It lacks exclusions, though – nothing says when to prefer get_top_people or get_random_person instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.