USPS Addresses API — Addresses

USPS Addresses API — Addresses. 3 operations. Lead operation: USPS Addresses Validate Address. Self-contained Naftiko capability covering one United States Postal Service business surface.

Run with Naftiko United States Postal ServiceAddresses

What You Can Do

GET
Validateaddress — USPS Addresses Validate Address
/v1/addresses/v3/address
GET
Getcitystate — USPS Addresses Get City and State by ZIP
/v1/addresses/v3/city-state
GET
Getzipcode — USPS Addresses Get ZIP Code
/v1/addresses/v3/zipcode

MCP Tools

usps-addresses-validate-address

USPS Addresses Validate Address

read-only idempotent
usps-addresses-get-city-and

USPS Addresses Get City and State by ZIP

read-only idempotent
usps-addresses-get-zip-code

USPS Addresses Get ZIP Code

read-only idempotent

Capability Spec

addresses-addresses.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: USPS Addresses API — Addresses
  description: 'USPS Addresses API — Addresses. 3 operations. Lead operation: USPS Addresses Validate Address. Self-contained
    Naftiko capability covering one United States Postal Service business surface.'
  tags:
  - United States Postal Service
  - Addresses
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    UNITED_STATES_POSTAL_SERVICE_API_KEY: UNITED_STATES_POSTAL_SERVICE_API_KEY
capability:
  consumes:
  - type: http
    namespace: addresses-addresses
    baseUri: https://apis.usps.com
    description: USPS Addresses API — Addresses business capability. Self-contained, no shared references.
    resources:
    - name: addresses-v3-address
      path: /addresses/v3/address
      operations:
      - name: validateaddress
        method: GET
        description: USPS Addresses Validate Address
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: streetAddress
          in: query
          type: string
          description: Primary street address line.
          required: true
        - name: secondaryAddress
          in: query
          type: string
          description: Secondary address line (apartment, suite, unit, etc.).
        - name: city
          in: query
          type: string
          description: City name.
        - name: state
          in: query
          type: string
          description: Two-letter state abbreviation.
        - name: ZIPCode
          in: query
          type: string
          description: 5-digit ZIP Code.
        - name: ZIPPlus4
          in: query
          type: string
          description: ZIP+4 Code (4-digit extension).
    - name: addresses-v3-city-state
      path: /addresses/v3/city-state
      operations:
      - name: getcitystate
        method: GET
        description: USPS Addresses Get City and State by ZIP
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: ZIPCode
          in: query
          type: string
          description: 5-digit ZIP Code to look up.
          required: true
    - name: addresses-v3-zipcode
      path: /addresses/v3/zipcode
      operations:
      - name: getzipcode
        method: GET
        description: USPS Addresses Get ZIP Code
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: streetAddress
          in: query
          type: string
          description: Primary street address line.
          required: true
        - name: secondaryAddress
          in: query
          type: string
          description: Secondary address line.
        - name: city
          in: query
          type: string
          description: City name.
          required: true
        - name: state
          in: query
          type: string
          description: Two-letter state abbreviation.
          required: true
    authentication:
      type: bearer
      token: '{{env.UNITED_STATES_POSTAL_SERVICE_API_KEY}}'
  exposes:
  - type: rest
    namespace: addresses-addresses-rest
    port: 8080
    description: REST adapter for USPS Addresses API — Addresses. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/addresses/v3/address
      name: addresses-v3-address
      description: REST surface for addresses-v3-address.
      operations:
      - method: GET
        name: validateaddress
        description: USPS Addresses Validate Address
        call: addresses-addresses.validateaddress
        with:
          streetAddress: rest.streetAddress
          secondaryAddress: rest.secondaryAddress
          city: rest.city
          state: rest.state
          ZIPCode: rest.ZIPCode
          ZIPPlus4: rest.ZIPPlus4
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/addresses/v3/city-state
      name: addresses-v3-city-state
      description: REST surface for addresses-v3-city-state.
      operations:
      - method: GET
        name: getcitystate
        description: USPS Addresses Get City and State by ZIP
        call: addresses-addresses.getcitystate
        with:
          ZIPCode: rest.ZIPCode
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/addresses/v3/zipcode
      name: addresses-v3-zipcode
      description: REST surface for addresses-v3-zipcode.
      operations:
      - method: GET
        name: getzipcode
        description: USPS Addresses Get ZIP Code
        call: addresses-addresses.getzipcode
        with:
          streetAddress: rest.streetAddress
          secondaryAddress: rest.secondaryAddress
          city: rest.city
          state: rest.state
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: addresses-addresses-mcp
    port: 9090
    transport: http
    description: MCP adapter for USPS Addresses API — Addresses. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: usps-addresses-validate-address
      description: USPS Addresses Validate Address
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: addresses-addresses.validateaddress
      with:
        streetAddress: tools.streetAddress
        secondaryAddress: tools.secondaryAddress
        city: tools.city
        state: tools.state
        ZIPCode: tools.ZIPCode
        ZIPPlus4: tools.ZIPPlus4
      outputParameters:
      - type: object
        mapping: $.
    - name: usps-addresses-get-city-and
      description: USPS Addresses Get City and State by ZIP
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: addresses-addresses.getcitystate
      with:
        ZIPCode: tools.ZIPCode
      outputParameters:
      - type: object
        mapping: $.
    - name: usps-addresses-get-zip-code
      description: USPS Addresses Get ZIP Code
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: addresses-addresses.getzipcode
      with:
        streetAddress: tools.streetAddress
        secondaryAddress: tools.secondaryAddress
        city: tools.city
        state: tools.state
      outputParameters:
      - type: object
        mapping: $.