US Department of Defense · Capability

USACE Corps Water Management System Data API — Catalog

USACE Corps Water Management System Data API — Catalog. 6 operations. Lead operation: Get Counties. Self-contained Naftiko capability covering one Us Department Of Defense business surface.

Run with Naftiko Us Department Of DefenseCatalog

What You Can Do

GET
Getcounties — Get Counties
/v1/counties
GET
Getlocationcatalog — Get Location Catalog
/v1/locations/catalog
GET
Getparameters — Get Parameters
/v1/parameters
GET
Getstates — Get States
/v1/states
GET
Gettimeseriescatalog — Get Time Series Catalog
/v1/timeseries/catalog
GET
Getunits — Get Units
/v1/units

MCP Tools

get-counties

Get Counties

read-only idempotent
get-location-catalog

Get Location Catalog

read-only idempotent
get-parameters

Get Parameters

read-only idempotent
get-states

Get States

read-only idempotent
get-time-series-catalog

Get Time Series Catalog

read-only idempotent
get-units

Get Units

read-only idempotent

Capability Spec

usace-cwms-data-catalog.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: USACE Corps Water Management System Data API — Catalog
  description: 'USACE Corps Water Management System Data API — Catalog. 6 operations. Lead operation: Get Counties. Self-contained
    Naftiko capability covering one Us Department Of Defense business surface.'
  tags:
  - Us Department Of Defense
  - Catalog
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    US_DEPARTMENT_OF_DEFENSE_API_KEY: US_DEPARTMENT_OF_DEFENSE_API_KEY
capability:
  consumes:
  - type: http
    namespace: usace-cwms-data-catalog
    baseUri: https://cwms-data.usace.army.mil/cwms-data/api/latest
    description: USACE Corps Water Management System Data API — Catalog business capability. Self-contained, no shared references.
    resources:
    - name: counties
      path: /counties
      operations:
      - name: getcounties
        method: GET
        description: Get Counties
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: locations-catalog
      path: /locations/catalog
      operations:
      - name: getlocationcatalog
        method: GET
        description: Get Location Catalog
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: office
          in: query
          type: string
          description: Filter by USACE district office ID
        - name: cursor
          in: query
          type: string
          description: Pagination cursor
        - name: page-size
          in: query
          type: integer
          description: Number of entries per page
    - name: parameters
      path: /parameters
      operations:
      - name: getparameters
        method: GET
        description: Get Parameters
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: states
      path: /states
      operations:
      - name: getstates
        method: GET
        description: Get States
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: timeseries-catalog
      path: /timeseries/catalog
      operations:
      - name: gettimeseriescatalog
        method: GET
        description: Get Time Series Catalog
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: office
          in: query
          type: string
          description: Filter by USACE district office ID
        - name: timeseries-id-regex
          in: query
          type: string
          description: Regular expression pattern to filter time series IDs
        - name: cursor
          in: query
          type: string
          description: Pagination cursor from previous response
        - name: page-size
          in: query
          type: integer
          description: Number of entries per page
    - name: units
      path: /units
      operations:
      - name: getunits
        method: GET
        description: Get Units
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    namespace: usace-cwms-data-catalog-rest
    port: 8080
    description: REST adapter for USACE Corps Water Management System Data API — Catalog. One Spectral-compliant resource
      per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/counties
      name: counties
      description: REST surface for counties.
      operations:
      - method: GET
        name: getcounties
        description: Get Counties
        call: usace-cwms-data-catalog.getcounties
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/locations/catalog
      name: locations-catalog
      description: REST surface for locations-catalog.
      operations:
      - method: GET
        name: getlocationcatalog
        description: Get Location Catalog
        call: usace-cwms-data-catalog.getlocationcatalog
        with:
          office: rest.office
          cursor: rest.cursor
          page-size: rest.page-size
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/parameters
      name: parameters
      description: REST surface for parameters.
      operations:
      - method: GET
        name: getparameters
        description: Get Parameters
        call: usace-cwms-data-catalog.getparameters
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/states
      name: states
      description: REST surface for states.
      operations:
      - method: GET
        name: getstates
        description: Get States
        call: usace-cwms-data-catalog.getstates
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/timeseries/catalog
      name: timeseries-catalog
      description: REST surface for timeseries-catalog.
      operations:
      - method: GET
        name: gettimeseriescatalog
        description: Get Time Series Catalog
        call: usace-cwms-data-catalog.gettimeseriescatalog
        with:
          office: rest.office
          timeseries-id-regex: rest.timeseries-id-regex
          cursor: rest.cursor
          page-size: rest.page-size
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/units
      name: units
      description: REST surface for units.
      operations:
      - method: GET
        name: getunits
        description: Get Units
        call: usace-cwms-data-catalog.getunits
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: usace-cwms-data-catalog-mcp
    port: 9090
    transport: http
    description: MCP adapter for USACE Corps Water Management System Data API — Catalog. One tool per consumed operation,
      routed inline through this capability's consumes block.
    tools:
    - name: get-counties
      description: Get Counties
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: usace-cwms-data-catalog.getcounties
      outputParameters:
      - type: object
        mapping: $.
    - name: get-location-catalog
      description: Get Location Catalog
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: usace-cwms-data-catalog.getlocationcatalog
      with:
        office: tools.office
        cursor: tools.cursor
        page-size: tools.page-size
      outputParameters:
      - type: object
        mapping: $.
    - name: get-parameters
      description: Get Parameters
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: usace-cwms-data-catalog.getparameters
      outputParameters:
      - type: object
        mapping: $.
    - name: get-states
      description: Get States
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: usace-cwms-data-catalog.getstates
      outputParameters:
      - type: object
        mapping: $.
    - name: get-time-series-catalog
      description: Get Time Series Catalog
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: usace-cwms-data-catalog.gettimeseriescatalog
      with:
        office: tools.office
        timeseries-id-regex: tools.timeseries-id-regex
        cursor: tools.cursor
        page-size: tools.page-size
      outputParameters:
      - type: object
        mapping: $.
    - name: get-units
      description: Get Units
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: usace-cwms-data-catalog.getunits
      outputParameters:
      - type: object
        mapping: $.