GovInfo · Capability

GovInfo API — Packages

GovInfo API — Packages. 3 operations. Lead operation: Get a list of granules associated with a package. Self-contained Naftiko capability covering one Govinfo business surface.

Run with Naftiko GovinfoPackages

What You Can Do

GET
Getgranulesforpackage — Get a list of granules associated with a package
/v1/packages/{packageid}/granules
GET
Getgranulecontentdetail — Return json summary for specified granule
/v1/packages/{packageid}/granules/{granuleid}/summary
GET
Packagedetails — Return json summary for specified package
/v1/packages/{packageid}/summary

MCP Tools

get-list-granules-associated-package

Get a list of granules associated with a package

read-only idempotent
return-json-summary-specified-granule

Return json summary for specified granule

read-only idempotent
return-json-summary-specified-package

Return json summary for specified package

read-only idempotent

Capability Spec

openapi-packages.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: GovInfo API — Packages
  description: 'GovInfo API — Packages. 3 operations. Lead operation: Get a list of granules associated with a package. Self-contained
    Naftiko capability covering one Govinfo business surface.'
  tags:
  - Govinfo
  - Packages
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    GOVINFO_API_KEY: GOVINFO_API_KEY
capability:
  consumes:
  - type: http
    namespace: openapi-packages
    baseUri: https://api.govinfo.gov
    description: GovInfo API — Packages business capability. Self-contained, no shared references.
    resources:
    - name: packages-packageId-granules
      path: /packages/{packageId}/granules
      operations:
      - name: getgranulesforpackage
        method: GET
        description: Get a list of granules associated with a package
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: packageId
          in: path
          type: string
          description: 'The Package Id. Ex: CREC-2018-01-04'
          required: true
        - name: offsetMark
          in: query
          type: string
          description: Indicates starting record for a given request. Use in conjunction with pageSize to paginate through
            the results. For the first request, use * - for subsequent r
        - name: offset
          in: query
          type: integer
          description: This is the starting record you wish to retrieve-- 0 is the first record. This parameter is being deprecated
            and will be removed in the future. Please begin tra
        - name: pageSize
          in: query
          type: integer
          description: The number of records to return for a given request. Max value is 1000
          required: true
        - name: md5
          in: query
          type: string
          description: md5 hash value of the html content file - can be used to identify changes in individual granules for
            the HOB and CRI collections.
        - name: granuleClass
          in: query
          type: string
          description: 'Filter the results by overarching collection-specific categories. The values vary from collection
            to collection. For example, For example, granuleClass in CREC '
    - name: packages-packageId-granules-granuleId-summary
      path: /packages/{packageId}/granules/{granuleId}/summary
      operations:
      - name: getgranulecontentdetail
        method: GET
        description: Return json summary for specified granule
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: packageId
          in: path
          type: string
          description: 'The Package Id. Ex: CREC-2018-01-04'
          required: true
        - name: granuleId
          in: path
          type: string
          description: The granule ID, e.g. CREC-2018-01-04-pt1-PgD7-2
          required: true
    - name: packages-packageId-summary
      path: /packages/{packageId}/summary
      operations:
      - name: packagedetails
        method: GET
        description: Return json summary for specified package
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: packageId
          in: path
          type: string
          description: 'The Package Id. Ex: CREC-2018-01-04'
          required: true
    authentication:
      type: apikey
      key: api_key
      value: '{{env.GOVINFO_API_KEY}}'
      placement: query
  exposes:
  - type: rest
    namespace: openapi-packages-rest
    port: 8080
    description: REST adapter for GovInfo API — Packages. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/packages/{packageid}/granules
      name: packages-packageid-granules
      description: REST surface for packages-packageId-granules.
      operations:
      - method: GET
        name: getgranulesforpackage
        description: Get a list of granules associated with a package
        call: openapi-packages.getgranulesforpackage
        with:
          packageId: rest.packageId
          offsetMark: rest.offsetMark
          offset: rest.offset
          pageSize: rest.pageSize
          md5: rest.md5
          granuleClass: rest.granuleClass
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/packages/{packageid}/granules/{granuleid}/summary
      name: packages-packageid-granules-granuleid-summary
      description: REST surface for packages-packageId-granules-granuleId-summary.
      operations:
      - method: GET
        name: getgranulecontentdetail
        description: Return json summary for specified granule
        call: openapi-packages.getgranulecontentdetail
        with:
          packageId: rest.packageId
          granuleId: rest.granuleId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/packages/{packageid}/summary
      name: packages-packageid-summary
      description: REST surface for packages-packageId-summary.
      operations:
      - method: GET
        name: packagedetails
        description: Return json summary for specified package
        call: openapi-packages.packagedetails
        with:
          packageId: rest.packageId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: openapi-packages-mcp
    port: 9090
    transport: http
    description: MCP adapter for GovInfo API — Packages. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: get-list-granules-associated-package
      description: Get a list of granules associated with a package
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openapi-packages.getgranulesforpackage
      with:
        packageId: tools.packageId
        offsetMark: tools.offsetMark
        offset: tools.offset
        pageSize: tools.pageSize
        md5: tools.md5
        granuleClass: tools.granuleClass
      outputParameters:
      - type: object
        mapping: $.
    - name: return-json-summary-specified-granule
      description: Return json summary for specified granule
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openapi-packages.getgranulecontentdetail
      with:
        packageId: tools.packageId
        granuleId: tools.granuleId
      outputParameters:
      - type: object
        mapping: $.
    - name: return-json-summary-specified-package
      description: Return json summary for specified package
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: openapi-packages.packagedetails
      with:
        packageId: tools.packageId
      outputParameters:
      - type: object
        mapping: $.