naftiko: 1.0.0-alpha2 info: label: Salesforce Einstein Discovery API — Lenses description: 'Salesforce Einstein Discovery API — Lenses. 2 operations. Lead operation: Salesforce Einstein List lenses. Self-contained Naftiko capability covering one Salesforce Einstein business surface.' tags: - Salesforce Einstein - Lenses created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: SALESFORCE_EINSTEIN_API_KEY: SALESFORCE_EINSTEIN_API_KEY capability: consumes: - type: http namespace: discovery-lenses baseUri: https://{instance}.salesforce.com/services/data/v58.0 description: Salesforce Einstein Discovery API — Lenses business capability. Self-contained, no shared references. resources: - name: wave-lenses path: /wave/lenses operations: - name: listlenses method: GET description: Salesforce Einstein List lenses outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: q in: query type: string - name: pageSize in: query type: integer - name: wave-lenses-lensId path: /wave/lenses/{lensId} operations: - name: getlens method: GET description: Salesforce Einstein Get a lens outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: lensId in: path type: string required: true authentication: type: bearer token: '{{env.SALESFORCE_EINSTEIN_API_KEY}}' exposes: - type: rest namespace: discovery-lenses-rest port: 8080 description: REST adapter for Salesforce Einstein Discovery API — Lenses. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/wave/lenses name: wave-lenses description: REST surface for wave-lenses. operations: - method: GET name: listlenses description: Salesforce Einstein List lenses call: discovery-lenses.listlenses with: q: rest.q pageSize: rest.pageSize outputParameters: - type: object mapping: $. - path: /v1/wave/lenses/{lensid} name: wave-lenses-lensid description: REST surface for wave-lenses-lensId. operations: - method: GET name: getlens description: Salesforce Einstein Get a lens call: discovery-lenses.getlens with: lensId: rest.lensId outputParameters: - type: object mapping: $. - type: mcp namespace: discovery-lenses-mcp port: 9090 transport: http description: MCP adapter for Salesforce Einstein Discovery API — Lenses. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: salesforce-einstein-list-lenses description: Salesforce Einstein List lenses hints: readOnly: true destructive: false idempotent: true call: discovery-lenses.listlenses with: q: tools.q pageSize: tools.pageSize outputParameters: - type: object mapping: $. - name: salesforce-einstein-get-lens description: Salesforce Einstein Get a lens hints: readOnly: true destructive: false idempotent: true call: discovery-lenses.getlens with: lensId: tools.lensId outputParameters: - type: object mapping: $.