naftiko: 1.0.0-alpha2 info: label: PortainerCE API — teams description: 'PortainerCE API — teams. 5 operations. Lead operation: List teams. Self-contained Naftiko capability covering one Portainer business surface.' tags: - Portainer - teams created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: PORTAINER_API_KEY: PORTAINER_API_KEY capability: consumes: - type: http namespace: portainer-teams baseUri: '' description: PortainerCE API — teams business capability. Self-contained, no shared references. resources: - name: teams path: /teams operations: - name: teamlist method: GET description: List teams outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: onlyLedTeams in: query type: boolean description: Only list teams that the user is leader of - name: environmentId in: query type: integer description: Identifier of the environment(endpoint) that will be used to filter the authorized teams - name: teamcreate method: POST description: Create a new team outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: string description: details required: true - name: teams-id path: /teams/{id} operations: - name: teamdelete method: DELETE description: Remove a team outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: Team Id required: true - name: teaminspect method: GET description: Inspect a team outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: Team identifier required: true - name: teamupdate method: PUT description: Update a team outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: integer description: Team identifier required: true - name: body in: body type: string description: Team details required: true exposes: - type: rest namespace: portainer-teams-rest port: 8080 description: REST adapter for PortainerCE API — teams. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/teams name: teams description: REST surface for teams. operations: - method: GET name: teamlist description: List teams call: portainer-teams.teamlist with: onlyLedTeams: rest.onlyLedTeams environmentId: rest.environmentId outputParameters: - type: object mapping: $. - method: POST name: teamcreate description: Create a new team call: portainer-teams.teamcreate with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/teams/{id} name: teams-id description: REST surface for teams-id. operations: - method: DELETE name: teamdelete description: Remove a team call: portainer-teams.teamdelete with: id: rest.id outputParameters: - type: object mapping: $. - method: GET name: teaminspect description: Inspect a team call: portainer-teams.teaminspect with: id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: teamupdate description: Update a team call: portainer-teams.teamupdate with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: portainer-teams-mcp port: 9090 transport: http description: MCP adapter for PortainerCE API — teams. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-teams description: List teams hints: readOnly: true destructive: false idempotent: true call: portainer-teams.teamlist with: onlyLedTeams: tools.onlyLedTeams environmentId: tools.environmentId outputParameters: - type: object mapping: $. - name: create-new-team description: Create a new team hints: readOnly: false destructive: false idempotent: false call: portainer-teams.teamcreate with: body: tools.body outputParameters: - type: object mapping: $. - name: remove-team description: Remove a team hints: readOnly: false destructive: true idempotent: true call: portainer-teams.teamdelete with: id: tools.id outputParameters: - type: object mapping: $. - name: inspect-team description: Inspect a team hints: readOnly: true destructive: false idempotent: true call: portainer-teams.teaminspect with: id: tools.id outputParameters: - type: object mapping: $. - name: update-team description: Update a team hints: readOnly: false destructive: false idempotent: true call: portainer-teams.teamupdate with: id: tools.id body: tools.body outputParameters: - type: object mapping: $.