MCP App Store
by KeenEthics
Moody's Struct & Pvt Cashflows icon

Moody's Struct & Pvt Cashflows

By Moody's Analytics, Inc.

Get New App Alerts

Overview

Moody’s Structured and Private Cashflows MCP powers AI applications with a Gen AI accessible integration allowing for the calculation of cashflows and the calculation of subsequent tranche prices. This innovative users to efficiently run, validate, and analyze cashflows using natural language, across Moody’s structured finance deal libraries, with coverage spanning CLO/CDO, RMBS, CMBS, ABS, Agency, Esoteric, and Private Credit. By leveraging Structured and Private Cashflows, users can perform cashflow analysis easily by prompting queries, and receive the entire suite of Deal, Tranche, Collateral, Account, and Fee related cashflows. As AI-generated and client-defined deals evolve, the Structured and Private Cashflows serves as the common layer, delivering: - Centralized cashflow execution: Run cash flows across Moody’s structured finance deal libraries today, with support for AI generated deals as workflows evolve - Model and cashflow integrity: Powered by Moody’s proven cash flow and waterfall engines designated to support mathematical integrity, traceability, and transparent review - Comprehensive analytics: Supports pricing, multi-scope cashflow views, first-loss analysis, stratifications, and incremental analytics on existing cashflows. - Flexible outputs: Delivers structured cash flow results directly into visualizations, investor reporting, downstream analytics, and client-owned templates and systems

Tools

getCashFlowDealInfo

ChatGPT
Query deal and tranche data from the Deal Library. Use this tool to: Look up deal metadata by deal ID, CUSIP, or ISIN Determine the correct engine type (libraryType) before submitting a cash flow request * Retrieve settlement date, status, product type, collateral type, and credit model info Accepts one or more identifiers and returns matching deal and tranche data. The deal.libraryType field is the Deal Library product classification (for example CDO, RMBS, or other values returned by the service). Cash-flow submission tools such as submitCashFlowJob expect a CashFlow engine type; they are often aligned with libraryType but not guaranteed to be identical—use the metadata returned here to choose engineType when it is unknown. Use this tool before submitCashFlowJob when the engine type is unknown.

getCashFlowJobStatus

ChatGPT
Check the status of a cash flow analysis job and its tasks. Use this tool to: Monitor the progress of a submitted cash flow job Get status of individual tasks within a job Determine when results are ready to retrieve Job statuses include: "processing" - Job is still being processed "completed" - Job finished successfully, results are ready "packaged" - Job finished successfully, results are ready "failed" - Job encountered an error When status is "completed" or "packaged", use getCashFlowResult to retrieve the results for each cashFlowTaskId. When status is "failed", inspect the error details. After correcting any input or configuration issues, you may: Retry the existing job using rerunCashFlowJob, or * Fix inputs and resubmit a new job using submitCashFlowJob.

getCashFlowResult

ChatGPT
Retrieve the cash flow analysis result for a specific task. Use this tool to: Get the computed cash flow projections for a task Retrieve scenario-based analysis results * Download completed deal analysis in JSON format Prerequisites: 1. Submit a cash flow job using submitCashFlowJob 2. Check job status using getCashFlowJobStatus 3. When status is "completed" or "packaged", retrieve results for each task

getPricingJobStatus

ChatGPT
Check the status of a pricing analysis job and its tasks. Use this tool to: Monitor the progress of a submitted pricing job Get status of individual pricing tasks within a job Determine when pricing results are ready Job statuses include: "not_started" - Job has not started yet "running" - Job is being processed "completed" - Job finished successfully "packaging" / "packaged" - Results are being prepared or ready "failed" / "launch_failed" / "package_failed" / "submit_task_failed" - Job encountered an error

getPricingResult

ChatGPT
Retrieve the formatted pricing result for a specific pricing task. Use this tool to: Get the computed pricing result after a pricing job completes Retrieve detailed pricing analytics for a specific task * Access formatted pricing output for analysis Prerequisites: 1. Submit a pricing job using submitCashFlowPricingJob, submitPreRunPricingJob, or submitRawPricingJob (pick the one that matches your data source) 2. Poll getPricingJobStatus until the job reports a terminal state (for example "completed" or "packaged") 3. Call getPricingResult for each pricingTaskId you need from the status response

