naftiko: 1.0.0-alpha2 info: label: Upbound Platform Engineering description: Workflow capability for Upbound platform engineering, composing organization management, control plane lifecycle, package repositories, team access, and robot account automation into a unified internal developer platform workflow. Designed for platform engineers and DevOps teams managing cloud infrastructure through Crossplane-based control planes. tags: - Upbound - Crossplane - Platform Engineering - Internal Developer Platform - Cloud Infrastructure - Control Planes created: '2026-05-03' modified: '2026-05-06' binds: - namespace: env keys: UPBOUND_TOKEN: UPBOUND_TOKEN capability: consumes: - type: http namespace: upbound baseUri: https://api.upbound.io/v1 description: Upbound Cloud REST API authentication: type: bearer token: '{{UPBOUND_TOKEN}}' resources: - name: organizations path: /organizations description: Organization management operations: - name: list-organizations method: GET description: List all organizations the authenticated user belongs to outputRawFormat: json outputParameters: - name: result type: object value: $. - name: create-organization method: POST description: Create a new organization outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: name: '{{tools.name}}' displayName: '{{tools.displayName}}' description: '{{tools.description}}' - name: organization path: /organizations/{orgName} description: Individual organization operations operations: - name: get-organization method: GET description: Get organization details inputParameters: - name: orgName in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: delete-organization method: DELETE description: Delete an organization inputParameters: - name: orgName in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: control-planes path: /organizations/{orgName}/controlplanes description: Managed control plane management operations: - name: list-control-planes method: GET description: List managed control planes in an organization inputParameters: - name: orgName in: path type: string required: true - name: page in: query type: integer required: false - name: size in: query type: integer required: false outputRawFormat: json outputParameters: - name: result type: object value: $. - name: create-control-plane method: POST description: Create a new managed control plane inputParameters: - name: orgName in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: name: '{{tools.name}}' configuration: '{{tools.configuration}}' region: '{{tools.region}}' description: '{{tools.description}}' - name: control-plane path: /organizations/{orgName}/controlplanes/{cpName} description: Individual control plane operations operations: - name: get-control-plane method: GET description: Get control plane details and status inputParameters: - name: orgName in: path type: string required: true - name: cpName in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: delete-control-plane method: DELETE description: Delete a managed control plane inputParameters: - name: orgName in: path type: string required: true - name: cpName in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: repositories path: /organizations/{orgName}/repositories description: Package repository management operations: - name: list-repositories method: GET description: List package repositories in an organization inputParameters: - name: orgName in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: create-repository method: POST description: Create a new package repository inputParameters: - name: orgName in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: name: '{{tools.name}}' description: '{{tools.description}}' public: '{{tools.public}}' - name: robots path: /organizations/{orgName}/robots description: Robot account management operations: - name: list-robots method: GET description: List robot accounts in an organization inputParameters: - name: orgName in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: create-robot method: POST description: Create a robot account for CI/CD inputParameters: - name: orgName in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: name: '{{tools.name}}' description: '{{tools.description}}' exposes: - type: rest port: 8080 namespace: upbound-platform-api description: Unified REST API for Upbound platform engineering workflows. resources: - path: /v1/organizations name: organizations description: Organization management operations: - method: GET name: list-organizations description: List all organizations call: upbound.list-organizations outputParameters: - type: object mapping: $. - method: POST name: create-organization description: Create a new organization call: upbound.create-organization outputParameters: - type: object mapping: $. - path: /v1/organizations/{orgName} name: organization description: Individual organization operations: - method: GET name: get-organization description: Get organization details call: upbound.get-organization with: orgName: rest.orgName outputParameters: - type: object mapping: $. - method: DELETE name: delete-organization description: Delete an organization call: upbound.delete-organization with: orgName: rest.orgName outputParameters: - type: object mapping: $. - path: /v1/organizations/{orgName}/control-planes name: control-planes description: Managed control plane lifecycle operations: - method: GET name: list-control-planes description: List control planes in organization call: upbound.list-control-planes with: orgName: rest.orgName outputParameters: - type: object mapping: $. - method: POST name: create-control-plane description: Create a new managed control plane call: upbound.create-control-plane with: orgName: rest.orgName outputParameters: - type: object mapping: $. - path: /v1/organizations/{orgName}/control-planes/{cpName} name: control-plane description: Individual control plane operations operations: - method: GET name: get-control-plane description: Get control plane status and details call: upbound.get-control-plane with: orgName: rest.orgName cpName: rest.cpName outputParameters: - type: object mapping: $. - method: DELETE name: delete-control-plane description: Delete a managed control plane call: upbound.delete-control-plane with: orgName: rest.orgName cpName: rest.cpName outputParameters: - type: object mapping: $. - path: /v1/organizations/{orgName}/repositories name: repositories description: Package repository management operations: - method: GET name: list-repositories description: List package repositories call: upbound.list-repositories with: orgName: rest.orgName outputParameters: - type: object mapping: $. - method: POST name: create-repository description: Create a package repository call: upbound.create-repository with: orgName: rest.orgName outputParameters: - type: object mapping: $. - path: /v1/organizations/{orgName}/teams name: teams description: Team management operations: - method: GET name: list-teams description: List teams in organization call: upbound.list-teams with: orgName: rest.orgName outputParameters: - type: object mapping: $. - method: POST name: create-team description: Create a new team call: upbound.create-team with: orgName: rest.orgName outputParameters: - type: object mapping: $. - path: /v1/organizations/{orgName}/robots name: robots description: Robot account management for CI/CD automation operations: - method: GET name: list-robots description: List robot accounts call: upbound.list-robots with: orgName: rest.orgName outputParameters: - type: object mapping: $. - method: POST name: create-robot description: Create a robot account call: upbound.create-robot with: orgName: rest.orgName outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: upbound-platform-mcp transport: http description: MCP server for AI-assisted Upbound platform engineering workflows. tools: - name: list-organizations description: List all Upbound organizations the user belongs to hints: readOnly: true openWorld: false call: upbound.list-organizations outputParameters: - type: object mapping: $. - name: get-organization description: Get details for a specific Upbound organization hints: readOnly: true openWorld: false call: upbound.get-organization with: orgName: tools.orgName outputParameters: - type: object mapping: $. - name: create-organization description: Create a new Upbound organization hints: readOnly: false openWorld: false call: upbound.create-organization outputParameters: - type: object mapping: $. - name: list-control-planes description: List managed Crossplane control planes in an organization hints: readOnly: true openWorld: false call: upbound.list-control-planes with: orgName: tools.orgName outputParameters: - type: object mapping: $. - name: get-control-plane description: Get status and configuration of a managed control plane hints: readOnly: true openWorld: false call: upbound.get-control-plane with: orgName: tools.orgName cpName: tools.cpName outputParameters: - type: object mapping: $. - name: create-control-plane description: Provision a new managed Crossplane control plane hints: readOnly: false openWorld: false call: upbound.create-control-plane with: orgName: tools.orgName outputParameters: - type: object mapping: $. - name: delete-control-plane description: Deprovision and delete a managed control plane hints: readOnly: false destructive: true idempotent: true call: upbound.delete-control-plane with: orgName: tools.orgName cpName: tools.cpName outputParameters: - type: object mapping: $. - name: list-repositories description: List Crossplane package repositories in an organization hints: readOnly: true openWorld: false call: upbound.list-repositories with: orgName: tools.orgName outputParameters: - type: object mapping: $. - name: create-repository description: Create a new Crossplane package repository hints: readOnly: false openWorld: false call: upbound.create-repository with: orgName: tools.orgName outputParameters: - type: object mapping: $. - name: list-teams description: List teams in an Upbound organization hints: readOnly: true openWorld: false call: upbound.list-teams with: orgName: tools.orgName outputParameters: - type: object mapping: $. - name: list-robots description: List robot accounts for CI/CD automation hints: readOnly: true openWorld: false call: upbound.list-robots with: orgName: tools.orgName outputParameters: - type: object mapping: $. - name: create-robot description: Create a robot account for CI/CD pipeline access hints: readOnly: false openWorld: false call: upbound.create-robot with: orgName: tools.orgName outputParameters: - type: object mapping: $.