https://mcp.securelend.ai/v1/lender/mcp.
Checked on 15 October 2026. The checks were read-only: OAuth discovery documents, initialize, and tools/list. No tool was called.
What was returned
initialize returned protocol 2025-03-26 and server info securelend-lender version 1.0.0.
tools/list returned 11 tools without a bearer token. A GET of the same URL, with no token, returned 401 and {"error":"unauthenticated"}. The 401 response observed here did not include a WWW-Authenticate header. Discovery is the well-known document below.
OAuth 2.0 with PKCE
Protected resource metadata:https://mcp.securelend.ai/.well-known/oauth-protected-resource
That document names the resource https://mcp.securelend.ai/v1/lender/mcp, scope lender, bearer method header, and authorization server https://mcp.securelend.ai.
Authorization server metadata:
https://mcp.securelend.ai/.well-known/oauth-authorization-server
Observed fields:
- Issuer:
https://mcp.securelend.ai - Authorize:
https://mcp.securelend.ai/oauth/authorize - Token:
https://mcp.securelend.ai/oauth/token - Response type:
code - Grant:
authorization_code - Code challenge method:
S256(PKCE) - Token endpoint auth method:
none - Scope:
lender
registration_endpoint. This page does not claim that dynamic client registration works.
An OAuth login was not completed, so this page does not claim which calls succeed with or without a token, beyond the initialize and tools/list calls above.
Tools
Wording below follows thedescription and inputSchema from tools/list. Required fields are the schema’s required list. Every one of the 11 tool schemas sets additionalProperties to false on the root object. The guarantees item object, below, does not set that keyword.
resolve_listed_company
Resolve a ticker, legal name, or CIK. Writes nothing. Returns one chosen company or the candidates. Required:query, asOf (YYYY-MM-DD).
read_listed_company
Read the annual filing on or beforeasOf and cite it on the caller’s case. An ambiguous name writes nothing. Omit caseId to open or reuse the filing case.
Required: asOf. Optional: query, cik, caseId.
open_case
Open a case on the caller’s tenant. The description says this is the same record as New file, and that any tenant id in the arguments is ignored. No required fields. Optional:id, legalName, email, source.
read_case
Read one case: status, facts, evidence ids, gaps, recommendation, document file names and types, pending jobs, and memo id plus status. No storage keys. Required:caseId.
run_file
Walk the file. The description says this is the same as Run file. It returns the job already running on this case. It does not attach a walk memo. Required:caseId.
run_pack
Score the facts already on the case against the active pack. The description says this is the same as Run pack. It does not accept facts in the arguments. It returnswalk_pending while a walk is running.
Required: caseId. Optional: event.
chase_missing_documents
Name every missing pack document and missing required number. When the file has a borrower email, it drafts a chase email and does not send it. If the same items are still missing, it returns the existing draft. Required:caseId.
screen_sanctions
Screen a name on the case with OpenSanctions. The description says this is the same as Screen OpenSanctions, forSANCTIONS or PEP. A missing key writes nothing and does not pass the file.
Required: caseId. Optional: name, checkType (SANCTIONS or PEP).
draft_memo_from_file
Draft a credit memo from the case file. The description says this uses the same case id as Draft from file, the tenant model when one is saved, and otherwise the file template. Required:caseId.
start_underwriting_package
Open an underwriting package and return the desk URL,dashboardUrl, and exportUrl. Checks run on their own. Does not approve the loan. dashboardUrl is the hosted package page. exportUrl is the zip.
Required: borrower, amount, currency, security (unsecured or secured). The description says a secured loan also needs a complete guarantee.
borrower is a string. The schema description says: “Legal name, ticker, or both. NASDAQ: OPTX and a trailing (OPTX) are the listed issuer. A private company name returns connectUrl and sources.”
Optional: guarantees, purpose, tenorMonths, amortisation, pricing. Here pricing is a string on the loan request. It is not a SecureLend fee.
guarantees is an array of objects. Each item requires type: personal_guarantee, corporate_or_parent, blanket_lien, asset, or government_guarantee. Optional item fields are who (string), limited (boolean), asset (string), and program (string).
The description also says: the first listed package can run once without an account; a name that is not an SEC-listed issuer does not open a file until a private-company source is connected; send the user to connectUrl; they choose a source and save the key in the browser; do not ask for a key in the chat; do not draft figures.
That no-account path was not called.
read_package
Read an underwriting package. Does not re-run the checks. Without a sign-in, pass the guestpackageId. A workspace caseId requires the workspace.
Optional: packageId, caseId. Neither is in the schema’s required list.
Reads and writes
This split follows the descriptions. It was not tested by calling the tools. Descriptions that say the tool writes nothing, or only reads:resolve_listed_companywrites nothing.read_casereads one case.read_packagereads a package and does not re-run the checks.
read_listed_companycan open or reuse a filing case whencaseIdis omitted.open_caseopens a case.run_filewalks the file.run_packscores facts already on the case.chase_missing_documentsdrafts an email and does not send it.screen_sanctionsscreens a name. A missing key writes nothing.draft_memo_from_filedrafts a credit memo.start_underwriting_packageopens a package.
No loan approval
No tool in this list approves a loan.start_underwriting_package says “Does not approve the loan.”
A package records no credit decision, on the hosted page that was read. On 15 October 2026 a public guest package page stated “Hosted package · no credit decision is recorded”, “No credit decision is recorded on a guest package.”, and, in the memo, “This draft does not record a credit decision.” A signed-in workspace package was not opened.
That page is this hosted package. It was read with GET. It was not created for this page. The header is “SYNTEC OPTICS HOLDINGS, INC. · underwriting package”. The page offers an Excel workbook, a Memo (Word), a Sanctions file, and a package zip. The memo cites EDGAR 10-K and 10-Q figures. Where a figure is not on the file, it says so. One line on that page: “Debt service coverage is not calculated.” The spread has no debt-service line, and no debt schedule, tax return, or bank statement is on the file.
read_package says that without a sign-in you pass the guest packageId. That read was not called from here. The page above was opened in a browser GET.
Trial
SecureLend does not publish a public price. Start a 7-day trial or talk to us. The public site footer listssales@securelend.ai.
The public marketing site calls that trial the Senior Analyst trial. These docs do not describe a separate Senior Analyst API. The underwriting tools are the 11 above. The sample package is a cited credit memo built from filings, and it states that no credit decision is recorded.
UWBench
UWBench describes itself as an open, vendor-neutral benchmark for credit underwriting agents. The DOI linked from the SecureLend site is 10.5281/zenodo.22035851. This page does not report a score. The benchmark was not run.Not tested
- No tool was called, including
start_underwriting_packageandread_package. - OAuth login was not completed.
- Which tools reject a missing token was not tested.
tools/listanswered without a token.read_packagesays a guestpackageIdworks without a sign-in, and a workspacecaseIdrequires the workspace. - Dynamic client registration is not in the metadata.
- Claude and ChatGPT menu labels were not checked. Add
https://mcp.securelend.ai/v1/lender/mcpin a client that can do OAuth 2.0 with PKCE (S256). - The consumer comparison server is a different product: Consumer marketplace MCP.
https://github.com/orgtom78/securelend-platformwas not readable from the environment that checked this page. Tool names and descriptions on this page come from the livetools/listresponse, not from that repository.