SecureLend Underwriting
Open a credit file, chase gaps, screen sanctions, draft a cited memo. Person decides.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.
Install
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"lender": {
"url": "https://mcp.securelend.ai/v1/lender/mcp"
}
}
}Remote endpoints
https://mcp.securelend.ai/v1/lender/mcpstreamable-httpWhat it can do
Tool inventory
Tools (11)
🟢resolve_listed_company(query, asOf)
Resolve a ticker, legal name, or CIK. Writes nothing. Returns one chosen company or the candidates.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"asOf": {
"type": "string",
"description": "YYYY-MM-DD"
}
},
"required": [
"query",
"asOf"
],
"additionalProperties": false
}🟡read_listed_company(query, cik, asOf, caseId)
Fetches the annual filing and attaches a citation to the open case when the company resolves uniquely. Ambiguous names write nothing.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"cik": {
"type": "string"
},
"asOf": {
"type": "string",
"description": "YYYY-MM-DD"
},
"caseId": {
"type": "string",
"description": "CaseSchema.id. Omit to open or reuse the filing case."
}
},
"required": [
"asOf"
],
"additionalProperties": false
}⚪open_case(id, legalName, email, source)
Open a case on the caller's tenant. Same record as New file. Ignores any tenant id in the arguments.
Input Schema
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Optional CaseSchema.id"
},
"legalName": {
"type": "string"
},
"email": {
"type": "string"
},
"source": {
"type": "string"
}
},
"additionalProperties": false
}🟢read_case(caseId)
Read one case: status, facts, evidence ids, gaps, recommendation, document file names and types, pending jobs, and memo id plus status. No storage keys.
Input Schema
{
"type": "object",
"properties": {
"caseId": {
"type": "string",
"description": "CaseSchema.id"
}
},
"required": [
"caseId"
],
"additionalProperties": false
}🟢walk_credit_file(caseId)
Index documents on the open case, extract facts from the package (including image PDFs where supported), and spread financials into the case. Starts or returns the walk job already running. Does not draft the credit memo and does not approve a loan.
Input Schema
{
"type": "object",
"properties": {
"caseId": {
"type": "string",
"description": "CaseSchema.id"
}
},
"required": [
"caseId"
],
"additionalProperties": false
}⚪score_case_against_pack(caseId, event)
Score facts already on the open case against the active underwriting pack/rubric. Does not accept new facts in the arguments. Returns walk_pending while a file walk is still running. Does not approve a loan.
Input Schema
{
"type": "object",
"properties": {
"caseId": {
"type": "string",
"description": "CaseSchema.id"
},
"event": {
"type": "string"
}
},
"required": [
"caseId"
],
"additionalProperties": false
}🟡chase_missing_documents(caseId)
Name every missing pack document and missing required number. Drafts a chase email when the file has a borrower email, and does not send it. Returns the existing draft when the same items are still missing.
Input Schema
{
"type": "object",
"properties": {
"caseId": {
"type": "string",
"description": "CaseSchema.id"
}
},
"required": [
"caseId"
],
"additionalProperties": false
}⚪screen_sanctions(caseId, name, checkType)
Screen a name on the case with OpenSanctions. Same as Screen OpenSanctions. SANCTIONS or PEP. A missing key writes nothing and does not pass the file.
Input Schema
{
"type": "object",
"properties": {
"caseId": {
"type": "string",
"description": "CaseSchema.id"
},
"name": {
"type": "string"
},
"checkType": {
"type": "string",
"enum": [
"SANCTIONS",
"PEP"
]
}
},
"required": [
"caseId"
],
"additionalProperties": false
}⚪draft_memo_from_file(caseId)
Draft a credit memo from the case file. Same CaseSchema.id as Draft from file. Uses the tenant model when one is saved, otherwise the file template.
Input Schema
{
"type": "object",
"properties": {
"caseId": {
"type": "string",
"description": "CaseSchema.id"
}
},
"required": [
"caseId"
],
"additionalProperties": false
}🟡start_underwriting_package(borrower, amount, currency, security, guarantees, ...)
Create a new underwriting package for a borrower and return deskUrl, dashboardUrl (hosted package page), and exportUrl (zip). Background checks may start automatically. Requires borrower, amount, currency, and security; a secured loan also needs a complete guarantee. Does not approve the loan. Human review remains required.
Input Schema
{
"type": "object",
"properties": {
"borrower": {
"type": "string",
"description": "Legal name, ticker, or both. NASDAQ: OPTX and a trailing (OPTX) are the listed issuer. A private company name returns connectUrl and sources."
},
"amount": {
"type": "number"
},
"currency": {
"type": "string",
"description": "ISO currency code, for example USD."
},
"security": {
"type": "string",
"enum": [
"unsecured",
"secured"
]
},
"guarantees": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"personal_guarantee",
"corporate_or_parent",
"blanket_lien",
"asset",
"government_guarantee"
]
},
"who": {
"type": "string"
},
"limited": {
"type": "boolean"
},
"asset": {
"type": "string"
},
"program": {
"type": "string"
}
},
"required": [
"type"
]
}
},
"purpose": {
"type": "string"
},
"tenorMonths": {
"type": "number"
},
"amortisation": {
"type": "string"
},
"pricing": {
"type": "string"
}
},
"required": [
"borrower",
"amount",
"currency",
"security"
],
"additionalProperties": false
}🟢read_package(packageId, caseId)
Read an underwriting package. Does not re-run the checks. POST requires an OAuth bearer token with scope lender. Pass packageId or caseId for the caller's workspace.
Input Schema
{
"type": "object",
"properties": {
"packageId": {
"type": "string"
},
"caseId": {
"type": "string"
}
},
"additionalProperties": false
}Community
Evidence