naftiko: 1.0.0-alpha2 info: label: Looker API — Dashboard description: 'Looker API — Dashboard. 8 operations. Lead operation: Looker List All Dashboards. Self-contained Naftiko capability covering one Looker business surface.' tags: - Looker - Dashboard created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: LOOKER_API_KEY: LOOKER_API_KEY capability: consumes: - type: http namespace: looker-dashboard baseUri: https://{instance}.looker.com/api/4.0 description: Looker API — Dashboard business capability. Self-contained, no shared references. resources: - name: dashboards path: /dashboards operations: - name: alldashboards method: GET description: Looker List All Dashboards outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createdashboard method: POST description: Looker Create a Dashboard outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: dashboards-search path: /dashboards/search operations: - name: searchdashboards method: GET description: Looker Search Dashboards outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: title in: query type: string description: Filter by dashboard title - name: description in: query type: string description: Filter by dashboard description - name: space_id in: query type: string description: Filter by space (folder) ID - name: user_id in: query type: string description: Filter by creator user ID - name: sorts in: query type: string description: Sort fields - name: dashboards-dashboard_id path: /dashboards/{dashboard_id} operations: - name: dashboard method: GET description: Looker Get a Dashboard outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatedashboard method: PATCH description: Looker Update a Dashboard outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deletedashboard method: DELETE description: Looker Delete a Dashboard outputRawFormat: json outputParameters: - name: result type: object value: $. - name: dashboards-dashboard_id-dashboard_elements path: /dashboards/{dashboard_id}/dashboard_elements operations: - name: dashboarddashboardelements method: GET description: Looker List Dashboard Elements outputRawFormat: json outputParameters: - name: result type: object value: $. - name: dashboards-dashboard_id-dashboard_filters path: /dashboards/{dashboard_id}/dashboard_filters operations: - name: dashboarddashboardfilters method: GET description: Looker List Dashboard Filters outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.LOOKER_API_KEY}}' exposes: - type: rest namespace: looker-dashboard-rest port: 8080 description: REST adapter for Looker API — Dashboard. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/dashboards name: dashboards description: REST surface for dashboards. operations: - method: GET name: alldashboards description: Looker List All Dashboards call: looker-dashboard.alldashboards outputParameters: - type: object mapping: $. - method: POST name: createdashboard description: Looker Create a Dashboard call: looker-dashboard.createdashboard with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/dashboards/search name: dashboards-search description: REST surface for dashboards-search. operations: - method: GET name: searchdashboards description: Looker Search Dashboards call: looker-dashboard.searchdashboards with: title: rest.title description: rest.description space_id: rest.space_id user_id: rest.user_id sorts: rest.sorts outputParameters: - type: object mapping: $. - path: /v1/dashboards/{dashboard-id} name: dashboards-dashboard-id description: REST surface for dashboards-dashboard_id. operations: - method: GET name: dashboard description: Looker Get a Dashboard call: looker-dashboard.dashboard outputParameters: - type: object mapping: $. - method: PATCH name: updatedashboard description: Looker Update a Dashboard call: looker-dashboard.updatedashboard with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletedashboard description: Looker Delete a Dashboard call: looker-dashboard.deletedashboard outputParameters: - type: object mapping: $. - path: /v1/dashboards/{dashboard-id}/dashboard-elements name: dashboards-dashboard-id-dashboard-elements description: REST surface for dashboards-dashboard_id-dashboard_elements. operations: - method: GET name: dashboarddashboardelements description: Looker List Dashboard Elements call: looker-dashboard.dashboarddashboardelements outputParameters: - type: object mapping: $. - path: /v1/dashboards/{dashboard-id}/dashboard-filters name: dashboards-dashboard-id-dashboard-filters description: REST surface for dashboards-dashboard_id-dashboard_filters. operations: - method: GET name: dashboarddashboardfilters description: Looker List Dashboard Filters call: looker-dashboard.dashboarddashboardfilters outputParameters: - type: object mapping: $. - type: mcp namespace: looker-dashboard-mcp port: 9090 transport: http description: MCP adapter for Looker API — Dashboard. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: looker-list-all-dashboards description: Looker List All Dashboards hints: readOnly: true destructive: false idempotent: true call: looker-dashboard.alldashboards outputParameters: - type: object mapping: $. - name: looker-create-dashboard description: Looker Create a Dashboard hints: readOnly: false destructive: false idempotent: false call: looker-dashboard.createdashboard with: body: tools.body outputParameters: - type: object mapping: $. - name: looker-search-dashboards description: Looker Search Dashboards hints: readOnly: true destructive: false idempotent: true call: looker-dashboard.searchdashboards with: title: tools.title description: tools.description space_id: tools.space_id user_id: tools.user_id sorts: tools.sorts outputParameters: - type: object mapping: $. - name: looker-get-dashboard description: Looker Get a Dashboard hints: readOnly: true destructive: false idempotent: true call: looker-dashboard.dashboard outputParameters: - type: object mapping: $. - name: looker-update-dashboard description: Looker Update a Dashboard hints: readOnly: false destructive: false idempotent: true call: looker-dashboard.updatedashboard with: body: tools.body outputParameters: - type: object mapping: $. - name: looker-delete-dashboard description: Looker Delete a Dashboard hints: readOnly: false destructive: true idempotent: true call: looker-dashboard.deletedashboard outputParameters: - type: object mapping: $. - name: looker-list-dashboard-elements description: Looker List Dashboard Elements hints: readOnly: true destructive: false idempotent: true call: looker-dashboard.dashboarddashboardelements outputParameters: - type: object mapping: $. - name: looker-list-dashboard-filters description: Looker List Dashboard Filters hints: readOnly: true destructive: false idempotent: true call: looker-dashboard.dashboarddashboardfilters outputParameters: - type: object mapping: $.