reRunCashFlowJob

ChatGPT
Re-run a previously submitted cash flow analysis request. Use this tool to: Re-run a cash flow job that has completed or failed Retry a job without needing to resubmit the original request payload Re-execute analysis after upstream data changes Returns a new job submission response with updated task details for tracking the re-run progress. After re-running the job: Use getCashFlowJobStatus to monitor progress When status is "completed" or "packaged", use getCashFlowResult to retrieve results for each cashFlowTaskId If status is "failed", review error details and retry or correct inputs before submitting again

submitCashFlowJob

ChatGPT
Submit a cash flow analysis request. Use this tool to: Submit CDO, CLO, RMBS, CMBS, or ABS deal analysis requests Run scenario-based cash flow projections Queue long-running analysis jobs for asynchronous processing If you know deal identifiers (deal ID, CUSIP, or ISIN) but not the correct engineType for generalAssumptions, call getCashFlowDealInfo first to read libraryType from the Deal Library. Typical flow: 1. Submit the job using submitCashFlowJob. 2. Poll getCashFlowJobStatus until the status is "completed" or "packaged". 3. Call getCashFlowResult for each cashFlowTaskId returned to retrieve projected cash flow outputs. When to use this vs pricing tools: submitCashFlowJob — you only need projected cash flows or scenario analysis (no pricing metrics). Follow with getCashFlowJobStatus → getCashFlowResult. submitCashFlowPricingJob — you need pricing/valuation and will send assumptions in the pricing request (then getPricingJobStatus → getPricingResult). submitPreRunPricingJob — you already ran submitCashFlowJob and want to price those existing cash flow results without recomputing flows. * submitRawPricingJob — you are supplying your own cash flow data that was not produced by submitCashFlowJob. Note: CDOEdge requests cannot be combined with other types and must be submitted separately. Returns a job ID and task details for tracking the analysis progress. Minimal example input (all fields shown are required): ``json { "cashFlowRequest": { "cashflowRequests": [{ "cashflowRequest": { "generalAssumptions": { "runDate": "2026-02-18", "dealId": "BD_17-2", "engineType": "CDO" }, "inputAssumptions": { "defaults": { "rate": 2, "type": "CDR", "vectorName": "" }, "prepayments": { "rate": 10, "type": "CPR", "vectorName": "" }, "loss": { "rate": 30, "vectorName": "", "recovDelayMonths": 6 }, "call": { "callOption": "Maturity", "priceOption": "Par" } } } }] } } ``

submitCashFlowPricingJob

ChatGPT
Submit a pricing request based on user-defined cash flow assumptions. Use this tool to: Submit pricing analysis for CDO, CLO, RMBS, CMBS, or ABS deals with cash flow assumptions Run pricing scenarios based on cash flow projections Queue pricing jobs for asynchronous processing Note: CDOEdge requests cannot be combined with other types and must be submitted separately. Typical flow: 1. Submit the job using submitCashFlowPricingJob with pricingRequest (cash flow assumptions embedded in the pricing payload). 2. Poll getPricingJobStatus until the job reports a terminal state (for example "completed" or "packaged"). 3. Call getPricingResult for each pricingTaskId returned. When to use this vs other tools: submitCashFlowPricingJob — valuation or pricing metrics are required and you can describe the deal via assumptions in this single pricing submission. submitCashFlowJob — you only need projected cash flows or scenario analysis, not pricing outputs (then getCashFlowJobStatus → getCashFlowResult). submitPreRunPricingJob — a submitCashFlowJob already produced the cash flows you want to price; avoid recomputing them. submitRawPricingJob — your cash flows come from an external source and are not tied to a prior submitCashFlowJob. pricingRequest structure: pricingRequests — array of pricing request objects, each containing: - cashflowAssumption: the cash flow assumptions for the deal - generalAssumptions: dealId, engineType (CDO/CLO/RMBS/CMBS/ABS), runDate, cashflowPeriod, tchIds, userData - inputAssumptions: defaults, prepayments, loss, call assumptions - interestRateAssumptions: useMWSARates, useCustomRate, rateShiftFrom, mwsaRateDate - economySettings: default timing, ratings, recovery settings (CDO-specific) - vectors: named vectors for prepayments, defaults, loss, ccc, reinvestments - reinvestments: reinvestment assumptions and pool info - pricingAssumptions: array of tranche pricing configs - userData: label for the pricing task - trancheId: CUSIP or tranche identifier - type: pricing type e.g. "input_price" - inputStep, inputSpan, bookPrice, withDetail indexRates — array of rate sets, each with asOfDate, currency, and indexRate array - Each indexRate has index (e.g. "SOFR", "LIBOR3MO", "SWAP10YR") and rate - Forward curve indices are prefixed with "F-AL-" (e.g. "F-AL-LIBOR3MO") fxRates — FX rate data with asOfDate, fxRates (XML string), and fxRatesJSON

