Trimble Agriculture · Capability

Trimble Agriculture Precision Farming

Unified precision farming capability combining farm setup, field management, crop zone tracking, equipment activity monitoring, work order dispatch, and prescription management. Powers agricultural data workflows for agronomists, custom applicators, and farm management platforms.

Run with Naftiko Trimble AgriculturePrecision AgricultureFarmingField ManagementPrescriptionsWork OrdersEquipment ActivitiesIoT

What You Can Do

GET
List farms — List all farms for an organization
/v1/farms
POST
Create farm — Add a new farm to an organization
/v1/farms
GET
List fields — List all fields in a farm
/v1/fields
POST
Create field — Create a new field with boundary
/v1/fields
GET
List crop zones — List crop zones for an organization and season
/v1/crop-zones
GET
List equipment activities — List equipment activities (planting, spraying, harvesting)
/v1/equipment-activities
GET
Get as applied data — Download as-applied data for compliance and analysis
/v1/equipment-activities/{activityId}/as-applied
GET
List work orders — List work orders with status filtering
/v1/work-orders
POST
Create work order — Create a work order for farm operators
/v1/work-orders
GET
List prescriptions — List prescription files
/v1/prescriptions
POST
Create prescription — Upload a prescription for Trimble display delivery
/v1/prescriptions

MCP Tools

list-farms

List all farms for a Trimble Agriculture organization

read-only
create-farm

Add a new farm to a Trimble Agriculture organization

list-fields

List all fields in a farm with their boundaries

read-only
list-crop-zones

List crop zones for a growing season

read-only
list-equipment-activities

List in-field equipment activities (planting, spraying, harvesting)

read-only
get-as-applied-data

Download as-applied field data for compliance and productivity analysis

read-only
list-work-orders

List farm work orders and their completion status

read-only
create-work-order

Create a work order to assign field jobs to farm operators

list-prescriptions

List variable-rate prescription files for crop zones

read-only
create-prescription

Upload a variable-rate prescription to send to Trimble field displays

APIs Used

trimble-ag

Capability Spec

Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: "Trimble Agriculture Precision Farming"
  description: >-
    Unified precision farming capability combining farm setup, field management,
    crop zone tracking, equipment activity monitoring, work order dispatch, and
    prescription management. Powers agricultural data workflows for agronomists,
    custom applicators, and farm management platforms.
  tags:
    - Trimble Agriculture
    - Precision Agriculture
    - Farming
    - Field Management
    - Prescriptions
    - Work Orders
    - Equipment Activities
    - IoT
  created: "2026-05-03"
  modified: "2026-05-03"

binds:
  - namespace: env
    keys:
      TRIMBLE_AG_ACCESS_TOKEN: TRIMBLE_AG_ACCESS_TOKEN

