> ## Documentation Index
> Fetch the complete documentation index at: https://developer.9squid.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MCP Tools Reference

> Complete listing of all 53 MCP tools organized by domain and role.

All tools are called by name through your AI client. Parameters marked **required** must be provided; all others are optional with defaults shown.

Role column: **O** = originator only, **I** = investor only, **S** = shared (both roles).

***

## Loans — Originator (11 tools)

| Tool                               | Role | Description                                                                                                                                    | Parameters                                                                                                     |
| ---------------------------------- | ---- | ---------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| `initiate_loan_upload`             | O    | Step 1 of upload flow. Creates a DRAFT deal and returns a pre-signed upload URL (1-hour TTL). Reuses an existing DRAFT for the same loan type. | `loan_type` (**required**): `Auto`, `Personal`, `Mortgage`, `Student`, `Business`, `Credit Card`               |
| `complete_loan_upload`             | O    | Step 2 of upload flow. Registers the uploaded file and transitions the deal to `IN_REVIEW`.                                                    | `deal_id` (**required**), `file_name` (**required**)                                                           |
| `list_loans`                       | O    | List all originator loans with pagination.                                                                                                     | `page` (default: 1), `limit` (default: 10)                                                                     |
| `get_loan`                         | O    | Retrieve a full deal record including QC results and lifecycle state.                                                                          | `deal_id` (**required**)                                                                                       |
| `reinitiate_loan_upload`           | O    | Regenerate a fresh upload URL for an existing DRAFT deal when the previous URL has expired.                                                    | `deal_id` (**required**)                                                                                       |
| `approve_or_reject_deal`           | O    | Approve or reject a securitization deal. `reason` is required when rejecting.                                                                  | `deal_id` (**required**), `status` (**required**): `APPROVED` or `REJECTED`, `reason` (required for rejection) |
| `initiate_bulk_loan_upload`        | O    | Start a bulk upload job for multiple loan types at once. Returns a `bulk_job_id` and a per-loan upload URL list.                               | `loan_types` (**required**): list of loan type strings                                                         |
| `complete_bulk_loan_upload`        | O    | Complete a bulk upload job after all files have been uploaded.                                                                                 | `bulk_job_id` (**required**), `loans` (**required**): list of `{"loan_id": "...", "path": "..."}`              |
| `get_bulk_job`                     | O    | Get details for a bulk ingest job.                                                                                                             | `job_id` (**required**)                                                                                        |
| `regenerate_bulk_loan_upload_urls` | O    | Regenerate all expired upload URLs for a bulk DRAFT job.                                                                                       | `job_id` (**required**)                                                                                        |
| `get_bulk_job_status`              | O    | Get the status summary of a bulk ingest job.                                                                                                   | `job_id` (**required**)                                                                                        |

**Deal status lifecycle:**

| Status         | Meaning                                   |
| -------------- | ----------------------------------------- |
| `DRAFT`        | Upload URL issued, file not yet submitted |
| `IN_REVIEW`    | File submitted, under platform review     |
| `QC_COMPLETED` | Quality check passed                      |
| `APPROVED`     | Approved for securitization               |
| `REJECTED`     | Rejected — check `reason` in response     |

***

## Pools — Originator (5 tools)

| Tool                             | Role | Description                                                                                                                                                                           | Parameters               |
| -------------------------------- | ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
| `list_pools`                     | O    | List all securitization pools for the authenticated originator.                                                                                                                       | —                        |
| `get_pool`                       | O    | Get full details for a pool.                                                                                                                                                          | `pool_id` (**required**) |
| `get_pool_by_deal`               | O    | Find the pool a specific deal belongs to.                                                                                                                                             | `deal_id` (**required**) |
| `get_pool_summary`               | O    | Aggregate pool stats: total balance, loan count, WA coupon, WA LTV, WA FICO, WA DTI, WA seasoning, min/max/avg balance, delinquency breakdown, top-5 geography, vintage distribution. | `pool_id` (**required**) |
| `get_pool_stratification_report` | O    | Retrieve the stratification report for a pool. Returns a download URL for the report file.                                                                                            | `pool_id` (**required**) |

***

## Analytics — Originator (2 tools)

