naftiko: 1.0.0-alpha2 info: label: Lichess API — External engine description: 'Lichess API — External engine. 8 operations. Lead operation: List external engines. Self-contained Naftiko capability covering one Lichess business surface.' tags: - Lichess - External engine created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: LICHESS_API_TOKEN: LICHESS_API_TOKEN capability: consumes: - type: http namespace: external-engine baseUri: https://lichess.org description: Lichess External engine business capability. Self-contained, no shared references. resources: - name: external-engine path: /api/external-engine operations: - name: apiexternalenginelist method: GET description: 'List external engines' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: apiexternalenginecreate method: POST description: 'Create external engine' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object required: false - name: external-engine-id path: /api/external-engine/{id} operations: - name: apiexternalengineget method: GET description: 'Get external engine' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: apiexternalengineput method: PUT description: 'Update external engine' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object required: false - name: apiexternalenginedelete method: DELETE description: 'Delete external engine' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: external-engine-id-analyse path: /api/external-engine/{id}/analyse operations: - name: apiexternalengineanalyse method: POST description: 'Analyse with external engine' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object required: false - name: external-engine-work path: /api/external-engine/work operations: - name: apiexternalengineacquire method: POST description: 'Acquire analysis request' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object required: false - name: external-engine-work-id path: /api/external-engine/work/{id} operations: - name: apiexternalenginesubmit method: POST description: 'Answer analysis request' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object required: false authentication: type: bearer value: '{{env.LICHESS_API_TOKEN}}' placement: header exposes: - type: rest namespace: external-engine-rest port: 8080 description: REST adapter for Lichess External engine. One Spectral-compliant resource per consumed operation. resources: - path: /v1/api/external-engine name: external-engine description: REST surface for external-engine. operations: - method: GET name: apiexternalenginelist description: 'List external engines' call: external-engine.apiexternalenginelist with: outputParameters: - type: object mapping: $. - method: POST name: apiexternalenginecreate description: 'Create external engine' call: external-engine.apiexternalenginecreate with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/external-engine/{id} name: external-engine-id description: REST surface for external-engine-id. operations: - method: GET name: apiexternalengineget description: 'Get external engine' call: external-engine.apiexternalengineget with: outputParameters: - type: object mapping: $. - method: PUT name: apiexternalengineput description: 'Update external engine' call: external-engine.apiexternalengineput with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: apiexternalenginedelete description: 'Delete external engine' call: external-engine.apiexternalenginedelete with: outputParameters: - type: object mapping: $. - path: /v1/api/external-engine/{id}/analyse name: external-engine-id-analyse description: REST surface for external-engine-id-analyse. operations: - method: POST name: apiexternalengineanalyse description: 'Analyse with external engine' call: external-engine.apiexternalengineanalyse with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/external-engine/work name: external-engine-work description: REST surface for external-engine-work. operations: - method: POST name: apiexternalengineacquire description: 'Acquire analysis request' call: external-engine.apiexternalengineacquire with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/external-engine/work/{id} name: external-engine-work-id description: REST surface for external-engine-work-id. operations: - method: POST name: apiexternalenginesubmit description: 'Answer analysis request' call: external-engine.apiexternalenginesubmit with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: external-engine-mcp port: 9090 transport: http description: MCP adapter for Lichess External engine. One tool per consumed operation. tools: - name: lichess-apiexternalenginelist description: 'List external engines' hints: readOnly: true destructive: false idempotent: false call: external-engine.apiexternalenginelist with: outputParameters: - type: object mapping: $. - name: lichess-apiexternalenginecreate description: 'Create external engine' hints: readOnly: false destructive: false idempotent: false call: external-engine.apiexternalenginecreate with: body: tools.body outputParameters: - type: object mapping: $. - name: lichess-apiexternalengineget description: 'Get external engine' hints: readOnly: true destructive: false idempotent: false call: external-engine.apiexternalengineget with: outputParameters: - type: object mapping: $. - name: lichess-apiexternalengineput description: 'Update external engine' hints: readOnly: false destructive: false idempotent: false call: external-engine.apiexternalengineput with: body: tools.body outputParameters: - type: object mapping: $. - name: lichess-apiexternalenginedelete description: 'Delete external engine' hints: readOnly: false destructive: true idempotent: false call: external-engine.apiexternalenginedelete with: outputParameters: - type: object mapping: $. - name: lichess-apiexternalengineanalyse description: 'Analyse with external engine' hints: readOnly: false destructive: false idempotent: false call: external-engine.apiexternalengineanalyse with: body: tools.body outputParameters: - type: object mapping: $. - name: lichess-apiexternalengineacquire description: 'Acquire analysis request' hints: readOnly: false destructive: false idempotent: false call: external-engine.apiexternalengineacquire with: body: tools.body outputParameters: - type: object mapping: $. - name: lichess-apiexternalenginesubmit description: 'Answer analysis request' hints: readOnly: false destructive: false idempotent: false call: external-engine.apiexternalenginesubmit with: body: tools.body outputParameters: - type: object mapping: $.