Siemens · Capability

Siemens Smart Building Operations

Unified workflow capability for smart building operations using the Siemens Building X platform. Enables facility managers and building operations teams to monitor and control building automation systems including HVAC, lighting, energy management, and equipment. Covers data point monitoring, historical trend analysis, alarm management, and schedule management for commercial and industrial buildings.

Run with Naftiko Building AutomationSmart BuildingsHVACEnergy ManagementFacilities ManagementIoTBACnet

What You Can Do

GET
List points — List all building data points
/v1/points
GET
Get point — Get a building data point
/v1/points/{pointId}
GET
Get point value — Get current real-time value of a data point
/v1/points/{pointId}/value
PUT
Set point value — Set value of a writable data point (setpoint or command)
/v1/points/{pointId}/value
GET
Get trend — Get historical trend data for a building data point
/v1/points/{pointId}/trends
GET
List alarms — List building alarms filtered by status and severity
/v1/alarms
POST
Acknowledge alarm — Acknowledge a building alarm
/v1/alarms/{alarmId}/acknowledge
GET
List equipment — List building equipment including HVAC, chillers, and AHUs
/v1/equipment
GET
List schedules — List building automation schedules
/v1/schedules

MCP Tools

list-building-points

List all building automation data points (sensors, setpoints, actuators)

read-only
get-building-point

Get details of a specific building data point

read-only
get-point-current-value

Get the current real-time value of a building sensor or setpoint

read-only
set-point-value

Control a building system by setting a setpoint or actuator command

idempotent
get-historical-trend

Get historical trend data for a building sensor or setpoint over a time range

read-only
list-alarms

List building alarms including HVAC faults and equipment alerts

read-only
acknowledge-alarm

Acknowledge a building alarm to indicate it has been noted

idempotent
list-equipment

List building equipment including HVAC units, chillers, air handling units, and boilers

read-only
list-schedules

List building automation schedules controlling system operation times and setpoints

read-only

APIs Used

siemens-building

Capability Spec

building-operations.yaml Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: "Siemens Smart Building Operations"
  description: >-
    Unified workflow capability for smart building operations using the Siemens
    Building X platform. Enables facility managers and building operations teams
    to monitor and control building automation systems including HVAC, lighting,
    energy management, and equipment. Covers data point monitoring, historical
    trend analysis, alarm management, and schedule management for commercial and
    industrial buildings.
  tags:
    - Building Automation
    - Smart Buildings
    - HVAC
    - Energy Management
    - Facilities Management
    - IoT
    - BACnet
  created: "2026-05-02"
  modified: "2026-05-02"

binds:
  - namespace: env
    keys:
      SIEMENS_BEARER_TOKEN: SIEMENS_BEARER_TOKEN

capability:
  consumes:
    - import: siemens-building
      location: ./shared/building-operations.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: siemens-building-ops-api
      description: "Unified REST API for Siemens smart building operations and automation."
      resources:
        - path: /v1/points
          name: points
          description: "Building data points monitoring"
          operations:
            - method: GET
              name: list-points
              description: "List all building data points"
              call: "siemens-building.list-points"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/points/{pointId}
          name: point
          description: "Individual data point operations"
          operations:
            - method: GET
              name: get-point
              description: "Get a building data point"
              call: "siemens-building.get-point"
              with:
                pointId: "rest.pointId"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/points/{pointId}/value
          name: point-value
          description: "Real-time point value read/write"
          operations:
            - method: GET
              name: get-point-value
              description: "Get current real-time value of a data point"
              call: "siemens-building.get-point-value"
              with:
                pointId: "rest.pointId"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: PUT
              name: set-point-value
              description: "Set value of a writable data point (setpoint or command)"
              call: "siemens-building.set-point-value"
              with:
                pointId: "rest.pointId"
                value: "rest.value"
                priority: "rest.priority"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/points/{pointId}/trends
          name: trends
          description: "Historical trend data queries"
          operations:
            - method: GET
              name: get-trend
              description: "Get historical trend data for a building data point"
              call: "siemens-building.get-point-trend"
              with:
                pointId: "rest.pointId"
                from: "rest.from"
                to: "rest.to"
                resolution: "rest.resolution"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/alarms
          name: alarms
          description: "Building alarm monitoring"
          operations:
            - method: GET
              name: list-alarms
              description: "List building alarms filtered by status and severity"
              call: "siemens-building.list-alarms"
              with:
                status: "rest.status"
                severity: "rest.severity"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/alarms/{alarmId}/acknowledge
          name: alarm-acknowledge
          description: "Alarm acknowledgment"
          operations:
            - method: POST
              name: acknowledge-alarm
              description: "Acknowledge a building alarm"
              call: "siemens-building.acknowledge-alarm"
              with:
                alarmId: "rest.alarmId"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/equipment
          name: equipment
          description: "Building equipment listing"
          operations:
            - method: GET
              name: list-equipment
              description: "List building equipment including HVAC, chillers, and AHUs"
              call: "siemens-building.list-equipment"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/schedules
          name: schedules
          description: "Building automation schedules"
          operations:
            - method: GET
              name: list-schedules
              description: "List building automation schedules"
              call: "siemens-building.list-schedules"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9090
      namespace: siemens-building-ops-mcp
      transport: http
      description: "MCP server for AI-assisted smart building operations and facility management using Siemens Building X."
      tools:
        - name: list-building-points
          description: "List all building automation data points (sensors, setpoints, actuators)"
          hints:
            readOnly: true
            openWorld: false
          call: "siemens-building.list-points"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-building-point
          description: "Get details of a specific building data point"
          hints:
            readOnly: true
            openWorld: false
          call: "siemens-building.get-point"
          with:
            pointId: "tools.pointId"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-point-current-value
          description: "Get the current real-time value of a building sensor or setpoint"
          hints:
            readOnly: true
            openWorld: false
          call: "siemens-building.get-point-value"
          with:
            pointId: "tools.pointId"
          outputParameters:
            - type: object
              mapping: "$."

        - name: set-point-value
          description: "Control a building system by setting a setpoint or actuator command"
          hints:
            readOnly: false
            destructive: false
            idempotent: true
          call: "siemens-building.set-point-value"
          with:
            pointId: "tools.pointId"
            value: "tools.value"
            priority: "tools.priority"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-historical-trend
          description: "Get historical trend data for a building sensor or setpoint over a time range"
          hints:
            readOnly: true
            openWorld: false
          call: "siemens-building.get-point-trend"
          with:
            pointId: "tools.pointId"
            from: "tools.from"
            to: "tools.to"
            resolution: "tools.resolution"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-alarms
          description: "List building alarms including HVAC faults and equipment alerts"
          hints:
            readOnly: true
            openWorld: false
          call: "siemens-building.list-alarms"
          with:
            status: "tools.status"
            severity: "tools.severity"
          outputParameters:
            - type: object
              mapping: "$."

        - name: acknowledge-alarm
          description: "Acknowledge a building alarm to indicate it has been noted"
          hints:
            readOnly: false
            destructive: false
            idempotent: true
          call: "siemens-building.acknowledge-alarm"
          with:
            alarmId: "tools.alarmId"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-equipment
          description: "List building equipment including HVAC units, chillers, air handling units, and boilers"
          hints:
            readOnly: true
            openWorld: false
          call: "siemens-building.list-equipment"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-schedules
          description: "List building automation schedules controlling system operation times and setpoints"
          hints:
            readOnly: true
            openWorld: false
          call: "siemens-building.list-schedules"
          outputParameters:
            - type: object
              mapping: "$."