| Tool               | Role | Description                                                                                                                                                                           | Parameters               |
| ------------------ | ---- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
| `run_alm_analysis` | O    | Trigger an async TCT Risk ALM analysis for a deal. Poll `get_alm_analysis` after it completes.                                                                                        | `deal_id` (**required**) |
| `get_alm_analysis` | O    | Retrieve ALM results: duration (Macaulay, modified, effective, spread), convexity, key-rate durations, NII sensitivity, EVE analysis, gap analysis, VaR metrics, stress test results. | `deal_id` (**required**) |

***

## Selection Criteria — Originator (4 tools)

| Tool                             | Role | Description                                                                                             | Parameters                         |
| -------------------------------- | ---- | ------------------------------------------------------------------------------------------------------- | ---------------------------------- |
| `trigger_selection_criteria_run` | O    | Trigger an SC run on the loans in a deal. Returns `sc_job_id`.                                          | `deal_id` (**required**)           |
| `get_sc_results_for_deal`        | O    | Get pass/fail/exception results per loan across all SC runs for a deal.                                 | `deal_id` (**required**)           |
| `list_sc_exceptions`             | O    | List all exceptions raised across SC runs for the originator.                                           | —                                  |
| `get_sc_exception`               | O    | Get full exception details for a specific SC exception file, including loan data and exception history. | `exception_file_id` (**required**) |

***

## Documents — Shared (4 tools)

| Tool                       | Role | Description                                                                                                              | Parameters                                                                                                                                                                                                                                                                   |
| -------------------------- | ---- | ------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `get_document_upload_url`  | S    | Step 1: Get a pre-signed upload URL for a deal room document. PUT the file to this URL directly — no auth header needed. | `file_name` (**required**), `document_type` (default: `W9_FORM`)                                                                                                                                                                                                             |
| `complete_document_upload` | S    | Step 2: Register a document after uploading. `file_key` is returned from the previous step.                              | `file_name` (**required**), `file_key` (**required**), `document_type` (default: `W9_FORM`)                                                                                                                                                                                  |
| `list_deal_documents`      | S    | List all documents for a deal with filtering and pagination.                                                             | `deal_id` (**required**), `page` (default: 1), `limit` (default: 20), `document_type`: `legal`, `internal`, `loan_tape`, `credit_union_export`, `status`: `active`, `archived`, `all`, `sort_by`: `name`, `type`, `createdAt`, `size`, `sort_order`: `asc`, `desc`, `search` |
| `get_deal_document`        | S    | Get metadata and a download URL for a specific document.                                                                 | `deal_id` (**required**), `document_id` (**required**)                                                                                                                                                                                                                       |

***

## Deals — Investor (7 tools)

| Tool                              | Role | Description                                                                        | Parameters                                                     |
| --------------------------------- | ---- | ---------------------------------------------------------------------------------- | -------------------------------------------------------------- |
| `list_investor_deals`             | I    | List available securitization deals with summaries, metrics, and tranche overview. | `page` (default: 1), `limit` (default: 20), `search`, `status` |
| `get_investor_deal`               | I    | Get detailed deal information including tranche structure.                         | `deal_id` (**required**)                                       |
| `get_investor_deal_pool`          | I    | Get anonymized loan-level pool data and aggregate pool statistics.                 | `deal_id` (**required**)                                       |
| `get_investor_deal_tranches`      | I    | Get tranches with pricing for a deal.                                              | `deal_id` (**required**)                                       |
| `get_investor_deal_documents`     | I    | Get investor-visible deal documents with metadata and download URLs.               | `deal_id` (**required**)                                       |
| `get_investor_comparable_deals`   | I    | Get comparable deals for relative value analysis.                                  | `deal_id` (**required**)                                       |
| `get_investor_originator_profile` | I    | Get an originator's track record and profile as visible to investors.              | `originator_id` (**required**)                                 |

***

## Portfolio — Investor (3 tools)

| Tool                      | Role | Description                                                                                                                                                       | Parameters |
| ------------------------- | ---- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- |
| `get_portfolio_summary`   | I    | Aggregate portfolio metrics: total invested, NAV, returns, allocation breakdown.                                                                                  | —          |
| `get_portfolio_positions` | I    | Current portfolio holdings and valuations per deal.                                                                                                               | —          |
| `get_portfolio_reports`   | I    | Holdings snapshot, trade history, tranche performance metrics, and pool-level metrics. Performance sections are omitted if no calculation jobs have been run yet. | —          |