capability:
  consumes:
    - import: trimble-ag
      location: ./shared/trimble-agriculture.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: precision-farming-api
      description: "Unified REST API for Trimble Agriculture precision farming operations."
      resources:
        - path: /v1/farms
          name: farms
          description: Farm registry
          operations:
            - method: GET
              name: list-farms
              description: List all farms for an organization
              call: "trimble-ag.list-farms"
              with:
                organizationId: "rest.organizationId"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: create-farm
              description: Add a new farm to an organization
              call: "trimble-ag.create-farm"
              with:
                organizationId: "rest.organizationId"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/fields
          name: fields
          description: Field management
          operations:
            - method: GET
              name: list-fields
              description: List all fields in a farm
              call: "trimble-ag.list-fields"
              with:
                organizationId: "rest.organizationId"
                farmId: "rest.farmId"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: create-field
              description: Create a new field with boundary
              call: "trimble-ag.create-field"
              with:
                organizationId: "rest.organizationId"
                farmId: "rest.farmId"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/crop-zones
          name: crop-zones
          description: Crop zone tracking by season
          operations:
            - method: GET
              name: list-crop-zones
              description: List crop zones for an organization and season
              call: "trimble-ag.list-crop-zones"
              with:
                organizationId: "rest.organizationId"
                season: "rest.season"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/equipment-activities
          name: equipment-activities
          description: In-field equipment activities from precision ag displays
          operations:
            - method: GET
              name: list-equipment-activities
              description: List equipment activities (planting, spraying, harvesting)
              call: "trimble-ag.list-equipment-activities"
              with:
                organizationId: "rest.organizationId"
                activityType: "rest.activityType"
                startDate: "rest.startDate"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/equipment-activities/{activityId}/as-applied
          name: as-applied-data
          description: As-applied data from field operations
          operations:
            - method: GET
              name: get-as-applied-data
              description: Download as-applied data for compliance and analysis
              call: "trimble-ag.get-as-applied-data"
              with:
                organizationId: "rest.organizationId"
                activityId: "rest.activityId"
                format: "rest.format"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/work-orders
          name: work-orders
          description: Work order planning and dispatch
          operations:
            - method: GET
              name: list-work-orders
              description: List work orders with status filtering
              call: "trimble-ag.list-work-orders"
              with:
                organizationId: "rest.organizationId"
                status: "rest.status"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: create-work-order
              description: Create a work order for farm operators
              call: "trimble-ag.create-work-order"
              with:
                organizationId: "rest.organizationId"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/prescriptions
          name: prescriptions
          description: Variable-rate prescription management
          operations:
            - method: GET
              name: list-prescriptions
              description: List prescription files
              call: "trimble-ag.list-prescriptions"
              with:
                organizationId: "rest.organizationId"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: create-prescription
              description: Upload a prescription for Trimble display delivery
              call: "trimble-ag.create-prescription"
              with:
                organizationId: "rest.organizationId"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9090
      namespace: precision-farming-mcp
      transport: http
      description: "MCP server for AI-assisted precision agriculture data management."
      tools:
        - name: list-farms
          description: List all farms for a Trimble Agriculture organization
          hints:
            readOnly: true
            openWorld: false
          call: "trimble-ag.list-farms"
          with:
            organizationId: "tools.organizationId"
          outputParameters:
            - type: object
              mapping: "$."

        - name: create-farm
          description: Add a new farm to a Trimble Agriculture organization
          hints:
            readOnly: false
            openWorld: false
          call: "trimble-ag.create-farm"
          with:
            organizationId: "tools.organizationId"
            name: "tools.name"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-fields
          description: List all fields in a farm with their boundaries
          hints:
            readOnly: true
            openWorld: false
          call: "trimble-ag.list-fields"
          with:
            organizationId: "tools.organizationId"
            farmId: "tools.farmId"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-crop-zones
          description: List crop zones for a growing season
          hints:
            readOnly: true
            openWorld: false
          call: "trimble-ag.list-crop-zones"
          with:
            organizationId: "tools.organizationId"
            season: "tools.season"
            fieldId: "tools.fieldId"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-equipment-activities
          description: List in-field equipment activities (planting, spraying, harvesting)
          hints:
            readOnly: true
            openWorld: false
          call: "trimble-ag.list-equipment-activities"
          with:
            organizationId: "tools.organizationId"
            activityType: "tools.activityType"
            startDate: "tools.startDate"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-as-applied-data
          description: Download as-applied field data for compliance and productivity analysis
          hints:
            readOnly: true
            openWorld: false
          call: "trimble-ag.get-as-applied-data"
          with:
            organizationId: "tools.organizationId"
            activityId: "tools.activityId"
            format: "tools.format"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-work-orders
          description: List farm work orders and their completion status
          hints:
            readOnly: true
            openWorld: false
          call: "trimble-ag.list-work-orders"
          with:
            organizationId: "tools.organizationId"
            status: "tools.status"
          outputParameters:
            - type: object
              mapping: "$."

        - name: create-work-order
          description: Create a work order to assign field jobs to farm operators
          hints:
            readOnly: false
            openWorld: false
          call: "trimble-ag.create-work-order"
          with:
            organizationId: "tools.organizationId"
            title: "tools.title"
            cropZoneId: "tools.cropZoneId"
            activityType: "tools.activityType"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-prescriptions
          description: List variable-rate prescription files for crop zones
          hints:
            readOnly: true
            openWorld: false
          call: "trimble-ag.list-prescriptions"
          with:
            organizationId: "tools.organizationId"
          outputParameters:
            - type: object
              mapping: "$."

        - name: create-prescription
          description: Upload a variable-rate prescription to send to Trimble field displays
          hints:
            readOnly: false
            openWorld: false
          call: "trimble-ag.create-prescription"
          with:
            organizationId: "tools.organizationId"
            name: "tools.name"
            cropZoneId: "tools.cropZoneId"
            materialType: "tools.materialType"
          outputParameters:
            - type: object
              mapping: "$."