naftiko: 1.0.0-alpha2 info: label: Thermo Fisher NanoDrop Ultra Web API — Measurements description: 'Thermo Fisher NanoDrop Ultra Web API — Measurements. 3 operations. Lead operation: Perform Measurement. Self-contained Naftiko capability covering one Thermo Fisher Scientific business surface.' tags: - Thermo Fisher Scientific - Measurements created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: THERMO_FISHER_SCIENTIFIC_API_KEY: THERMO_FISHER_SCIENTIFIC_API_KEY capability: consumes: - type: http namespace: thermo-fisher-nanodrop-measurements baseUri: http://{instrument-ip}:{port} description: Thermo Fisher NanoDrop Ultra Web API — Measurements business capability. Self-contained, no shared references. resources: - name: api-measure path: /api/measure operations: - name: performmeasurement method: POST description: Perform Measurement outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: api-measurements path: /api/measurements operations: - name: getmeasurements method: GET description: Get Measurements outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: from_date in: query type: string description: Filter measurements from this date. - name: to_date in: query type: string description: Filter measurements to this date. - name: method in: query type: string description: Filter by measurement method name. - name: sample_id in: query type: string description: Filter by sample identifier. - name: limit in: query type: integer description: Maximum number of records to return. - name: offset in: query type: integer description: Pagination offset. - name: api-measurements-measurementId path: /api/measurements/{measurementId} operations: - name: getmeasurementbyid method: GET description: Get Measurement By ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: measurementId in: path type: string description: The unique measurement identifier. required: true exposes: - type: rest namespace: thermo-fisher-nanodrop-measurements-rest port: 8080 description: REST adapter for Thermo Fisher NanoDrop Ultra Web API — Measurements. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/measure name: api-measure description: REST surface for api-measure. operations: - method: POST name: performmeasurement description: Perform Measurement call: thermo-fisher-nanodrop-measurements.performmeasurement with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/measurements name: api-measurements description: REST surface for api-measurements. operations: - method: GET name: getmeasurements description: Get Measurements call: thermo-fisher-nanodrop-measurements.getmeasurements with: from_date: rest.from_date to_date: rest.to_date method: rest.method sample_id: rest.sample_id limit: rest.limit offset: rest.offset outputParameters: - type: object mapping: $. - path: /v1/api/measurements/{measurementid} name: api-measurements-measurementid description: REST surface for api-measurements-measurementId. operations: - method: GET name: getmeasurementbyid description: Get Measurement By ID call: thermo-fisher-nanodrop-measurements.getmeasurementbyid with: measurementId: rest.measurementId outputParameters: - type: object mapping: $. - type: mcp namespace: thermo-fisher-nanodrop-measurements-mcp port: 9090 transport: http description: MCP adapter for Thermo Fisher NanoDrop Ultra Web API — Measurements. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: perform-measurement description: Perform Measurement hints: readOnly: false destructive: false idempotent: false call: thermo-fisher-nanodrop-measurements.performmeasurement with: body: tools.body outputParameters: - type: object mapping: $. - name: get-measurements description: Get Measurements hints: readOnly: true destructive: false idempotent: true call: thermo-fisher-nanodrop-measurements.getmeasurements with: from_date: tools.from_date to_date: tools.to_date method: tools.method sample_id: tools.sample_id limit: tools.limit offset: tools.offset outputParameters: - type: object mapping: $. - name: get-measurement-id description: Get Measurement By ID hints: readOnly: true destructive: false idempotent: true call: thermo-fisher-nanodrop-measurements.getmeasurementbyid with: measurementId: tools.measurementId outputParameters: - type: object mapping: $.