Figma · Capability

Figma REST API — Components

Figma REST API — Components. 5 operations. Lead operation: Figma Get Component. Self-contained Naftiko capability covering one Figma business surface.

Run with Naftiko FigmaComponents

What You Can Do

GET
Getcomponent — Figma Get Component
/v1/v1/components/{key}
GET
Getfilecomponents — Figma Get File Components
/v1/v1/files/{file-key}/components
GET
Getteamcomponentsets — Figma Get Team Component Sets
/v1/v1/teams/{team-id}/component-sets
GET
Getteamcomponents — Figma Get Team Components
/v1/v1/teams/{team-id}/components
GET
Getteamstyles — Figma Get Team Styles
/v1/v1/teams/{team-id}/styles

MCP Tools

figma-get-component

Figma Get Component

read-only idempotent
figma-get-file-components

Figma Get File Components

read-only idempotent
figma-get-team-component-sets

Figma Get Team Component Sets

read-only idempotent
figma-get-team-components

Figma Get Team Components

read-only idempotent
figma-get-team-styles

Figma Get Team Styles

read-only idempotent

Capability Spec

rest-components.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Figma REST API — Components
  description: 'Figma REST API — Components. 5 operations. Lead operation: Figma Get Component. Self-contained Naftiko capability
    covering one Figma business surface.'
  tags:
  - Figma
  - Components
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    FIGMA_API_KEY: FIGMA_API_KEY
capability:
  consumes:
  - type: http
    namespace: rest-components
    baseUri: https://api.figma.com
    description: Figma REST API — Components business capability. Self-contained, no shared references.
    resources:
    - name: v1-components-key
      path: /v1/components/{key}
      operations:
      - name: getcomponent
        method: GET
        description: Figma Get Component
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: key
          in: path
          type: string
          description: The unique identifier of the component.
          required: true
    - name: v1-files-file_key-components
      path: /v1/files/{file_key}/components
      operations:
      - name: getfilecomponents
        method: GET
        description: Figma Get File Components
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: v1-teams-team_id-component_sets
      path: /v1/teams/{team_id}/component_sets
      operations:
      - name: getteamcomponentsets
        method: GET
        description: Figma Get Team Component Sets
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: page_size
          in: query
          type: integer
          description: Number of items per page.
        - name: after
          in: query
          type: number
          description: Cursor for pagination.
        - name: before
          in: query
          type: number
          description: Cursor for reverse pagination.
    - name: v1-teams-team_id-components
      path: /v1/teams/{team_id}/components
      operations:
      - name: getteamcomponents
        method: GET
        description: Figma Get Team Components
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: page_size
          in: query
          type: integer
          description: Number of items per page. Defaults to 30.
        - name: after
          in: query
          type: number
          description: Cursor for paginated results. Use the cursor value from pagination in a previous response.
        - name: before
          in: query
          type: number
          description: Cursor for paginated results in reverse.
    - name: v1-teams-team_id-styles
      path: /v1/teams/{team_id}/styles
      operations:
      - name: getteamstyles
        method: GET
        description: Figma Get Team Styles
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: page_size
          in: query
          type: integer
          description: Number of items per page.
        - name: after
          in: query
          type: number
          description: Cursor for pagination.
        - name: before
          in: query
          type: number
          description: Cursor for reverse pagination.
    authentication:
      type: bearer
      token: '{{env.FIGMA_API_KEY}}'
  exposes:
  - type: rest
    namespace: rest-components-rest
    port: 8080
    description: REST adapter for Figma REST API — Components. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/v1/components/{key}
      name: v1-components-key
      description: REST surface for v1-components-key.
      operations:
      - method: GET
        name: getcomponent
        description: Figma Get Component
        call: rest-components.getcomponent
        with:
          key: rest.key
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/files/{file-key}/components
      name: v1-files-file-key-components
      description: REST surface for v1-files-file_key-components.
      operations:
      - method: GET
        name: getfilecomponents
        description: Figma Get File Components
        call: rest-components.getfilecomponents
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/teams/{team-id}/component-sets
      name: v1-teams-team-id-component-sets
      description: REST surface for v1-teams-team_id-component_sets.
      operations:
      - method: GET
        name: getteamcomponentsets
        description: Figma Get Team Component Sets
        call: rest-components.getteamcomponentsets
        with:
          page_size: rest.page_size
          after: rest.after
          before: rest.before
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/teams/{team-id}/components
      name: v1-teams-team-id-components
      description: REST surface for v1-teams-team_id-components.
      operations:
      - method: GET
        name: getteamcomponents
        description: Figma Get Team Components
        call: rest-components.getteamcomponents
        with:
          page_size: rest.page_size
          after: rest.after
          before: rest.before
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v1/teams/{team-id}/styles
      name: v1-teams-team-id-styles
      description: REST surface for v1-teams-team_id-styles.
      operations:
      - method: GET
        name: getteamstyles
        description: Figma Get Team Styles
        call: rest-components.getteamstyles
        with:
          page_size: rest.page_size
          after: rest.after
          before: rest.before
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: rest-components-mcp
    port: 9090
    transport: http
    description: MCP adapter for Figma REST API — Components. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: figma-get-component
      description: Figma Get Component
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-components.getcomponent
      with:
        key: tools.key
      outputParameters:
      - type: object
        mapping: $.
    - name: figma-get-file-components
      description: Figma Get File Components
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-components.getfilecomponents
      outputParameters:
      - type: object
        mapping: $.
    - name: figma-get-team-component-sets
      description: Figma Get Team Component Sets
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-components.getteamcomponentsets
      with:
        page_size: tools.page_size
        after: tools.after
        before: tools.before
      outputParameters:
      - type: object
        mapping: $.
    - name: figma-get-team-components
      description: Figma Get Team Components
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-components.getteamcomponents
      with:
        page_size: tools.page_size
        after: tools.after
        before: tools.before
      outputParameters:
      - type: object
        mapping: $.
    - name: figma-get-team-styles
      description: Figma Get Team Styles
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: rest-components.getteamstyles
      with:
        page_size: tools.page_size
        after: tools.after
        before: tools.before
      outputParameters:
      - type: object
        mapping: $.