naftiko: 1.0.0-alpha2 info: label: Microsoft Exchange Microsoft Graph Mail API — Mail Folders description: 'Microsoft Exchange Microsoft Graph Mail API — Mail Folders. 11 operations. Lead operation: Microsoft Exchange List mail folders. Self-contained Naftiko capability covering one Microsoft Exchange business surface.' tags: - Microsoft Exchange - Mail Folders created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: MICROSOFT_EXCHANGE_API_KEY: MICROSOFT_EXCHANGE_API_KEY capability: consumes: - type: http namespace: graph-mail-mail-folders baseUri: https://graph.microsoft.com/v1.0 description: Microsoft Exchange Microsoft Graph Mail API — Mail Folders business capability. Self-contained, no shared references. resources: - name: me-mailFolders path: /me/mailFolders operations: - name: listmailfolders method: GET description: Microsoft Exchange List mail folders outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: includeHiddenFolders in: query type: string description: Include hidden mail folders in the response - name: createmailfolder method: POST description: Microsoft Exchange Create mail folder outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: me-mailFolders-mailFolder-id path: /me/mailFolders/{mailFolder-id} operations: - name: getmailfolder method: GET description: Microsoft Exchange Get mail folder outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updatemailfolder method: PATCH description: Microsoft Exchange Update mail folder outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deletemailfolder method: DELETE description: Microsoft Exchange Delete mail folder outputRawFormat: json outputParameters: - name: result type: object value: $. - name: me-mailFolders-mailFolder-id-childFolders path: /me/mailFolders/{mailFolder-id}/childFolders operations: - name: listchildfolders method: GET description: Microsoft Exchange List child folders outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createchildfolder method: POST description: Microsoft Exchange Create child folder outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: me-mailFolders-mailFolder-id-copy path: /me/mailFolders/{mailFolder-id}/copy operations: - name: copymailfolder method: POST description: Microsoft Exchange Copy mail folder outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: me-mailFolders-mailFolder-id-messages path: /me/mailFolders/{mailFolder-id}/messages operations: - name: listmailfoldermessages method: GET description: Microsoft Exchange List messages in mail folder outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createmessageinfolder method: POST description: Microsoft Exchange Create message in folder outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: me-mailFolders-mailFolder-id-move path: /me/mailFolders/{mailFolder-id}/move operations: - name: movemailfolder method: POST description: Microsoft Exchange Move mail folder outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true authentication: type: bearer token: '{{env.MICROSOFT_EXCHANGE_API_KEY}}' exposes: - type: rest namespace: graph-mail-mail-folders-rest port: 8080 description: REST adapter for Microsoft Exchange Microsoft Graph Mail API — Mail Folders. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/me/mailfolders name: me-mailfolders description: REST surface for me-mailFolders. operations: - method: GET name: listmailfolders description: Microsoft Exchange List mail folders call: graph-mail-mail-folders.listmailfolders with: includeHiddenFolders: rest.includeHiddenFolders outputParameters: - type: object mapping: $. - method: POST name: createmailfolder description: Microsoft Exchange Create mail folder call: graph-mail-mail-folders.createmailfolder with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/me/mailfolders/{mailfolder-id} name: me-mailfolders-mailfolder-id description: REST surface for me-mailFolders-mailFolder-id. operations: - method: GET name: getmailfolder description: Microsoft Exchange Get mail folder call: graph-mail-mail-folders.getmailfolder outputParameters: - type: object mapping: $. - method: PATCH name: updatemailfolder description: Microsoft Exchange Update mail folder call: graph-mail-mail-folders.updatemailfolder with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletemailfolder description: Microsoft Exchange Delete mail folder call: graph-mail-mail-folders.deletemailfolder outputParameters: - type: object mapping: $. - path: /v1/me/mailfolders/{mailfolder-id}/childfolders name: me-mailfolders-mailfolder-id-childfolders description: REST surface for me-mailFolders-mailFolder-id-childFolders. operations: - method: GET name: listchildfolders description: Microsoft Exchange List child folders call: graph-mail-mail-folders.listchildfolders outputParameters: - type: object mapping: $. - method: POST name: createchildfolder description: Microsoft Exchange Create child folder call: graph-mail-mail-folders.createchildfolder with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/me/mailfolders/{mailfolder-id}/copy name: me-mailfolders-mailfolder-id-copy description: REST surface for me-mailFolders-mailFolder-id-copy. operations: - method: POST name: copymailfolder description: Microsoft Exchange Copy mail folder call: graph-mail-mail-folders.copymailfolder with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/me/mailfolders/{mailfolder-id}/messages name: me-mailfolders-mailfolder-id-messages description: REST surface for me-mailFolders-mailFolder-id-messages. operations: - method: GET name: listmailfoldermessages description: Microsoft Exchange List messages in mail folder call: graph-mail-mail-folders.listmailfoldermessages outputParameters: - type: object mapping: $. - method: POST name: createmessageinfolder description: Microsoft Exchange Create message in folder call: graph-mail-mail-folders.createmessageinfolder with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/me/mailfolders/{mailfolder-id}/move name: me-mailfolders-mailfolder-id-move description: REST surface for me-mailFolders-mailFolder-id-move. operations: - method: POST name: movemailfolder description: Microsoft Exchange Move mail folder call: graph-mail-mail-folders.movemailfolder with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: graph-mail-mail-folders-mcp port: 9090 transport: http description: MCP adapter for Microsoft Exchange Microsoft Graph Mail API — Mail Folders. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: microsoft-exchange-list-mail-folders description: Microsoft Exchange List mail folders hints: readOnly: true destructive: false idempotent: true call: graph-mail-mail-folders.listmailfolders with: includeHiddenFolders: tools.includeHiddenFolders outputParameters: - type: object mapping: $. - name: microsoft-exchange-create-mail-folder description: Microsoft Exchange Create mail folder hints: readOnly: false destructive: false idempotent: false call: graph-mail-mail-folders.createmailfolder with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-exchange-get-mail-folder description: Microsoft Exchange Get mail folder hints: readOnly: true destructive: false idempotent: true call: graph-mail-mail-folders.getmailfolder outputParameters: - type: object mapping: $. - name: microsoft-exchange-update-mail-folder description: Microsoft Exchange Update mail folder hints: readOnly: false destructive: false idempotent: true call: graph-mail-mail-folders.updatemailfolder with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-exchange-delete-mail-folder description: Microsoft Exchange Delete mail folder hints: readOnly: false destructive: true idempotent: true call: graph-mail-mail-folders.deletemailfolder outputParameters: - type: object mapping: $. - name: microsoft-exchange-list-child-folders description: Microsoft Exchange List child folders hints: readOnly: true destructive: false idempotent: true call: graph-mail-mail-folders.listchildfolders outputParameters: - type: object mapping: $. - name: microsoft-exchange-create-child-folder description: Microsoft Exchange Create child folder hints: readOnly: false destructive: false idempotent: false call: graph-mail-mail-folders.createchildfolder with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-exchange-copy-mail-folder description: Microsoft Exchange Copy mail folder hints: readOnly: false destructive: false idempotent: false call: graph-mail-mail-folders.copymailfolder with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-exchange-list-messages-mail description: Microsoft Exchange List messages in mail folder hints: readOnly: true destructive: false idempotent: true call: graph-mail-mail-folders.listmailfoldermessages outputParameters: - type: object mapping: $. - name: microsoft-exchange-create-message-folder description: Microsoft Exchange Create message in folder hints: readOnly: false destructive: false idempotent: false call: graph-mail-mail-folders.createmessageinfolder with: body: tools.body outputParameters: - type: object mapping: $. - name: microsoft-exchange-move-mail-folder description: Microsoft Exchange Move mail folder hints: readOnly: false destructive: false idempotent: false call: graph-mail-mail-folders.movemailfolder with: body: tools.body outputParameters: - type: object mapping: $.