National Park Service · Capability

National Park Service Data API

The NPS Data API provides official, authoritative data and content about United States national parks, monuments, and historic sites. The API delivers information about parks, alerts, news releases, events, places, visitor centers, campgrounds, articles, people, and more.

Run with Naftiko NationalParkServiceAPI

What You Can Do

GET
Get parks — Retrieve parks
/parks
GET
Get alerts — Retrieve alerts
/alerts
GET
Get newsreleases — Retrieve news releases
/newsreleases
GET
Get events — Retrieve events
/events
GET
Get places — Retrieve places
/places
GET
Get visitorcenters — Retrieve visitor centers
/visitorcenters
GET
Get campgrounds — Retrieve campgrounds
/campgrounds
GET
Get articles — Retrieve articles
/articles
GET
Get people — Retrieve historical people
/people
GET
Get activities — List activities available within parks
/activities
GET
Get topics — List topics covered by NPS
/topics

MCP Tools

get-parks

Retrieve parks

read-only idempotent
get-alerts

Retrieve alerts

read-only idempotent
get-newsreleases

Retrieve news releases

read-only idempotent
get-events

Retrieve events

read-only idempotent
get-places

Retrieve places

read-only idempotent
get-visitorcenters

Retrieve visitor centers

read-only idempotent
get-campgrounds

Retrieve campgrounds

read-only idempotent
get-articles

Retrieve articles

read-only idempotent
get-people

Retrieve historical people

read-only idempotent
get-activities

List activities available within parks

read-only idempotent
get-topics

List topics covered by NPS

read-only idempotent

Capability Spec

national-park-service-capability.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: National Park Service Data API
  description: The NPS Data API provides official, authoritative data and content about United States national parks, monuments,
    and historic sites. The API delivers information about parks, alerts, news releases, events, places, visitor centers,
    campgrounds, articles, people, and more.
  tags:
  - National
  - Park
  - Service
  - API
  created: '2026-05-06'
  modified: '2026-05-06'