***

## Subscriptions & Allocations — Investor (4 tools)

| Tool                            | Role | Description                                                                                                               | Parameters                                                                                                                                                   |
| ------------------------------- | ---- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `submit_indication_of_interest` | I    | Submit an IOI for a deal — signals interest without a formal commitment. `interest_amount` is in USD.                     | `deal_id` (**required**), `interest_amount` (**required**, USD float), `notes`                                                                               |
| `submit_subscription`           | I    | Submit a formal subscription. Runs compliance checks. Returns `subscription_id`, `status`, and `compliance_check_result`. | `deal_id` (**required**), `subscription_amount` (**required**, USD float), `tranche_preferences`: list of `{"tranche_id": "...", "amount": 500000}`, `notes` |
| `list_subscriptions`            | I    | List all subscriptions with optional filters.                                                                             | `page` (default: 1), `limit` (default: 20), `status`, `deal_id`                                                                                              |
| `get_deal_allocations`          | I    | Get final tranche allocations for a deal: allocated amount, fill percentage, settlement date, confirmation ID.            | `deal_id` (**required**), `include_tranche` (default: false)                                                                                                 |

***

## Webhooks — Shared (9 tools)

| Tool                            | Role | Description                                                                                                                                           | Parameters                                                                                                                                     |
| ------------------------------- | ---- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| `create_webhook`                | S    | Register a new webhook subscription. `secret` (min 16 chars) is used to sign payloads for verification.                                               | `url` (**required**), `events` (**required**, list of event type strings), `secret`, `description`, `active` (default: true), `headers` (dict) |
| `list_webhooks`                 | S    | List all webhook subscriptions.                                                                                                                       | `page` (default: 1), `limit` (default: 10), `is_active` (bool)                                                                                 |
| `get_webhook`                   | S    | Get details for a single webhook.                                                                                                                     | `webhook_id` (**required**), `include_deliveries` (default: false)                                                                             |
| `update_webhook`                | S    | Partially update a webhook. Only provided fields are changed.                                                                                         | `webhook_id` (**required**), `url`, `events`, `active`, `headers`                                                                              |
| `delete_webhook`                | S    | Permanently delete a webhook.                                                                                                                         | `webhook_id` (**required**)                                                                                                                    |
| `test_webhook`                  | S    | Send a test ping to a webhook endpoint.                                                                                                               | `webhook_id` (**required**), `event_type` (**required**)                                                                                       |
| `replay_webhook_delivery`       | S    | Replay a previously failed delivery.                                                                                                                  | `webhook_id` (**required**), `delivery_id` (**required**)                                                                                      |
| `get_webhook_deliveries`        | S    | Get delivery history for a webhook. `status` options: `pending`, `succeeded`, `failed`, `retrying`. `date_from` / `date_to` are ISO 8601 UTC strings. | `webhook_id` (**required**), `page`, `limit`, `status`, `event_type`, `date_from`, `date_to`                                                   |
| `get_global_webhook_deliveries` | S    | Get the global delivery log across all webhooks.                                                                                                      | `page`, `limit`, `webhook_id`, `status`, `event_type`, `date_from`, `date_to`                                                                  |

For the list of valid event type strings, see the [Integrations — Webhooks](/integrations#webhooks) event reference.

***

## Alerts — Shared (3 tools)

| Tool           | Role | Description                                                                         | Parameters                                                                           |
| -------------- | ---- | ----------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| `get_alerts`   | S    | Get paginated alerts/notifications. `status` options: `UNREAD`, `READ`, `ARCHIVED`. | `page` (default: 1), `limit` (default: 20), `status`, `type`, `category`, `priority` |
| `get_alert`    | S    | Get a single alert by ID.                                                           | `alert_id` (**required**)                                                            |
| `delete_alert` | S    | Permanently delete an alert.                                                        | `alert_id` (**required**)                                                            |

***

## Health — Shared (1 tool)

| Tool                  | Role | Description                                              | Parameters |
| --------------------- | ---- | -------------------------------------------------------- | ---------- |
| `get_platform_health` | S    | Check the upstream Platform API Gateway health endpoint. | —          |
