naftiko: 1.0.0-alpha2 info: label: USGS Water Data APIs — Monitoring Locations description: 'USGS Water Data APIs — Monitoring Locations. 2 operations. Lead operation: USGS Water Data Get Monitoring Locations. Self-contained Naftiko capability covering one U S Geological Survey business surface.' tags: - U S Geological Survey - Monitoring Locations created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: U_S_GEOLOGICAL_SURVEY_API_KEY: U_S_GEOLOGICAL_SURVEY_API_KEY capability: consumes: - type: http namespace: usgs-water-data-monitoring-locations baseUri: https://api.waterdata.usgs.gov/ogcapi/v0 description: USGS Water Data APIs — Monitoring Locations business capability. Self-contained, no shared references. resources: - name: collections-monitoring-locations-items path: /collections/monitoring-locations/items operations: - name: getmonitoringlocations method: GET description: USGS Water Data Get Monitoring Locations outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: stateCd in: query type: string description: Two-letter U.S. state or territory FIPS code (e.g., CA, TX, NY). - name: huc in: query type: string description: Hydrologic Unit Code (2-12 digits) to filter by watershed. - name: siteType in: query type: string description: USGS site type code (ST for streams, GW for groundwater, LK for lakes, AT for atmosphere, WE for wetlands, etc.). - name: agencyCd in: query type: string description: Agency code (default USGS). - name: collections-monitoring-locations-items-featureId path: /collections/monitoring-locations/items/{featureId} operations: - name: getmonitoringlocation method: GET description: USGS Water Data Get Monitoring Location by ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: featureId in: path type: string description: Monitoring location identifier in format AGENCY-SITENUMBER (e.g., USGS-11169025). required: true authentication: type: apikey key: api_key value: '{{env.U_S_GEOLOGICAL_SURVEY_API_KEY}}' placement: query exposes: - type: rest namespace: usgs-water-data-monitoring-locations-rest port: 8080 description: REST adapter for USGS Water Data APIs — Monitoring Locations. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/collections/monitoring-locations/items name: collections-monitoring-locations-items description: REST surface for collections-monitoring-locations-items. operations: - method: GET name: getmonitoringlocations description: USGS Water Data Get Monitoring Locations call: usgs-water-data-monitoring-locations.getmonitoringlocations with: stateCd: rest.stateCd huc: rest.huc siteType: rest.siteType agencyCd: rest.agencyCd outputParameters: - type: object mapping: $. - path: /v1/collections/monitoring-locations/items/{featureid} name: collections-monitoring-locations-items-featureid description: REST surface for collections-monitoring-locations-items-featureId. operations: - method: GET name: getmonitoringlocation description: USGS Water Data Get Monitoring Location by ID call: usgs-water-data-monitoring-locations.getmonitoringlocation with: featureId: rest.featureId outputParameters: - type: object mapping: $. - type: mcp namespace: usgs-water-data-monitoring-locations-mcp port: 9090 transport: http description: MCP adapter for USGS Water Data APIs — Monitoring Locations. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: usgs-water-data-get-monitoring description: USGS Water Data Get Monitoring Locations hints: readOnly: true destructive: false idempotent: true call: usgs-water-data-monitoring-locations.getmonitoringlocations with: stateCd: tools.stateCd huc: tools.huc siteType: tools.siteType agencyCd: tools.agencyCd outputParameters: - type: object mapping: $. - name: usgs-water-data-get-monitoring-2 description: USGS Water Data Get Monitoring Location by ID hints: readOnly: true destructive: false idempotent: true call: usgs-water-data-monitoring-locations.getmonitoringlocation with: featureId: tools.featureId outputParameters: - type: object mapping: $.