Reading the Catalog
- R / W — Read tools are safe to call repeatedly. Write tools mutate state and should be gated behind human confirmation in agent workflows.
- Parameters — only the notable ones are listed. Most list tools accept
limit,offset, andsortas well. - Enums — all enum values are lowercase on the wire. The server lowercases user input automatically, but prompt enums in lowercase to reduce model errors.
- Related REST page — links to the matching reference in the Lev External API v2 docs for full schema.
- Coming soon — three lender-discovery tools (
search_lenders_for_deal,get_lender_search_results,search_lender_directory) are documented below but not live in the MCP surface at launch. They are being reworked to handle large payloads, MCP-created deal properties, and async ranking signals. Expect them to land in a follow-up release.
Rows below with Coming soon in the description are documented for the launched surface they are moving toward. They do not appear in the live tool list today. If your workflow depends on lender matching, plan for it to land in a subsequent release.
Deals
| Tool | Type | Description |
|---|---|---|
list_deals | R | Search deals. Filters: loan_type, transaction_type, business_plan, min_loan_amount, max_loan_amount. See Deals. |
get_deal | R | Fetch a deal with optional include for financials, properties, team. Takes deal_id. |
create_deal | W | Create a new deal. Requires title. Optional: loan_amount, loan_type, transaction_type, business_plan, description, estimated_close_date, sponsor_private_company_id. |
update_deal | W | Update any deal field. Takes deal_id plus fields to change. |
delete_deal | W | Soft delete a deal. Takes deal_id. |
search_lenders_for_deal | W | Coming soon. Kick off AI-powered lender matching for a deal. Takes deal_id. Returns a search job handle. Not live at launch — see the note at the top of this page. |
get_lender_search_results | R | Coming soon. Fetch ranked lender matches for a deal. Takes deal_id. Not live at launch — see Lender Search. |
move_deal_to_pipeline_status | W | Move a deal to a specific pipeline status. Takes deal_id, pipeline_id, pipeline_status_id. |
Enums
loan_type:construction,heavy_bridge,light_bridge,permanent,land,predevelopment,tbdtransaction_type:acquisition,refinance,new_construction,tbdbusiness_plan:stabilized,value_add,construction,land
Related REST pages: Deals, Pipelines, Lender Search.
Contacts
| Tool | Type | Description |
|---|---|---|
list_contacts | R | Search contacts. Filters: contact_type, email, first_name, last_name. |
get_contact | R | Fetch a contact by contact_id. |
create_contact | W | Create a contact linked to a company. Requires company_id, contact_type, first_name, last_name. |
update_contact | W | Update any contact field. Takes contact_id plus fields to change. |
Enum — contact_type: lender_contact, sponsor.
Related REST page: Contacts.
Companies
| Tool | Type | Description |
|---|---|---|
list_companies | R | Search private companies (lenders, sponsors). Filters: name, state, city. |
get_company | R | Fetch a company by company_id. |
create_company | W | Create a company. Requires name. Optional: company_type, website, city, state. |
update_company | W | Update any company field. Takes company_id plus fields to change. |
Enum — company_type: lender, sponsor.
Related REST page: Companies.
Lenders
| Tool | Type | Description |
|---|---|---|
search_lender_directory | R | Coming soon. Search the institutional lender directory. Filters: state. Not live at launch — see the note at the top of this page. |
get_lender | R | Fetch a lender by lender_id. Optional include_programs to return lending programs. Useful when a lender_id surfaces from placements, term sheets, or companies. |
search_lenders_for_deal and get_lender_search_results under Deals drive AI-ranked lender matching for a specific deal. Both are documented above but not live at launch. get_lender continues to work for direct lookups once a lender_id is known.
Related REST pages: Lender Directory, Lender Search.
Placements
| Tool | Type | Description |
|---|---|---|
list_placements | R | Search lender placements (outreach). Filters: deal_id, status, lender_status. |
get_placement | R | Fetch a placement by placement_id with match score and metadata. |
Enums
status:new,sent,lender_reviewing,terms_received,term_sheet_received,executed_ts_in_closing,closed,unresponsive,willing_to_negotiate,lender_passed,archived,carve_out,carve_out_closedlender_status:origination,new,lead_qualification,quotation,negotiation,offer,term_sheet,good_faith_deposit,diligence,in_closing,closed,archived
Related REST page: Placements.
Pipelines
| Tool | Type | Description |
|---|---|---|
list_pipelines | R | Fetch all pipelines with their statuses. No parameters. |
get_pipeline | R | Fetch a single pipeline with all statuses and their IDs. |
To read a deal's current pipeline status, call get_deal with include=pipelines (the default) — each deal returns up to 10 current pipeline rows, each including pipeline_id, status_name, and updated_at.
Related REST page: Pipelines.
Term Sheets
| Tool | Type | Description |
|---|---|---|
list_term_sheets | R | Fetch loan quotes for a deal. Takes deal_id. |
get_term_sheet | R | Fetch a full term sheet with rates, fees, and terms. Takes deal_id and term_sheet_id. |
Related REST page: Term Sheets.
Market Data
| Tool | Type | Description |
|---|---|---|
get_base_rates | R | Current SOFR, Prime, Treasury rates. Cached ~30 minutes. No parameters. |
get_asset_types | R | Property asset type classifications (Office, Multifamily, Industrial, Retail, Hotel, Self-Storage, ...). No parameters. |
Related REST page: Market Data.
Account
| Tool | Type | Description |
|---|---|---|
get_my_profile | R | Returns user, active account, available accounts, subscription, granted scopes. Call this first to confirm the connection. |
list_team_members | R | Fetch team members in the active account. |
list_available_accounts | R | Fetch accounts the user can switch to. |
switch_account | W | Pin the MCP session to a specific account by name or slug (fuzzy matched). |
See MCP Authentication for how account context propagates across tool calls.
Related REST page: Account & Team.
Response Shape
Every tool returns a JSON string. The shape depends on the operation.
List tools
{
"deals": [ { "id": 101, "title": "..." }, { "id": 102, "title": "..." } ],
"total": 237,
"showing": 20,
"has_more": true
}Detail tools
{
"deal": { "id": 101, "title": "...", "loan_amount": 12500000 }
}Write tools
{
"message": "Deal created successfully",
"deal": { "id": 103, "title": "..." }
}Errors
Errors are returned as plain strings, never as raised exceptions. Common patterns include "Validation failed: loan_amount must be greater than 0" or "Deal not found: 101". See MCP Errors & Limits for the full convention.