Scryfall · Capability

Scryfall Rulings

Scryfall Rulings capability — retrieve official Wizards of the Coast and Scryfall notes for a Magic card by any supported identifier. 5 operations. Lead operation: Get Rulings by Card ID.

Run with Naftiko ScryfallRulingsMagic The Gathering

MCP Tools

get-rulings-by-card-id

Fetch Oracle rulings for a card by Scryfall ID.

read-only idempotent
get-rulings-by-set-and-number

Fetch Oracle rulings for a card by set code and collector number.

read-only idempotent
get-rulings-by-multiverse-id

Fetch Oracle rulings for a card by Gatherer multiverse ID.

read-only idempotent

Capability Spec

scryfall-rulings.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Scryfall Rulings
  description: 'Scryfall Rulings capability — retrieve official Wizards of the Coast and Scryfall notes for a Magic card by any supported identifier. 5 operations. Lead operation: Get Rulings by Card ID.'
  tags:
    - Scryfall
    - Rulings
    - Magic The Gathering
  created: '2026-05-29'
  modified: '2026-05-29'
binds:
  - namespace: env
    keys:
      SCRYFALL_USER_AGENT: SCRYFALL_USER_AGENT
capability:
  consumes:
    - type: http
      namespace: scryfall-rulings
      baseUri: https://api.scryfall.com
      description: Scryfall Rulings business capability.
      resources:
        - name: cards-id-rulings
          path: /cards/{id}/rulings
          operations:
            - name: getrulingsbycardid
              method: GET
              description: Get Rulings by Card ID
              outputRawFormat: json
              outputParameters:
                - { name: result, type: object, value: $. }
        - name: cards-multiverse-id-rulings
          path: /cards/multiverse/{id}/rulings
          operations:
            - name: getrulingsbymultiverseid
              method: GET
              description: Get Rulings by Multiverse ID
              outputRawFormat: json
              outputParameters:
                - { name: result, type: object, value: $. }
        - name: cards-mtgo-id-rulings
          path: /cards/mtgo/{id}/rulings
          operations:
            - name: getrulingsbymtgoid
              method: GET
              description: Get Rulings by MTGO ID
              outputRawFormat: json
              outputParameters:
                - { name: result, type: object, value: $. }
        - name: cards-arena-id-rulings
          path: /cards/arena/{id}/rulings
          operations:
            - name: getrulingsbyarenaid
              method: GET
              description: Get Rulings by Arena ID
              outputRawFormat: json
              outputParameters:
                - { name: result, type: object, value: $. }
        - name: cards-code-number-rulings
          path: /cards/{code}/{number}/rulings
          operations:
            - name: getrulingsbysetandnumber
              method: GET
              description: Get Rulings by Set Code and Number
              outputRawFormat: json
              outputParameters:
                - { name: result, type: object, value: $. }
      authentication:
        type: header
        key: User-Agent
        value: '{{env.SCRYFALL_USER_AGENT}}'
        placement: header
  exposes:
    - type: mcp
      namespace: scryfall-rulings-mcp
      port: 9090
      transport: http
      description: MCP adapter for Scryfall Rulings.
      tools:
        - name: get-rulings-by-card-id
          description: Fetch Oracle rulings for a card by Scryfall ID.
          hints: { readOnly: true, destructive: false, idempotent: true }
          call: scryfall-rulings.getrulingsbycardid
          outputParameters:
            - { type: object, mapping: $. }
        - name: get-rulings-by-set-and-number
          description: Fetch Oracle rulings for a card by set code and collector number.
          hints: { readOnly: true, destructive: false, idempotent: true }
          call: scryfall-rulings.getrulingsbysetandnumber
          outputParameters:
            - { type: object, mapping: $. }
        - name: get-rulings-by-multiverse-id
          description: Fetch Oracle rulings for a card by Gatherer multiverse ID.
          hints: { readOnly: true, destructive: false, idempotent: true }
          call: scryfall-rulings.getrulingsbymultiverseid
          outputParameters:
            - { type: object, mapping: $. }