naftiko: 1.0.0-alpha2 info: label: Trello REST API — Boards description: 'Trello REST API — Boards. 17 operations. Lead operation: Create a Board. Self-contained Naftiko capability covering one Trello business surface.' tags: - Trello - Boards created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: TRELLO_API_KEY: TRELLO_API_KEY capability: consumes: - type: http namespace: rest-boards baseUri: https://api.trello.com/1 description: Trello REST API — Boards business capability. Self-contained, no shared references. resources: - name: boards path: /boards operations: - name: createboard method: POST description: Create a Board outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: The name for the new board. required: true - name: defaultLabels in: query type: boolean description: Whether to apply the default set of labels to the board. - name: defaultLists in: query type: boolean description: Whether to add the default set of lists to the board. - name: desc in: query type: string description: A description for the board. - name: idOrganization in: query type: string description: The ID or name of the organization (workspace) the board should belong to. - name: idBoardSource in: query type: string description: The ID of a board to copy into the new board. - name: prefs_permissionLevel in: query type: string description: The permissions level of the board. - name: prefs_voting in: query type: string description: Who can vote on the board. - name: prefs_comments in: query type: string description: Who can comment on cards on the board. - name: prefs_background in: query type: string description: The background color or image for the board. - name: prefs_cardAging in: query type: string description: The style of card aging to apply to the board. - name: prefs_selfJoin in: query type: boolean description: Whether workspace members can join the board themselves. - name: boards-id path: /boards/{id} operations: - name: getboard method: GET description: Get a Board outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: actions in: query type: string description: A comma-separated list of action types to include. - name: boardStars in: query type: string description: Whether to include board stars. - name: cards in: query type: string description: Filter cards to include. - name: card_fields in: query type: string description: A comma-separated list of card fields to include. - name: checklists in: query type: string description: Whether to include checklists. - name: fields in: query type: string description: A comma-separated list of board fields to include. - name: labels in: query type: string description: Whether to include labels. - name: lists in: query type: string description: Filter lists to include. - name: members in: query type: string description: Whether to include members. - name: memberships in: query type: string description: Whether to include memberships. - name: organization in: query type: boolean description: Whether to include the organization. - name: updateboard method: PUT description: Update a Board outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: The new name for the board. - name: desc in: query type: string description: The new description for the board. - name: closed in: query type: boolean description: Whether the board is closed (archived). - name: subscribed in: query type: boolean description: Whether the authenticated member is subscribed to the board. - name: idOrganization in: query type: string description: The ID of the organization to move the board to. - name: prefs/permissionLevel in: query type: string description: The permission level for the board. - name: prefs/selfJoin in: query type: boolean description: Whether workspace members can join the board themselves. - name: prefs/cardCovers in: query type: boolean description: Whether card covers are enabled. - name: prefs/hideVotes in: query type: boolean description: Whether votes are hidden until voting is complete. - name: prefs/background in: query type: string description: The background for the board. - name: prefs/cardAging in: query type: string description: The card aging style. - name: labelNames/green in: query type: string description: Name for the green label. - name: labelNames/yellow in: query type: string description: Name for the yellow label. - name: labelNames/orange in: query type: string description: Name for the orange label. - name: labelNames/red in: query type: string description: Name for the red label. - name: labelNames/purple in: query type: string description: Name for the purple label. - name: labelNames/blue in: query type: string description: Name for the blue label. - name: deleteboard method: DELETE description: Delete a Board outputRawFormat: json outputParameters: - name: result type: object value: $. - name: boards-id-actions path: /boards/{id}/actions operations: - name: getboardactions method: GET description: Get Actions for a Board outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filter in: query type: string description: A comma-separated list of action types to filter by. - name: limit in: query type: integer description: The maximum number of actions to return. - name: boards-id-cards path: /boards/{id}/cards operations: - name: getboardcards method: GET description: Get Cards on a Board outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: fields in: query type: string description: A comma-separated list of card fields to return. - name: boards-id-cards-filter path: /boards/{id}/cards/{filter} operations: - name: getboardcardsfilter method: GET description: Get Filtered Cards on a Board outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filter in: path type: string description: The filter to apply to the cards. required: true - name: boards-id-checklists path: /boards/{id}/checklists operations: - name: getboardchecklists method: GET description: Get Checklists on a Board outputRawFormat: json outputParameters: - name: result type: object value: $. - name: boards-id-labels path: /boards/{id}/labels operations: - name: getboardlabels method: GET description: Get Labels on a Board outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: fields in: query type: string description: A comma-separated list of label fields to return. - name: limit in: query type: integer description: Maximum number of labels to return. - name: createboardlabel method: POST description: Create a Label on a Board outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: The name for the label. required: true - name: color in: query type: string description: The color for the label. required: true - name: boards-id-lists path: /boards/{id}/lists operations: - name: getboardlists method: GET description: Get Lists on a Board outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: cards in: query type: string description: Filter cards within lists. - name: card_fields in: query type: string description: A comma-separated list of card fields to return. - name: filter in: query type: string description: Filter lists by status. - name: fields in: query type: string description: A comma-separated list of list fields to return. - name: createboardlist method: POST description: Create a List on a Board outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string description: The name for the new list. required: true - name: pos in: query type: string description: The position of the list on the board. - name: boards-id-members path: /boards/{id}/members operations: - name: getboardmembers method: GET description: Get Members of a Board outputRawFormat: json outputParameters: - name: result type: object value: $. - name: inviteboardmember method: PUT description: Invite a Member to a Board outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: email in: query type: string description: The email address of the member to invite. required: true - name: type in: query type: string description: The type of membership. - name: boards-id-members-idMember path: /boards/{id}/members/{idMember} operations: - name: updateboardmember method: PUT description: Update a Board Member outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: idMember in: path type: string description: The ID of the member to update. required: true - name: type in: query type: string description: The new membership type. required: true - name: removeboardmember method: DELETE description: Remove a Member from a Board outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: idMember in: path type: string description: The ID of the member to remove. required: true - name: boards-id-memberships path: /boards/{id}/memberships operations: - name: getboardmemberships method: GET description: Get Memberships of a Board outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: filter in: query type: string description: Filter memberships by type. authentication: type: apikey key: key value: '{{env.TRELLO_API_KEY}}' placement: query exposes: - type: rest namespace: rest-boards-rest port: 8080 description: REST adapter for Trello REST API — Boards. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/boards name: boards description: REST surface for boards. operations: - method: POST name: createboard description: Create a Board call: rest-boards.createboard with: name: rest.name defaultLabels: rest.defaultLabels defaultLists: rest.defaultLists desc: rest.desc idOrganization: rest.idOrganization idBoardSource: rest.idBoardSource prefs_permissionLevel: rest.prefs_permissionLevel prefs_voting: rest.prefs_voting prefs_comments: rest.prefs_comments prefs_background: rest.prefs_background prefs_cardAging: rest.prefs_cardAging prefs_selfJoin: rest.prefs_selfJoin outputParameters: - type: object mapping: $. - path: /v1/boards/{id} name: boards-id description: REST surface for boards-id. operations: - method: GET name: getboard description: Get a Board call: rest-boards.getboard with: actions: rest.actions boardStars: rest.boardStars cards: rest.cards card_fields: rest.card_fields checklists: rest.checklists fields: rest.fields labels: rest.labels lists: rest.lists members: rest.members memberships: rest.memberships organization: rest.organization outputParameters: - type: object mapping: $. - method: PUT name: updateboard description: Update a Board call: rest-boards.updateboard with: name: rest.name desc: rest.desc closed: rest.closed subscribed: rest.subscribed idOrganization: rest.idOrganization prefs/permissionLevel: rest.prefs/permissionLevel prefs/selfJoin: rest.prefs/selfJoin prefs/cardCovers: rest.prefs/cardCovers prefs/hideVotes: rest.prefs/hideVotes prefs/background: rest.prefs/background prefs/cardAging: rest.prefs/cardAging labelNames/green: rest.labelNames/green labelNames/yellow: rest.labelNames/yellow labelNames/orange: rest.labelNames/orange labelNames/red: rest.labelNames/red labelNames/purple: rest.labelNames/purple labelNames/blue: rest.labelNames/blue outputParameters: - type: object mapping: $. - method: DELETE name: deleteboard description: Delete a Board call: rest-boards.deleteboard outputParameters: - type: object mapping: $. - path: /v1/boards/{id}/actions name: boards-id-actions description: REST surface for boards-id-actions. operations: - method: GET name: getboardactions description: Get Actions for a Board call: rest-boards.getboardactions with: filter: rest.filter limit: rest.limit outputParameters: - type: object mapping: $. - path: /v1/boards/{id}/cards name: boards-id-cards description: REST surface for boards-id-cards. operations: - method: GET name: getboardcards description: Get Cards on a Board call: rest-boards.getboardcards with: fields: rest.fields outputParameters: - type: object mapping: $. - path: /v1/boards/{id}/cards/{filter} name: boards-id-cards-filter description: REST surface for boards-id-cards-filter. operations: - method: GET name: getboardcardsfilter description: Get Filtered Cards on a Board call: rest-boards.getboardcardsfilter with: filter: rest.filter outputParameters: - type: object mapping: $. - path: /v1/boards/{id}/checklists name: boards-id-checklists description: REST surface for boards-id-checklists. operations: - method: GET name: getboardchecklists description: Get Checklists on a Board call: rest-boards.getboardchecklists outputParameters: - type: object mapping: $. - path: /v1/boards/{id}/labels name: boards-id-labels description: REST surface for boards-id-labels. operations: - method: GET name: getboardlabels description: Get Labels on a Board call: rest-boards.getboardlabels with: fields: rest.fields limit: rest.limit outputParameters: - type: object mapping: $. - method: POST name: createboardlabel description: Create a Label on a Board call: rest-boards.createboardlabel with: name: rest.name color: rest.color outputParameters: - type: object mapping: $. - path: /v1/boards/{id}/lists name: boards-id-lists description: REST surface for boards-id-lists. operations: - method: GET name: getboardlists description: Get Lists on a Board call: rest-boards.getboardlists with: cards: rest.cards card_fields: rest.card_fields filter: rest.filter fields: rest.fields outputParameters: - type: object mapping: $. - method: POST name: createboardlist description: Create a List on a Board call: rest-boards.createboardlist with: name: rest.name pos: rest.pos outputParameters: - type: object mapping: $. - path: /v1/boards/{id}/members name: boards-id-members description: REST surface for boards-id-members. operations: - method: GET name: getboardmembers description: Get Members of a Board call: rest-boards.getboardmembers outputParameters: - type: object mapping: $. - method: PUT name: inviteboardmember description: Invite a Member to a Board call: rest-boards.inviteboardmember with: email: rest.email type: rest.type outputParameters: - type: object mapping: $. - path: /v1/boards/{id}/members/{idmember} name: boards-id-members-idmember description: REST surface for boards-id-members-idMember. operations: - method: PUT name: updateboardmember description: Update a Board Member call: rest-boards.updateboardmember with: idMember: rest.idMember type: rest.type outputParameters: - type: object mapping: $. - method: DELETE name: removeboardmember description: Remove a Member from a Board call: rest-boards.removeboardmember with: idMember: rest.idMember outputParameters: - type: object mapping: $. - path: /v1/boards/{id}/memberships name: boards-id-memberships description: REST surface for boards-id-memberships. operations: - method: GET name: getboardmemberships description: Get Memberships of a Board call: rest-boards.getboardmemberships with: filter: rest.filter outputParameters: - type: object mapping: $. - type: mcp namespace: rest-boards-mcp port: 9090 transport: http description: MCP adapter for Trello REST API — Boards. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-board description: Create a Board hints: readOnly: false destructive: false idempotent: false call: rest-boards.createboard with: name: tools.name defaultLabels: tools.defaultLabels defaultLists: tools.defaultLists desc: tools.desc idOrganization: tools.idOrganization idBoardSource: tools.idBoardSource prefs_permissionLevel: tools.prefs_permissionLevel prefs_voting: tools.prefs_voting prefs_comments: tools.prefs_comments prefs_background: tools.prefs_background prefs_cardAging: tools.prefs_cardAging prefs_selfJoin: tools.prefs_selfJoin outputParameters: - type: object mapping: $. - name: get-board description: Get a Board hints: readOnly: true destructive: false idempotent: true call: rest-boards.getboard with: actions: tools.actions boardStars: tools.boardStars cards: tools.cards card_fields: tools.card_fields checklists: tools.checklists fields: tools.fields labels: tools.labels lists: tools.lists members: tools.members memberships: tools.memberships organization: tools.organization outputParameters: - type: object mapping: $. - name: update-board description: Update a Board hints: readOnly: false destructive: false idempotent: true call: rest-boards.updateboard with: name: tools.name desc: tools.desc closed: tools.closed subscribed: tools.subscribed idOrganization: tools.idOrganization prefs/permissionLevel: tools.prefs/permissionLevel prefs/selfJoin: tools.prefs/selfJoin prefs/cardCovers: tools.prefs/cardCovers prefs/hideVotes: tools.prefs/hideVotes prefs/background: tools.prefs/background prefs/cardAging: tools.prefs/cardAging labelNames/green: tools.labelNames/green labelNames/yellow: tools.labelNames/yellow labelNames/orange: tools.labelNames/orange labelNames/red: tools.labelNames/red labelNames/purple: tools.labelNames/purple labelNames/blue: tools.labelNames/blue outputParameters: - type: object mapping: $. - name: delete-board description: Delete a Board hints: readOnly: false destructive: true idempotent: true call: rest-boards.deleteboard outputParameters: - type: object mapping: $. - name: get-actions-board description: Get Actions for a Board hints: readOnly: true destructive: false idempotent: true call: rest-boards.getboardactions with: filter: tools.filter limit: tools.limit outputParameters: - type: object mapping: $. - name: get-cards-board description: Get Cards on a Board hints: readOnly: true destructive: false idempotent: true call: rest-boards.getboardcards with: fields: tools.fields outputParameters: - type: object mapping: $. - name: get-filtered-cards-board description: Get Filtered Cards on a Board hints: readOnly: true destructive: false idempotent: true call: rest-boards.getboardcardsfilter with: filter: tools.filter outputParameters: - type: object mapping: $. - name: get-checklists-board description: Get Checklists on a Board hints: readOnly: true destructive: false idempotent: true call: rest-boards.getboardchecklists outputParameters: - type: object mapping: $. - name: get-labels-board description: Get Labels on a Board hints: readOnly: true destructive: false idempotent: true call: rest-boards.getboardlabels with: fields: tools.fields limit: tools.limit outputParameters: - type: object mapping: $. - name: create-label-board description: Create a Label on a Board hints: readOnly: false destructive: false idempotent: false call: rest-boards.createboardlabel with: name: tools.name color: tools.color outputParameters: - type: object mapping: $. - name: get-lists-board description: Get Lists on a Board hints: readOnly: true destructive: false idempotent: true call: rest-boards.getboardlists with: cards: tools.cards card_fields: tools.card_fields filter: tools.filter fields: tools.fields outputParameters: - type: object mapping: $. - name: create-list-board description: Create a List on a Board hints: readOnly: true destructive: false idempotent: false call: rest-boards.createboardlist with: name: tools.name pos: tools.pos outputParameters: - type: object mapping: $. - name: get-members-board description: Get Members of a Board hints: readOnly: true destructive: false idempotent: true call: rest-boards.getboardmembers outputParameters: - type: object mapping: $. - name: invite-member-board description: Invite a Member to a Board hints: readOnly: false destructive: false idempotent: true call: rest-boards.inviteboardmember with: email: tools.email type: tools.type outputParameters: - type: object mapping: $. - name: update-board-member description: Update a Board Member hints: readOnly: false destructive: false idempotent: true call: rest-boards.updateboardmember with: idMember: tools.idMember type: tools.type outputParameters: - type: object mapping: $. - name: remove-member-board description: Remove a Member from a Board hints: readOnly: false destructive: true idempotent: true call: rest-boards.removeboardmember with: idMember: tools.idMember outputParameters: - type: object mapping: $. - name: get-memberships-board description: Get Memberships of a Board hints: readOnly: true destructive: false idempotent: true call: rest-boards.getboardmemberships with: filter: tools.filter outputParameters: - type: object mapping: $.