naftiko: 1.0.0-alpha2 info: label: Union Pacific Rail Freight Operations description: Unified rail freight operations workflow for shipment visibility, supply chain exception management, intermodal planning, and equipment management. Used by logistics managers, supply chain analysts, and operations teams integrating Union Pacific railroad services into their supply chain platforms. tags: - Union Pacific - Freight - Railroads - Supply Chain - Logistics created: '2026-05-03' modified: '2026-05-06' binds: - namespace: env keys: UP_API_TOKEN: UP_API_TOKEN capability: consumes: - type: http namespace: union-pacific baseUri: https://api.up.com description: Union Pacific railroad supply chain API. authentication: type: bearer token: '{{UP_API_TOKEN}}' resources: - name: shipments path: /shipment description: Shipment tracking and management operations: - name: list-shipments method: GET description: Search active shipments for location and ETA data inputParameters: - name: accountId in: query type: string required: false description: Account identifier - name: shipmentId in: query type: string required: false description: Filter by shipment ID - name: destination in: query type: string required: false description: Filter by destination - name: origin in: query type: string required: false description: Filter by origin outputRawFormat: json outputParameters: - name: result type: object value: $. - name: get-shipment method: GET description: Get details for a specific shipment inputParameters: - name: shipmentId in: path type: string required: true description: Shipment ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: cases path: /case description: Exception case management for off-course shipments operations: - name: list-cases method: GET description: Find exception cases for shipments requiring attention inputParameters: - name: accountId in: query type: string required: false description: Account identifier - name: status in: query type: string required: false description: Case status filter outputRawFormat: json outputParameters: - name: result type: object value: $. - name: get-case method: GET description: Get details for a specific exception case inputParameters: - name: caseId in: path type: string required: true description: Case ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: equipment path: /equipment description: Rail equipment search and management operations: - name: list-equipment method: GET description: Search and identify rail equipment inputParameters: - name: equipmentType in: query type: string required: false description: Equipment type filter - name: equipmentNumber in: query type: string required: false description: Specific equipment number outputRawFormat: json outputParameters: - name: result type: object value: $. - name: equipment-actions path: /releaseShipment description: Shipment action management operations: - name: release-shipment method: POST description: Release held equipment for a shipment inputParameters: - name: shipmentId in: body type: string required: true description: Shipment ID to release equipment for outputRawFormat: json outputParameters: - name: result type: object value: $. - name: order-equipment method: POST description: Order rail car equipment for a shipment inputParameters: - name: accountId in: body type: string required: true description: Account identifier - name: equipmentType in: body type: string required: true description: Type of equipment to order outputRawFormat: json outputParameters: - name: result type: object value: $. - name: intermodal path: /intermodal description: Intermodal planning and reservations operations: - name: create-intermodal-reservation method: POST description: Create an intermodal terminal reservation inputParameters: - name: origin in: body type: string required: true description: Origin terminal code - name: destination in: body type: string required: true description: Destination terminal code - name: date in: body type: string required: true description: Departure date - name: equipmentType in: body type: string required: true description: Container type outputRawFormat: json outputParameters: - name: result type: object value: $. - name: list-intermodal-lanes method: GET description: List available intermodal service lanes inputParameters: - name: origin in: query type: string required: false description: Origin terminal - name: destination in: query type: string required: false description: Destination terminal outputRawFormat: json outputParameters: - name: result type: object value: $. - name: list-intermodal-departures method: GET description: List scheduled intermodal train departures inputParameters: - name: origin in: query type: string required: false description: Origin terminal - name: destination in: query type: string required: false description: Destination terminal - name: date in: query type: string required: false description: Departure date outputRawFormat: json outputParameters: - name: result type: object value: $. - name: locations path: /location description: Union Pacific network location data operations: - name: list-locations method: GET description: View Union Pacific network facility details inputParameters: - name: state in: query type: string required: false description: US state code - name: type in: query type: string required: false description: Location type outputRawFormat: json outputParameters: - name: result type: object value: $. - name: waybills path: /waybill description: Waybill data access operations: - name: list-waybills method: GET description: Look up waybill details inputParameters: - name: waybillNumber in: query type: string required: false description: Waybill number - name: shipmentId in: query type: string required: false description: Associated shipment ID outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: union-pacific-freight-api description: Unified REST API for Union Pacific rail freight operations. resources: - path: /v1/shipments name: shipments description: Active rail shipment tracking operations: - method: GET name: list-shipments description: Track active shipments with real-time location and ETAs call: union-pacific.list-shipments with: accountId: rest.accountId destination: rest.destination origin: rest.origin outputParameters: - type: object mapping: $. - method: GET name: get-shipment description: Get tracking details for a specific shipment call: union-pacific.get-shipment with: shipmentId: rest.shipmentId outputParameters: - type: object mapping: $. - path: /v1/cases name: cases description: Supply chain exception case management operations: - method: GET name: list-cases description: View exception cases for off-course shipments call: union-pacific.list-cases with: accountId: rest.accountId status: rest.status outputParameters: - type: object mapping: $. - method: GET name: get-case description: Get details for a specific exception case call: union-pacific.get-case with: caseId: rest.caseId outputParameters: - type: object mapping: $. - path: /v1/equipment name: equipment description: Rail equipment search and management operations: - method: GET name: list-equipment description: Search available rail equipment call: union-pacific.list-equipment with: equipmentType: rest.equipmentType outputParameters: - type: object mapping: $. - method: POST name: release-shipment description: Release held equipment for a shipment call: union-pacific.release-shipment with: shipmentId: rest.shipmentId outputParameters: - type: object mapping: $. - method: POST name: order-equipment description: Order rail car equipment call: union-pacific.order-equipment with: accountId: rest.accountId equipmentType: rest.equipmentType outputParameters: - type: object mapping: $. - path: /v1/intermodal/reservations name: intermodal-reservations description: Intermodal terminal reservation management operations: - method: POST name: create-intermodal-reservation description: Create an intermodal terminal reservation call: union-pacific.create-intermodal-reservation with: origin: rest.origin destination: rest.destination date: rest.date equipmentType: rest.equipmentType outputParameters: - type: object mapping: $. - path: /v1/intermodal/lanes name: intermodal-lanes description: Available intermodal service lanes operations: - method: GET name: list-intermodal-lanes description: List available service lanes call: union-pacific.list-intermodal-lanes with: origin: rest.origin destination: rest.destination outputParameters: - type: object mapping: $. - path: /v1/locations name: locations description: Union Pacific network locations operations: - method: GET name: list-locations description: View UP network facility locations call: union-pacific.list-locations with: state: rest.state type: rest.type outputParameters: - type: object mapping: $. - type: mcp port: 9080 namespace: union-pacific-freight-mcp transport: http description: MCP server for AI-assisted rail freight operations and supply chain visibility. tools: - name: list-shipments description: Track active rail shipments showing current location and estimated arrival times hints: readOnly: true openWorld: false call: union-pacific.list-shipments with: accountId: tools.accountId destination: tools.destination origin: tools.origin outputParameters: - type: object mapping: $. - name: get-shipment description: Get detailed tracking information for a specific rail shipment hints: readOnly: true openWorld: false call: union-pacific.get-shipment with: shipmentId: tools.shipmentId outputParameters: - type: object mapping: $. - name: list-cases description: View exception cases for shipments that are off course or experiencing delays hints: readOnly: true openWorld: false call: union-pacific.list-cases with: accountId: tools.accountId status: tools.status outputParameters: - type: object mapping: $. - name: get-case description: Get details for a specific supply chain exception case hints: readOnly: true openWorld: false call: union-pacific.get-case with: caseId: tools.caseId outputParameters: - type: object mapping: $. - name: list-equipment description: Search available rail car equipment by type and specifications hints: readOnly: true openWorld: false call: union-pacific.list-equipment with: equipmentType: tools.equipmentType outputParameters: - type: object mapping: $. - name: order-equipment description: Order rail car equipment for a shipment from origin to destination hints: readOnly: false destructive: false idempotent: false call: union-pacific.order-equipment with: accountId: tools.accountId equipmentType: tools.equipmentType outputParameters: - type: object mapping: $. - name: release-shipment description: Release held rail car equipment for a shipment hints: readOnly: false destructive: false idempotent: true call: union-pacific.release-shipment with: shipmentId: tools.shipmentId outputParameters: - type: object mapping: $. - name: create-intermodal-reservation description: Reserve space on an intermodal train between UP terminals hints: readOnly: false destructive: false idempotent: false call: union-pacific.create-intermodal-reservation with: origin: tools.origin destination: tools.destination date: tools.date equipmentType: tools.equipmentType outputParameters: - type: object mapping: $. - name: list-intermodal-lanes description: List available intermodal service lanes and transit times between terminals hints: readOnly: true openWorld: true call: union-pacific.list-intermodal-lanes with: origin: tools.origin destination: tools.destination outputParameters: - type: object mapping: $. - name: list-intermodal-departures description: View scheduled intermodal train departures and available capacity hints: readOnly: true openWorld: false call: union-pacific.list-intermodal-departures with: origin: tools.origin destination: tools.destination date: tools.date outputParameters: - type: object mapping: $. - name: list-locations description: View Union Pacific network facilities, yards, and terminals with location details hints: readOnly: true openWorld: true call: union-pacific.list-locations with: state: tools.state type: tools.type outputParameters: - type: object mapping: $. - name: list-waybills description: Look up waybill details for shipments hints: readOnly: true openWorld: false call: union-pacific.list-waybills with: waybillNumber: tools.waybillNumber shipmentId: tools.shipmentId outputParameters: - type: object mapping: $.