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: $.