PokéAPI · Capability

Pokémon Research

Cross-resource Pokémon research workflow. Combines PokéAPI's Pokémon, species, ability, move, type, and evolution-chain endpoints into a single capability that lets an agent or app answer composite questions such as "give me the full sheet for Pikachu" — base stats, abilities (with effect text), types and type effectiveness, learned moves, and the species' evolution chain — in one workflow.

Run with Naftiko PokéAPIPokémonResearchWorkflow

MCP Tools

pokemon-research-get-pokemon

Get the full Pokémon sheet (stats, abilities, moves, types, sprites) for a Pokémon by id or name.

read-only idempotent
pokemon-research-get-species

Get the species record (Pokédex entries, flavor text, evolution lineage, capture rate) for a Pokémon by id or name.

read-only idempotent
pokemon-research-get-ability

Get the effect text and Pokémon list for an ability by id or name.

read-only idempotent
pokemon-research-get-move

Get the metadata for a move (power, accuracy, PP, damage class, target, effect) by id or name.

read-only idempotent
pokemon-research-get-type

Get the type record (damage relations, Pokémon list, moves) for a type by id or name.

read-only idempotent
pokemon-research-get-evolution-chain

Get the full evolution chain (link tree) by id.

read-only idempotent
pokemon-research-get-encounters

Get the list of location-area encounters for a Pokémon by id or name.

read-only idempotent

Capability Spec

pokemon-research.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Pokémon Research
  description: >-
    Cross-resource Pokémon research workflow. Combines PokéAPI's Pokémon, species, ability, move, type, and evolution-chain endpoints into a single capability that lets an agent or app answer composite
    questions such as "give me the full sheet for Pikachu" — base stats, abilities (with effect text), types and type effectiveness, learned moves, and the species' evolution chain — in one workflow.
  tags:
    - PokéAPI
    - Pokémon
    - Research
    - Workflow
  created: '2026-05-30'
  modified: '2026-05-30'
capability:
  consumes:
    - type: http
      namespace: pokemon-research
      baseUri: https://pokeapi.co/api/v2
      description: Composite Pokémon research workflow over PokéAPI v2.
      resources:
        - name: pokemon
          path: /pokemon/{id}
          operations:
            - name: getpokemon
              method: GET
              description: PokéAPI Get Pokémon
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: id
                  in: path
                  type: string
                  required: true
        - name: pokemon-species
          path: /pokemon-species/{id}
          operations:
            - name: getpokemonspecies
              method: GET
              description: PokéAPI Get Pokémon Species
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: id
                  in: path
                  type: string
                  required: true
        - name: ability
          path: /ability/{id}
          operations:
            - name: getability
              method: GET
              description: PokéAPI Get Ability
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: id
                  in: path
                  type: string
                  required: true
        - name: move
          path: /move/{id}
          operations:
            - name: getmove
              method: GET
              description: PokéAPI Get Move
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: id
                  in: path
                  type: string
                  required: true
        - name: type
          path: /type/{id}
          operations:
            - name: gettype
              method: GET
              description: PokéAPI Get Type
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: id
                  in: path
                  type: string
                  required: true
        - name: evolution-chain
          path: /evolution-chain/{id}
          operations:
            - name: getevolutionchain
              method: GET
              description: PokéAPI Get Evolution Chain
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: id
                  in: path
                  type: integer
                  required: true
        - name: pokemon-encounters
          path: /pokemon/{id}/encounters
          operations:
            - name: getpokemonencounters
              method: GET
              description: PokéAPI Get Pokémon Encounters
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: $.
              inputParameters:
                - name: id
                  in: path
                  type: string
                  required: true
      authentication:
        type: none
  exposes:
    - type: mcp
      namespace: pokemon-research-mcp
      port: 9090
      transport: http
      description: MCP adapter exposing each Pokémon Research action as a tool that an AI agent can call.
      tools:
        - name: pokemon-research-get-pokemon
          description: Get the full Pokémon sheet (stats, abilities, moves, types, sprites) for a Pokémon by id or name.
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: pokemon-research.getpokemon
          with:
            id: tools.id
          outputParameters:
            - type: object
              mapping: $.
        - name: pokemon-research-get-species
          description: Get the species record (Pokédex entries, flavor text, evolution lineage, capture rate) for a Pokémon by id or name.
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: pokemon-research.getpokemonspecies
          with:
            id: tools.id
          outputParameters:
            - type: object
              mapping: $.
        - name: pokemon-research-get-ability
          description: Get the effect text and Pokémon list for an ability by id or name.
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: pokemon-research.getability
          with:
            id: tools.id
          outputParameters:
            - type: object
              mapping: $.
        - name: pokemon-research-get-move
          description: Get the metadata for a move (power, accuracy, PP, damage class, target, effect) by id or name.
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: pokemon-research.getmove
          with:
            id: tools.id
          outputParameters:
            - type: object
              mapping: $.
        - name: pokemon-research-get-type
          description: Get the type record (damage relations, Pokémon list, moves) for a type by id or name.
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: pokemon-research.gettype
          with:
            id: tools.id
          outputParameters:
            - type: object
              mapping: $.
        - name: pokemon-research-get-evolution-chain
          description: Get the full evolution chain (link tree) by id.
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: pokemon-research.getevolutionchain
          with:
            id: tools.id
          outputParameters:
            - type: object
              mapping: $.
        - name: pokemon-research-get-encounters
          description: Get the list of location-area encounters for a Pokémon by id or name.
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: pokemon-research.getpokemonencounters
          with:
            id: tools.id
          outputParameters:
            - type: object
              mapping: $.