submitPreRunPricingJob

ChatGPT
Submit a pricing request based on pre-run cash flows from a previous submitCashFlowJob. Use this tool to: Run pricing analysis on cash flows that were previously generated via submitCashFlowJob Reference existing cash flow results by their job ID Avoid re-running cash flows when only pricing parameters change Typical flow: 1. Complete a submitCashFlowJob run and note cash flow task IDs from getCashFlowJobStatus / getCashFlowResult as needed. 2. Submit pricing with submitPreRunPricingJob referencing those identifiers, then poll getPricingJobStatus until a terminal state (for example "completed" or "packaged"). 3. Call getPricingResult for each pricingTaskId to retrieve formatted pricing output. When to use this vs other pricing tools: submitPreRunPricingJob — reuse cash flows from a prior submitCashFlowJob when only pricing inputs or parameters change. submitCashFlowPricingJob — supply fresh cash flow assumptions in one request without a separate cash flow job. submitRawPricingJob — supply your own raw cash flow data that did not come from submitCashFlowJob.

submitRawPricingJob

ChatGPT
Submit a pricing request based on user-provided cash flows. Use this tool to: Run pricing analysis using custom cash flows provided directly by the user Price deals using externally generated cash flow data Submit user-defined cash flow scenarios for pricing Typical flow: 1. Submit the job using submitRawPricingJob with user-provided cash flows in pricingRequest. 2. Poll getPricingJobStatus until the job reports a terminal state (for example "completed" or "packaged"). 3. Call getPricingResult for each pricingTaskId returned to retrieve formatted pricing output. When to use this vs other pricing tools: submitRawPricingJob — you already have final cash flow vectors or tables to price and do not need the platform to generate them. submitPreRunPricingJob — cash flows were produced earlier by submitCashFlowJob; you reference those task/job identifiers instead of resubmitting assumptions. submitCashFlowPricingJob — you have deal assumptions and want the service to derive cash flows and pricing together from those assumptions. pricingRequest structure: cashFlow — array of cash flow objects, each containing: - cashFlow: array of period entries with fields like b (balance), i (interest), p (principal), m (period), and date/d (date) - cf_name or cashFlowName: identifier for the cash flow series (prefix with "History_" for historical data) - Historical cash flows use string fields: b, date, i, m, p - Projected cash flows use numeric fields such as a, b, bF, c, dfrI, dueI, i, iA, idx, idxAdj, l, m, p, tP, and date string fields such as d and tD (ISO date strings) pricingInfo — pricing parameters including: - dealId, trancheId, trancheKey: deal and tranche identifiers - settlement: settlement date (YYYY-MM-DD) - couponType: e.g. "float" or "fixed" - calendar: day count convention e.g. "ACT/360" - purchasePrice, bookPrice: pricing values - accruedDays, accruedInterest: accrual details - cashFlowName: must match the projected cashFlowName - scenarioInput, scenarioType: scenario metadata - withAttachedCashflow, withDetail: response toggles

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

Similar Apps