capability:
  consumes:
  - type: http
    namespace: national-park-service
    baseUri: https://developer.nps.gov/api/v1
    description: National Park Service Data API HTTP API.
    authentication:
      type: apikey
      in: header
      name: X-Api-Key
      value: '{{NATIONAL_PARK_SERVICE_TOKEN}}'
    resources:
    - name: parks
      path: /parks
      operations:
      - name: get-parks
        method: GET
        description: Retrieve parks
        inputParameters:
        - name: parkCode
          in: query
          type: string
          description: Comma-delimited list of park codes (e.g., acad,dena).
        - name: stateCode
          in: query
          type: string
          description: Comma-delimited list of two-letter state codes.
        - name: q
          in: query
          type: string
          description: Free-text search term.
        - name: limit
          in: query
          type: integer
        - name: start
          in: query
          type: integer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: alerts
      path: /alerts
      operations:
      - name: get-alerts
        method: GET
        description: Retrieve alerts
        inputParameters:
        - name: parkCode
          in: query
          type: string
        - name: stateCode
          in: query
          type: string
        - name: q
          in: query
          type: string
        - name: limit
          in: query
          type: integer
        - name: start
          in: query
          type: integer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: newsreleases
      path: /newsreleases
      operations:
      - name: get-newsreleases
        method: GET
        description: Retrieve news releases
        inputParameters:
        - name: parkCode
          in: query
          type: string
        - name: q
          in: query
          type: string
        - name: limit
          in: query
          type: integer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: events
      path: /events
      operations:
      - name: get-events
        method: GET
        description: Retrieve events
        inputParameters:
        - name: parkCode
          in: query
          type: string
        - name: stateCode
          in: query
          type: string
        - name: dateStart
          in: query
          type: string
        - name: dateEnd
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: places
      path: /places
      operations:
      - name: get-places
        method: GET
        description: Retrieve places
        inputParameters:
        - name: parkCode
          in: query
          type: string
        - name: stateCode
          in: query
          type: string
        - name: q
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: visitorcenters
      path: /visitorcenters
      operations:
      - name: get-visitorcenters
        method: GET
        description: Retrieve visitor centers
        inputParameters:
        - name: parkCode
          in: query
          type: string
        - name: stateCode
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: campgrounds
      path: /campgrounds
      operations:
      - name: get-campgrounds
        method: GET
        description: Retrieve campgrounds
        inputParameters:
        - name: parkCode
          in: query
          type: string
        - name: stateCode
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: articles
      path: /articles
      operations:
      - name: get-articles
        method: GET
        description: Retrieve articles
        inputParameters:
        - name: parkCode
          in: query
          type: string
        - name: q
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: people
      path: /people
      operations:
      - name: get-people
        method: GET
        description: Retrieve historical people
        inputParameters:
        - name: parkCode
          in: query
          type: string
        - name: q
          in: query
          type: string
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: activities
      path: /activities
      operations:
      - name: get-activities
        method: GET
        description: List activities available within parks
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: topics
      path: /topics
      operations:
      - name: get-topics
        method: GET
        description: List topics covered by NPS
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
  exposes:
  - type: rest
    port: 8080
    namespace: national-park-service-rest
    description: REST adapter for National Park Service Data API.
    resources:
    - path: /parks
      name: get-parks
      operations:
      - method: GET
        name: get-parks
        description: Retrieve parks
        call: national-park-service.get-parks
        outputParameters:
        - type: object
          mapping: $.
    - path: /alerts
      name: get-alerts
      operations:
      - method: GET
        name: get-alerts
        description: Retrieve alerts
        call: national-park-service.get-alerts
        outputParameters:
        - type: object
          mapping: $.
    - path: /newsreleases
      name: get-newsreleases
      operations:
      - method: GET
        name: get-newsreleases
        description: Retrieve news releases
        call: national-park-service.get-newsreleases
        outputParameters:
        - type: object
          mapping: $.
    - path: /events
      name: get-events
      operations:
      - method: GET
        name: get-events
        description: Retrieve events
        call: national-park-service.get-events
        outputParameters:
        - type: object
          mapping: $.
    - path: /places
      name: get-places
      operations:
      - method: GET
        name: get-places
        description: Retrieve places
        call: national-park-service.get-places
        outputParameters:
        - type: object
          mapping: $.
    - path: /visitorcenters
      name: get-visitorcenters
      operations:
      - method: GET
        name: get-visitorcenters
        description: Retrieve visitor centers
        call: national-park-service.get-visitorcenters
        outputParameters:
        - type: object
          mapping: $.
    - path: /campgrounds
      name: get-campgrounds
      operations:
      - method: GET
        name: get-campgrounds
        description: Retrieve campgrounds
        call: national-park-service.get-campgrounds
        outputParameters:
        - type: object
          mapping: $.
    - path: /articles
      name: get-articles
      operations:
      - method: GET
        name: get-articles
        description: Retrieve articles
        call: national-park-service.get-articles
        outputParameters:
        - type: object
          mapping: $.
    - path: /people
      name: get-people
      operations:
      - method: GET
        name: get-people
        description: Retrieve historical people
        call: national-park-service.get-people
        outputParameters:
        - type: object
          mapping: $.
    - path: /activities
      name: get-activities
      operations:
      - method: GET
        name: get-activities
        description: List activities available within parks
        call: national-park-service.get-activities
        outputParameters:
        - type: object
          mapping: $.
    - path: /topics
      name: get-topics
      operations:
      - method: GET
        name: get-topics
        description: List topics covered by NPS
        call: national-park-service.get-topics
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    port: 9090
    namespace: national-park-service-mcp
    transport: http
    description: MCP adapter for National Park Service Data API for AI agent use.
    tools:
    - name: get-parks
      description: Retrieve parks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: national-park-service.get-parks
      with:
        parkCode: tools.parkCode
        stateCode: tools.stateCode
        q: tools.q
        limit: tools.limit
        start: tools.start
      inputParameters:
      - name: parkCode
        type: string
        description: Comma-delimited list of park codes (e.g., acad,dena).
      - name: stateCode
        type: string
        description: Comma-delimited list of two-letter state codes.
      - name: q
        type: string
        description: Free-text search term.
      - name: limit
        type: integer
        description: limit
      - name: start
        type: integer
        description: start
      outputParameters:
      - type: object
        mapping: $.
    - name: get-alerts
      description: Retrieve alerts
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: national-park-service.get-alerts
      with:
        parkCode: tools.parkCode
        stateCode: tools.stateCode
        q: tools.q
        limit: tools.limit
        start: tools.start
      inputParameters:
      - name: parkCode
        type: string
        description: parkCode
      - name: stateCode
        type: string
        description: stateCode
      - name: q
        type: string
        description: q
      - name: limit
        type: integer
        description: limit
      - name: start
        type: integer
        description: start
      outputParameters:
      - type: object
        mapping: $.
    - name: get-newsreleases
      description: Retrieve news releases
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: national-park-service.get-newsreleases
      with:
        parkCode: tools.parkCode
        q: tools.q
        limit: tools.limit
      inputParameters:
      - name: parkCode
        type: string
        description: parkCode
      - name: q
        type: string
        description: q
      - name: limit
        type: integer
        description: limit
      outputParameters:
      - type: object
        mapping: $.
    - name: get-events
      description: Retrieve events
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: national-park-service.get-events
      with:
        parkCode: tools.parkCode
        stateCode: tools.stateCode
        dateStart: tools.dateStart
        dateEnd: tools.dateEnd
      inputParameters:
      - name: parkCode
        type: string
        description: parkCode
      - name: stateCode
        type: string
        description: stateCode
      - name: dateStart
        type: string
        description: dateStart
      - name: dateEnd
        type: string
        description: dateEnd
      outputParameters:
      - type: object
        mapping: $.
    - name: get-places
      description: Retrieve places
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: national-park-service.get-places
      with:
        parkCode: tools.parkCode
        stateCode: tools.stateCode
        q: tools.q
      inputParameters:
      - name: parkCode
        type: string
        description: parkCode
      - name: stateCode
        type: string
        description: stateCode
      - name: q
        type: string
        description: q
      outputParameters:
      - type: object
        mapping: $.
    - name: get-visitorcenters
      description: Retrieve visitor centers
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: national-park-service.get-visitorcenters
      with:
        parkCode: tools.parkCode
        stateCode: tools.stateCode
      inputParameters:
      - name: parkCode
        type: string
        description: parkCode
      - name: stateCode
        type: string
        description: stateCode
      outputParameters:
      - type: object
        mapping: $.
    - name: get-campgrounds
      description: Retrieve campgrounds
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: national-park-service.get-campgrounds
      with:
        parkCode: tools.parkCode
        stateCode: tools.stateCode
      inputParameters:
      - name: parkCode
        type: string
        description: parkCode
      - name: stateCode
        type: string
        description: stateCode
      outputParameters:
      - type: object
        mapping: $.
    - name: get-articles
      description: Retrieve articles
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: national-park-service.get-articles
      with:
        parkCode: tools.parkCode
        q: tools.q
      inputParameters:
      - name: parkCode
        type: string
        description: parkCode
      - name: q
        type: string
        description: q
      outputParameters:
      - type: object
        mapping: $.
    - name: get-people
      description: Retrieve historical people
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: national-park-service.get-people
      with:
        parkCode: tools.parkCode
        q: tools.q
      inputParameters:
      - name: parkCode
        type: string
        description: parkCode
      - name: q
        type: string
        description: q
      outputParameters:
      - type: object
        mapping: $.
    - name: get-activities
      description: List activities available within parks
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: national-park-service.get-activities
      outputParameters:
      - type: object
        mapping: $.
    - name: get-topics
      description: List topics covered by NPS
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: national-park-service.get-topics
      outputParameters:
      - type: object
        mapping: $.
binds:
- namespace: env
  keys:
    NATIONAL_PARK_SERVICE_TOKEN: NATIONAL_PARK_SERVICE_TOKEN