naftiko: 1.0.0-alpha2 info: label: US Bank Treasury Management description: Unified treasury management capability composing US Bank Corporate Account Information and RTP Real-Time Payments APIs. Used by corporate treasury teams, ERP systems, and financial operations for account visibility, payment reconciliation, and real-time payment origination. tags: - Banking - Treasury Management - Corporate Banking - Payments - Account Information - Real-Time Payments - Finance created: '2026-05-03' modified: '2026-05-06' binds: - namespace: env keys: USB_OAUTH_TOKEN: USB_OAUTH_TOKEN USB_CLIENT_ID: USB_CLIENT_ID USB_CLIENT_SECRET: USB_CLIENT_SECRET capability: consumes: - type: http namespace: usb-accounts baseUri: https://api.usbank.com/v1 description: US Bank Corporate Account Information API authentication: type: bearer token: '{{USB_OAUTH_TOKEN}}' resources: - name: accounts path: /accounts description: List authorized deposit accounts operations: - name: list-accounts method: GET description: Get a list of deposit accounts for the authorized customer outputRawFormat: json outputParameters: - name: result type: object value: $. - name: current-day-balances path: /accounts/current-day-balances description: Get current day balances for multiple accounts operations: - name: get-current-day-balances method: POST description: Get account balances for up to 50 accounts for the current business day outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: accountNumbers: '{{tools.accountNumbers}}' - name: previous-day-balances path: /accounts/previous-day-balances description: Get previous day balances for multiple accounts operations: - name: get-previous-day-balances method: POST description: Get account balances for up to 50 accounts for the previous business day outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: accountNumbers: '{{tools.accountNumbers}}' - name: current-day-transactions path: /accounts/{accountNumber}/current-day-transactions description: Get current day transactions for an account operations: - name: get-current-day-transactions method: GET description: Get transactions for a specific account for the current business day inputParameters: - name: accountNumber in: path type: string required: true description: Account number outputRawFormat: json outputParameters: - name: result type: object value: $. - name: transactions path: /accounts/{accountNumber}/transactions description: Get transaction history for an account operations: - name: get-account-transactions method: GET description: Get transactions for a date range (up to 60 days) inputParameters: - name: accountNumber in: path type: string required: true description: Account number - name: fromDate in: query type: string required: true description: Start date (ISO 8601) - name: toDate in: query type: string required: true description: End date (ISO 8601) outputRawFormat: json outputParameters: - name: result type: object value: $. - type: http namespace: usb-rtp baseUri: https://api.usbank.com/v1 description: US Bank RTP Real-Time Payments API authentication: type: bearer token: '{{USB_OAUTH_TOKEN}}' resources: - name: rtp-eligibility path: /rtp/eligibility description: Check if a bank supports RTP operations: - name: check-rtp-eligibility method: GET description: Check if a receiving bank is part of the RTP Network inputParameters: - name: routingNumber in: query type: string required: true description: 9-digit routing number of receiving bank outputRawFormat: json outputParameters: - name: result type: object value: $. - name: rtp-credit-transfers path: /rtp/credit-transfers description: RTP credit transfer payments operations: - name: initiate-rtp-credit-transfer method: POST description: Initiate an RTP credit transfer (instant, irrevocable) outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: payerAccountNumber: '{{tools.payerAccountNumber}}' payeeAccountNumber: '{{tools.payeeAccountNumber}}' payeeRoutingNumber: '{{tools.payeeRoutingNumber}}' payeeName: '{{tools.payeeName}}' amount: '{{tools.amount}}' remittanceInfo: '{{tools.remittanceInfo}}' - name: get-rtp-credit-transfer-status method: GET description: Get status of an RTP credit transfer inputParameters: - name: transactionId in: path type: string required: true description: Transaction identifier outputRawFormat: json outputParameters: - name: result type: object value: $. - name: rtp-requests-for-payment path: /rtp/requests-for-payment description: RTP Request for Payment (RFP) operations: - name: initiate-rtp-rfp method: POST description: Initiate an RTP Request for Payment to receive funds outputRawFormat: json outputParameters: - name: result type: object value: $. body: type: json data: creditorAccountNumber: '{{tools.creditorAccountNumber}}' debtorName: '{{tools.debtorName}}' amount: '{{tools.amount}}' dueDate: '{{tools.dueDate}}' - name: get-rtp-rfp-status method: GET description: Get status of an RTP Request for Payment inputParameters: - name: requestId in: path type: string required: true description: RFP request identifier outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: treasury-management-api description: Unified REST API for US Bank treasury management operations. resources: - path: /v1/accounts name: accounts description: Corporate deposit accounts operations: - method: GET name: list-accounts description: List all corporate deposit accounts call: usb-accounts.list-accounts outputParameters: - type: object mapping: $. - path: /v1/balances/current name: current-day-balances description: Current day account balances operations: - method: GET name: get-current-balances description: Get current day balances for accounts call: usb-accounts.get-current-day-balances outputParameters: - type: object mapping: $. - path: /v1/balances/previous name: previous-day-balances description: Previous day account balances operations: - method: GET name: get-previous-balances description: Get previous day balances for accounts call: usb-accounts.get-previous-day-balances outputParameters: - type: object mapping: $. - path: /v1/accounts/{account-number}/transactions name: transactions description: Account transaction history operations: - method: GET name: get-transactions description: Get account transaction history by date range call: usb-accounts.get-account-transactions with: accountNumber: rest.account-number fromDate: rest.fromDate toDate: rest.toDate outputParameters: - type: object mapping: $. - path: /v1/rtp/eligibility name: rtp-eligibility description: Check RTP network eligibility operations: - method: GET name: check-rtp-eligibility description: Verify if receiving bank supports RTP call: usb-rtp.check-rtp-eligibility with: routingNumber: rest.routingNumber outputParameters: - type: object mapping: $. - path: /v1/rtp/payments name: rtp-payments description: RTP real-time payments operations: - method: POST name: send-rtp-payment description: Send an instant RTP payment call: usb-rtp.initiate-rtp-credit-transfer outputParameters: - type: object mapping: $. - path: /v1/rtp/payments/{transaction-id} name: rtp-payment-status description: RTP payment status operations: - method: GET name: get-rtp-payment-status description: Get RTP payment status call: usb-rtp.get-rtp-credit-transfer-status with: transactionId: rest.transaction-id outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: treasury-management-mcp transport: http description: MCP server for AI-assisted US Bank treasury management and payment operations. tools: - name: list-bank-accounts description: List U.S. Bank corporate deposit accounts for cash position visibility hints: readOnly: true openWorld: false call: usb-accounts.list-accounts outputParameters: - type: object mapping: $. - name: get-current-day-balances description: Get current day account balances for up to 50 accounts for cash positioning hints: readOnly: true openWorld: false call: usb-accounts.get-current-day-balances with: accountNumbers: tools.accountNumbers outputParameters: - type: object mapping: $. - name: get-previous-day-balances description: Get previous business day account balances for reporting and reconciliation hints: readOnly: true openWorld: false call: usb-accounts.get-previous-day-balances with: accountNumbers: tools.accountNumbers outputParameters: - type: object mapping: $. - name: get-current-day-transactions description: Get intraday transactions for an account to monitor payment activity hints: readOnly: true openWorld: false call: usb-accounts.get-current-day-transactions with: accountNumber: tools.accountNumber outputParameters: - type: object mapping: $. - name: get-account-transactions-history description: Get historical transactions for an account for reconciliation and reporting hints: readOnly: true openWorld: false call: usb-accounts.get-account-transactions with: accountNumber: tools.accountNumber fromDate: tools.fromDate toDate: tools.toDate outputParameters: - type: object mapping: $. - name: verify-rtp-eligibility description: Check if a recipient bank participates in the RTP Network before sending a payment hints: readOnly: true openWorld: true call: usb-rtp.check-rtp-eligibility with: routingNumber: tools.routingNumber outputParameters: - type: object mapping: $. - name: send-instant-payment description: Send an instant RTP credit transfer payment to a recipient (irrevocable) hints: readOnly: false destructive: false idempotent: false call: usb-rtp.initiate-rtp-credit-transfer with: payerAccountNumber: tools.payerAccountNumber payeeAccountNumber: tools.payeeAccountNumber payeeRoutingNumber: tools.payeeRoutingNumber payeeName: tools.payeeName amount: tools.amount remittanceInfo: tools.remittanceInfo outputParameters: - type: object mapping: $. - name: check-payment-status description: Check the status of a previously submitted RTP payment hints: readOnly: true openWorld: false call: usb-rtp.get-rtp-credit-transfer-status with: transactionId: tools.transactionId outputParameters: - type: object mapping: $.