get_offer
Create and submit a user-confirmed lending enquiry to one selected lender and return the created application record and next-step details.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Create and submit a user-confirmed lending enquiry to one selected lender and return the created application record and next-step details.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Changes observed during successful MCP inspections.
Input schema / $schemaRemoved value: -"http://json-schema.org/draft-07/schema#"Input schema / additionalPropertiesAdded value: +trueInput schema / propertiesRemoved value: -{
- "applicant": {
- "description": "Personal details of the applicant.",
- "properties": {
- "email": {
- "description": "The applicant's email address.",
- "format": "email",
- "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$",
- "type": "string"
- },
- "firstName": {
- "description": "The applicant's first name.",
- "type": "string"
- },
- "lastName": {
- "description": "The applicant's last name.",
- "type": "string"
- },
- "phone": {
- "description": "The applicant's phone number.",
- "type": "string"
- }
- },
- "required": [
- "firstName",
- "lastName",
- "email"
- ],
- "type": "object"
- },
- "applicationData": {
- "anyOf": [
- {
- "properties": {
- "creditScore": {
- "description": "The applicant's estimated credit score (300-850).",
- "maximum": 850,
- "minimum": 300,
- "type": "number"
- },
- "employmentStatus": {
- "description": "The applicant's employment status.",
- "enum": [
- "employed",
- "self_employed",
- "retired",
- "unemployed"
- ],
- "type": "string"
- },
- "loanAmount": {
- "description": "The desired loan amount in USD (e.g., 25000).",
- "maximum": 100000,
- "minimum": 1000,
- "type": "number"
- },
- "monthlyIncome": {
- "description": "Applicant's gross monthly income in USD.",
- "minimum": 0,
- "type": "number"
- },
- "purpose": {
- "description": "The purpose of the loan.",
- "enum": [
- "debt_consolidation",
- "home_improvement",
- "major_purchase",
- "medical",
- "vacation",
- "other"
- ],
- "type": "string"
- },
- "state": {
- "description": "The applicant's state of residence (2-letter code).",
- "type": "string"
- }
- },
- "required": [
- "loanAmount",
- "purpose"
- ],
- "type": "object"
- },
- {
- "properties": {
- "annualRevenue": {
- "description": "The business's gross annual revenue in USD.",
- "minimum": 0,
- "type": "number"
- },
- "industry": {
- "description": "The industry the business operates in, e.g., 'technology'.",
- "type": "string"
- },
- "loanAmount": {
- "description": "The desired loan amount, e.g., 50000 for $50,000.",
- "minimum": 1000,
- "type": "number"
- },
- "purpose": {
- "description": "The reason for the loan, e.g., 'working capital'.",
- "type": "string"
- },
- "state": {
- "description": "The state where the business is located (2-letter code).",
- "type": "string"
- }
- },
- "required": [
- "loanAmount",
- "purpose"
- ],
- "type": "object"
- },
- {
- "properties": {
- "creditScore": {
- "description": "The applicant's estimated credit score (500-850).",
- "maximum": 850,
- "minimum": 500,
- "type": "number"
- },
- "downPayment": {
- "description": "The amount of the down payment in USD.",
- "minimum": 0,
- "type": "number"
- },
- "homePrice": {
- "description": "The purchase price of the home in USD.",
- "maximum": 5000000,
- "minimum": 50000,
- "type": "number"
- },
- "loanAmount": {
- "description": "The desired mortgage loan amount in USD.",
- "maximum": 2000000,
- "minimum": 50000,
- "type": "number"
- },
- "loanType": {
- "description": "The type of mortgage loan.",
- "enum": [
- "conventional",
- "fha",
- "va",
- "jumbo",
- "refinance"
- ],
- "type": "string"
- },
- "propertyType": {
- "description": "The intended use of the property.",
- "enum": [
- "primary",
- "secondary",
- "investment"
- ],
- "type": "string"
- },
- "state": {
- "description": "The state where the property is located (2-letter code).",
- "type": "string"
- }
- },
- "required": [
- "loanAmount",
- "loanType"
- ],
- "type": "object"
- },
- {
- "properties": {
- "creditScore": {
- "description": "The applicant's estimated credit score (300-850).",
- "maximum": 850,
- "minimum": 300,
- "type": "number"
- },
- "isNew": {
- "description": "Specifies if the vehicle is new (true) or used (false).",
- "type": "boolean"
- },
- "loanAmount": {
- "description": "The desired auto loan amount in USD.",
- "maximum": 100000,
- "minimum": 1000,
- "type": "number"
- },
- "state": {
- "description": "The applicant's state of residence (2-letter code).",
- "type": "string"
- }
- },
- "required": [
- "loanAmount",
- "isNew"
- ],
- "type": "object"
- },
- {
- "properties": {
- "coSignerCreditScore": {
- "description": "The co-signer's estimated credit score (300-850), if applicable.",
- "maximum": 850,
- "minimum": 300,
- "type": "number"
- },
- "creditScore": {
- "description": "The student's estimated credit score (300-850).",
- "maximum": 850,
- "minimum": 300,
- "type": "number"
- },
- "degreeType": {
- "description": "The type of degree the loan is for.",
- "enum": [
- "undergraduate",
- "graduate",
- "mba",
- "medical",
- "law"
- ],
- "type": "string"
- },
- "loanAmount": {
- "description": "The total amount needed for the student loan in USD.",
- "maximum": 250000,
- "minimum": 1000,
- "type": "number"
- },
- "state": {
- "description": "The student's state of residence (2-letter code).",
- "type": "string"
- }
- },
- "required": [
- "loanAmount",
- "degreeType"
- ],
- "type": "object"
- },
- {
- "properties": {
- "annualRevenue": {
- "description": "The business's annual revenue in USD.",
- "minimum": 0,
- "type": "number"
- },
- "businessAgeInYears": {
- "description": "The age of the business in years.",
- "minimum": 0,
- "type": "number"
- },
- "creditScore": {
- "description": "The applicant's estimated credit score (300-850).",
- "maximum": 850,
- "minimum": 300,
- "type": "number"
- }
- },
- "type": "object"
- },
- {
- "properties": {
- "industry": {
- "description": "The business's industry.",
- "type": "string"
- },
- "monthlyTransactions": {
- "description": "Estimated number of monthly transactions.",
- "type": "number"
- }
- },
- "type": "object"
- },
- {
- "properties": {
- "features": {
- "description": "Desired account features.",
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- {
- "properties": {
- "initialDeposit": {
- "description": "The initial deposit amount in USD.",
- "type": "number"
- }
- },
- "type": "object"
- },
- {
- "properties": {
- "creditScore": {
- "description": "The applicant's estimated credit score (300-850).",
- "maximum": 850,
- "minimum": 300,
- "type": "number"
- },
- "rewardsType": {
- "description": "Preferred rewards type.",
- "enum": [
- "cash_back",
- "travel",
- "points"
- ],
- "type": "string"
- }
- },
- "type": "object"
- }
- ],
- "description": "The original search parameters or form data for the application."
- },
- "productType": {
- "description": "The type of financial product being applied for.",
- "enum": [
- "INSTALLMENT_LOAN",
- "LINE_OF_CREDIT",
- "SHORT_TERM_CREDIT",
- "BNPL",
- "MORTGAGE",
- "AUTO_LOAN",
- "AUTO_REFINANCE",
- "STUDENT_LOAN",
- "STUDENT_LOAN_REFINANCE",
- "BUSINESS_LOAN",
- "BUSINESS_BANKING",
- "BUSINESS_CREDIT_CARD",
- "PERSONAL_BANKING",
- "SAVINGS_ACCOUNT",
- "PERSONAL_CREDIT_CARD"
- ],
- "type": "string"
- },
- "provider": {
- "description": "The selected provider to submit the application to.",
- "properties": {
- "providerId": {
- "description": "The ID of the selected provider.",
- "type": "string"
- },
- "providerName": {
- "description": "The name of the selected provider.",
- "type": "string"
- }
- },
- "required": [
- "providerId",
- "providerName"
- ],
- "type": "object"
- }
-}Input schema / requiredRemoved value: -[
- "productType",
- "applicant",
- "applicationData",
- "provider"
-]Output schema / (root)Previous value: -{
- "$schema": "http://json-schema.org/draft-07/schema#",
- "additionalProperties": false,
- "properties": {
- "applicationId": {
- "description": "Alias of `id`. Pass this value as `applicationId` to the `track_offer_status` tool to check enquiry status later.",
- "type": "string"
- },
- "createdAt": {
- "description": "The timestamp when the application was created.",
- "type": "string"
- },
- "id": {
- "description": "The unique ID of the application.",
- "type": "string"
- },
- "productType": {
- "anyOf": [
- {
- "enum": [
- "INSTALLMENT_LOAN",
- "LINE_OF_CREDIT",
- "SHORT_TERM_CREDIT",
- "BNPL",
- "MORTGAGE",
- "AUTO_LOAN",
- "AUTO_REFINANCE",
- "STUDENT_LOAN",
- "STUDENT_LOAN_REFINANCE",
- "BUSINESS_LOAN",
- "BUSINESS_BANKING",
- "BUSINESS_CREDIT_CARD",
- "PERSONAL_BANKING",
- "SAVINGS_ACCOUNT",
- "PERSONAL_CREDIT_CARD"
- ],
- "type": "string"
- },
- {
- "type": "string"
- }
- ],
- "description": "The type of product applied for."
- },
- "providers": {
- "description": "The list of providers the application was sent to.",
- "items": {
- "additionalProperties": false,
- "properties": {
- "error": {
- "type": "string"
- },
- "providerApplicationId": {
- "type": "string"
- },
- "providerId": {
- "type": "string"
- },
- "providerName": {
- "type": "string"
- },
- "referralUrl": {
- "format": "uri",
- "type": "string"
- },
- "status": {
- "enum": [
- "PENDING",
- "SUBMITTED",
- "REFERRED",
- "ERROR",
- "RECEIVED"
- ],
- "type": "string"
- },
- "submittedAt": {
- "type": "string"
- }
- },
- "required": [
- "providerId",
- "providerName",
- "status"
- ],
- "type": "object"
- },
- "type": "array"
- },
- "requiredInfo": {
- "additionalProperties": false,
- "description": "Details on information required from the applicant when status is ACTION_REQUIRED.",
- "properties": {
- "documents": {
- "description": "List of required document types.",
- "items": {
- "type": "string"
- },
- "type": "array"
- },
- "message": {
- "type": "string"
- },
- "sections": {
- "description": "List of required additional information sections.",
- "items": {
- "type": "string"
- },
- "type": "array"
- }
- },
- "type": "object"
- },
- "status": {
- "description": "The current status of the application.",
- "enum": [
- "DRAFT",
- "SUBMITTED",
- "IN_REVIEW",
- "ACTION_REQUIRED",
- "APPROVED",
- "DECLINED",
- "CLOSED"
- ],
- "type": "string"
- }
- },
- "required": [
- "id",
- "createdAt",
- "status",
- "productType",
- "providers"
- ],
- "type": "object"
-}New value: +nullDoes the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states that the tool creates and submits an enquiry and returns a record, but does not disclose side effects, authorization requirements, what 'user-confirmed' implies, or any failure behavior. It lacks depth about the mutation's impact.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that front-loads the primary action and states the return value. It is efficient and avoids redundancy, though it could be structured with separate clauses for inputs and outputs for clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool that creates and submits an enquiry, the description is incomplete. It does not specify required inputs (how to identify the lender or the enquiry details), prerequisites (e.g., user confirmation process), or output structure beyond 'application record and next-step details'. The absence of an output schema and any parameter guidance leaves significant gaps for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters and 100% schema coverage (trivially), the baseline is 4. The description adds context about the action but does not describe how a lender is selected or what inputs are expected, which would be relevant if parameters existed. Since there are none, this is acceptable, though the mismatch between 'selected lender' and an empty schema is a minor inconsistency.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action ('Create and submit'), a resource ('a user-confirmed lending enquiry'), and a target ('to one selected lender'). It also specifies the return value (created application record and next-step details), which distinguishes it from siblings like get_multiple_offers or display_offer_form.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool versus alternatives. It implies a single-lender scenario ('to one selected lender'), but does not mention that get_multiple_offers should be used for multiple lenders, nor does it give any exclusions or prerequisites beyond the vague 'user-confirmed'. An agent is left to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Add one secure layer between your agents and this server.