Koskamo

Duneland Financial MCP

An official MCP server by Duneland Financial providing six read-only tools for business acquisition financing modeling, including affordability checks, capital stack building, loan and seller note modeling, SDE valuation, and SBA eligibility screening.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Duneland Financial MCP logo, by Duneland FinancialVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-07Operated by Duneland Financial
MCP endpoint (Streamable HTTP)
https://dunelandfinancial.com/api/mcp/
Vendor documentation

What its tools do

6 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

6 of 6 have a description · 6 of 6 declare behavior hints · 6 of 6 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to rekord.io ·
  • Passed Endpoint and vendor documentation share a domain
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Check if a business acquisition is affordable based on cash flow
  • Build a capital stack for a purchase including senior debt and equity
  • Model acquisition loan payments and schedules
  • Screen for SBA 7(a) loan eligibility

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
duneland-financial 1.0.0
MCP protocol negotiated in check
2025-11-25
Tools
6 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Duneland Financial tools model small business acquisition financing: deal affordability, capital stacks, SBA and conventional acquisition loans, seller notes, SDE normalization and a baseline SBA 7(a) screen. Use them when a user describes a business they want to buy, or asks about the loan, the down payment, the seller note or the debt service coverage ratio on one. All amounts are US dollars. Rates are annual percentage points. Results are illustrative and are not a financing commitment. Start with check_deal_affordability when the user has a price and earnings; use the other tools for one part of the structure.

Tools

6 advertised

check_deal_affordability — Check deal affordability
Advertised by the server during the last successful anonymous check.
Advertised read-only

Test whether a business acquisition supports its debt. Takes the purchase price, the seller's stated earnings, the buyer's equity share and loan terms; returns the cash flow after a market salary and capex, the senior loan, the annual debt service, the debt service coverage ratio (DSCR) against an initial-acquisition reference of 1.25 and an illustrative conventional reference of 1.50. These do not determine eligibility or approval. Use this first when the user has a price and earnings. Illustrative, not a commitment.

check_deal_affordability input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "purchasePrice",
    "reportedEarnings"
  ],
  "properties": {
    "interestRate": {
      "type": "number",
      "default": 9,
      "maximum": 30,
      "minimum": 0,
      "description": "Senior loan rate. Annual rate in percentage points. 9.25 means 9.25%."
    },
    "equityPercent": {
      "type": "number",
      "default": 20,
      "maximum": 100,
      "minimum": 0,
      "description": "Buyer equity as a percentage of the purchase price. Default 20."
    },
    "loanTermYears": {
      "type": "number",
      "default": 10,
      "maximum": 30,
      "minimum": 0,
      "description": "Senior loan term. In years."
    },
    "purchasePrice": {
      "type": "number",
      "maximum": 1000000000,
      "minimum": 0,
      "description": "The purchase price. In US dollars."
    },
    "capexAllowance": {
      "type": "number",
      "default": 30000,
      "maximum": 1000000000,
      "minimum": 0,
      "description": "Annual maintenance capital spending. Deducted from earnings. In US dollars."
    },
    "sellerNoteRate": {
      "type": "number",
      "default": 6,
      "maximum": 30,
      "minimum": 0,
      "description": "Seller note rate. Annual rate in percentage points. 9.25 means 9.25%."
    },
    "addBacksRejected": {
      "type": "number",
      "default": 0,
      "maximum": 1000000000,
      "minimum": 0,
      "description": "Add-backs the buyer cannot document. Deducted from earnings. In US dollars."
    },
    "reportedEarnings": {
      "type": "number",
      "maximum": 1000000000,
      "minimum": 0,
      "description": "The seller's stated SDE or EBITDA, before any haircut. In US dollars."
    },
    "sellerNoteAmount": {
      "type": "number",
      "default": 0,
      "maximum": 1000000000,
      "minimum": 0,
      "description": "Seller note principal, if any. In US dollars."
    },
    "ownerMarketSalary": {
      "type": "number",
      "default": 150000,
      "maximum": 1000000000,
      "minimum": 0,
      "description": "What it costs to pay someone to run the business. Deducted from earnings. In US dollars."
    },
    "sellerNoteStandby": {
      "type": "boolean",
      "default": false,
      "description": "True when the seller note is on full standby until the senior loan is repaid."
    },
    "existingDebtService": {
      "type": "number",
      "default": 0,
      "maximum": 1000000000,
      "minimum": 0,
      "description": "Annual payments on debt the business keeps after closing. In US dollars."
    },
    "sellerNoteTermYears": {
      "type": "number",
      "default": 5,
      "maximum": 30,
      "minimum": 0,
      "description": "Seller note term. In years."
    }
  }
}
check_deal_affordability output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "equityAmount",
    "seniorLoanAmount",
    "cashFlowForDebtService",
    "seniorAnnualService",
    "sellerNoteAnnualService",
    "totalAnnualService",
    "dscr",
    "worstYearDscr",
    "band",
    "thresholds",
    "maturityObligations",
    "notes",
    "calculatorUrl",
    "disclaimer"
  ],
  "properties": {
    "band": {
      "anyOf": [
        {
          "enum": [
            "insufficient",
            "no-cushion",
            "sba",
            "conventional"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ]
    },
    "dscr": {
      "type": [
        "number",
        "null"
      ]
    },
    "notes": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "disclaimer": {
      "type": "string"
    },
    "thresholds": {
      "type": "object",
      "required": [
        "sba",
        "conventional"
      ],
      "properties": {
        "sba": {
          "type": "number"
        },
        "conventional": {
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "equityAmount": {
      "type": "number"
    },
    "calculatorUrl": {
      "type": "string"
    },
    "worstYearDscr": {
      "type": [
        "number",
        "null"
      ]
    },
    "seniorLoanAmount": {
      "type": "number"
    },
    "totalAnnualService": {
      "type": "number"
    },
    "maturityObligations": {
      "type": "number"
    },
    "seniorAnnualService": {
      "type": "number"
    },
    "cashFlowForDebtService": {
      "type": "number"
    },
    "sellerNoteAnnualService": {
      "type": "number"
    }
  },
  "additionalProperties": false
}
check_deal_affordability annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
build_capital_stack — Build a capital stack
Advertised by the server during the last successful anonymous check.
Advertised read-only

Lay out sources and uses for a business acquisition and solve the senior loan as the remainder. Takes the price, working capital, closing costs, buyer and other equity, a seller note with its terms, senior loan terms and annual cash flow; returns the funding gap, each source as a share of total uses, the first-year debt service, the coverage by year and a cash-flow sensitivity. Use when the user asks how the whole purchase gets funded.

build_capital_stack input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "purchasePrice",
    "buyerEquity",
    "annualCashFlow"
  ],
  "properties": {
    "debtPayoff": {
      "type": "number",
      "default": 0,
      "maximum": 1000000000,
      "minimum": 0,
      "description": "Existing debt of the target retired at close. In US dollars."
    },
    "sellerNote": {
      "type": "number",
      "default": 0,
      "maximum": 1000000000,
      "minimum": 0,
      "description": "Seller note principal. In US dollars."
    },
    "sellerRate": {
      "type": "number",
      "default": 6,
      "maximum": 30,
      "minimum": 0,
      "description": "Seller note rate. Annual rate in percentage points. 9.25 means 9.25%."
    },
    "seniorRate": {
      "type": "number",
      "default": 9.25,
      "maximum": 30,
      "minimum": 0,
      "description": "Senior loan rate. Annual rate in percentage points. 9.25 means 9.25%."
    },
    "targetDscr": {
      "type": "number",
      "maximum": 5,
      "minimum": 0,
      "description": "A coverage target to compare against, such as 1.25."
    },
    "buyerEquity": {
      "type": "number",
      "maximum": 1000000000,
      "minimum": 0,
      "description": "Buyer cash going into the deal. In US dollars."
    },
    "otherEquity": {
      "type": "number",
      "default": 0,
      "maximum": 1000000000,
      "minimum": 0,
      "description": "Equity from anyone else: a partner, an investor, a rollover. In US dollars."
    },
    "closingCosts": {
      "type": "number",
      "default": 0,
      "maximum": 1000000000,
      "minimum": 0,
      "description": "Closing costs funded at close. In US dollars."
    },
    "seniorAmount": {
      "type": "number",
      "maximum": 1000000000,
      "minimum": 0,
      "description": "A fixed senior loan amount. Omit to solve the senior loan as the remainder. In US dollars."
    },
    "cashAvailable": {
      "type": "number",
      "maximum": 1000000000,
      "minimum": 0,
      "description": "Buyer cash on hand, to warn when the equity spends the reserve. In US dollars."
    },
    "purchasePrice": {
      "type": "number",
      "maximum": 1000000000,
      "minimum": 0,
      "description": "The purchase price. In US dollars."
    },
    "annualCashFlow": {
      "type": "number",
      "maximum": 1000000000,
      "minimum": 0,
      "description": "Annual cash flow available for debt service. In US dollars."
    },
    "workingCapital": {
      "type": "number",
      "default": 0,
      "maximum": 1000000000,
      "minimum": 0,
      "description": "Working capital funded at close, beyond anything in the price. In US dollars."
    },
    "sellerTermYears": {
      "type": "number",
      "default": 5,
      "maximum": 30,
      "minimum": 0,
      "description": "Seller note maturity. In years."
    },
    "seniorTermYears": {
      "type": "number",
      "default": 10,
      "maximum": 30,
      "minimum": 0,
      "description": "Senior loan maturity. In years."
    },
    "liquidityReserve": {
      "type": "number",
      "default": 0,
      "maximum": 1000000000,
      "minimum": 0,
      "description": "Cash the buyer intends to keep back. In US dollars."
    },
    "sellerAmortYears": {
      "type": "number",
      "default": 5,
      "maximum": 30,
      "minimum": 0,
      "description": "Seller note amortization. Longer than the maturity leaves a balloon. In years."
    },
    "seniorAmortYears": {
      "type": "number",
      "default": 10,
      "maximum": 30,
      "minimum": 0,
      "description": "Senior loan amortization. In years."
    },
    "sellerStandbyMonths": {
      "type": "integer",
      "default": 0,
      "maximum": 60,
      "minimum": 0,
      "description": "Months at the start of the seller note with no payment."
    },
    "retainedAnnualService": {
      "type": "number",
      "default": 0,
      "maximum": 1000000000,
      "minimum": 0,
      "description": "Annual payments on debt the business keeps after closing. In US dollars."
    },
    "sellerStandbyInterest": {
      "enum": [
        "none",
        "accrue-simple",
        "capitalize-monthly"
      ],
      "type": "string",
      "default": "accrue-simple",
      "description": "What happens to interest during standby months. \"none\": no interest accrues. \"accrue-simple\": interest accrues and is due at maturity. \"capitalize-monthly\": interest is added to principal each month."
    }
  }
}
build_capital_stack output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "totalUses",
    "totalSources",
    "seniorLoan",
    "fundingGap",
    "overfunded",
    "shares",
    "firstYearDebtService",
    "senior",
    "seller",
    "coverage",
    "sensitivity",
    "warnings",
    "calculatorUrl",
    "disclaimer"
  ],
  "properties": {
    "seller": {
      "type": "object",
      "required": [
        "monthlyPayment",
        "firstYearDebtService",
        "balloonAtMaturity",
        "balloonMonth",
        "totalInterestPaid",
        "totalCashRepaid",
        "months"
      ],
      "properties": {
        "months": {
          "type": "number"
        },
        "balloonMonth": {
          "type": [
            "number",
            "null"
          ]
        },
        "monthlyPayment": {
          "type": "number"
        },
        "totalCashRepaid": {
          "type": "number"
        },
        "balloonAtMaturity": {
          "type": "number"
        },
        "totalInterestPaid": {
          "type": "number"
        },
        "firstYearDebtService": {
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "senior": {
      "type": "object",
      "required": [
        "monthlyPayment",
        "firstYearDebtService",
        "balloonAtMaturity",
        "balloonMonth",
        "totalInterestPaid",
        "totalCashRepaid",
        "months"
      ],
      "properties": {
        "months": {
          "type": "number"
        },
        "balloonMonth": {
          "type": [
            "number",
            "null"
          ]
        },
        "monthlyPayment": {
          "type": "number"
        },
        "totalCashRepaid": {
          "type": "number"
        },
        "balloonAtMaturity": {
          "type": "number"
        },
        "totalInterestPaid": {
          "type": "number"
        },
        "firstYearDebtService": {
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "shares": {
      "anyOf": [
        {
          "type": "object",
          "required": [
            "buyerEquity",
            "otherEquity",
            "sellerDebt",
            "otherDebt",
            "seniorDebt"
          ],
          "properties": {
            "otherDebt": {
              "type": "number"
            },
            "sellerDebt": {
              "type": "number"
            },
            "seniorDebt": {
              "type": "number"
            },
            "buyerEquity": {
              "type": "number"
            },
            "otherEquity": {
              "type": "number"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "coverage": {
      "type": "object",
      "required": [
        "status",
        "firstYearDscr",
        "lowestFullYearDscr",
        "lowestFullYear",
        "maturityObligations",
        "shortfallYears",
        "target"
      ],
      "properties": {
        "status": {
          "type": "string"
        },
        "target": {
          "type": [
            "number",
            "null"
          ]
        },
        "firstYearDscr": {
          "type": [
            "number",
            "null"
          ]
        },
        "lowestFullYear": {
          "type": [
            "number",
            "null"
          ]
        },
        "shortfallYears": {
          "type": "array",
          "items": {
            "type": "number"
          }
        },
        "lowestFullYearDscr": {
          "type": [
            "number",
            "null"
          ]
        },
        "maturityObligations": {
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "totalUses": {
      "type": "number"
    },
    "disclaimer": {
      "type": "string"
    },
    "fundingGap": {
      "type": "number"
    },
    "overfunded": {
      "type": "number"
    },
    "seniorLoan": {
      "type": "number"
    },
    "sensitivity": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "haircut",
          "cashFlow",
          "dscr"
        ],
        "properties": {
          "dscr": {
            "type": [
              "number",
              "null"
            ]
          },
          "haircut": {
            "type": "number"
          },
          "cashFlow": {
            "type": "number"
          }
        },
        "additionalProperties": false
      }
    },
    "totalSources": {
      "type": "number"
    },
    "calculatorUrl": {
      "type": "string"
    },
    "firstYearDebtService": {
      "type": "number"
    }
  },
  "additionalProperties": false
}
build_capital_stack annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
model_acquisition_loan — Model an acquisition loan
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compute the payment and amortization of a senior acquisition loan. Takes the principal, the rate, the term and the amortization period, with an optional annual cash flow for a coverage check; returns the monthly payment, first-year debt service, total interest, any balloon at maturity and the DSCR when cash flow is given. Use when the user asks what a loan of a given size costs each month or year.

model_acquisition_loan input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "loanAmount"
  ],
  "properties": {
    "rate": {
      "type": "number",
      "default": 9.25,
      "maximum": 30,
      "minimum": 0,
      "description": "Annual interest rate. Annual rate in percentage points. 9.25 means 9.25%."
    },
    "termYears": {
      "type": "number",
      "default": 10,
      "maximum": 30,
      "minimum": 0,
      "description": "Years to maturity. In years."
    },
    "loanAmount": {
      "type": "number",
      "maximum": 1000000000,
      "minimum": 0,
      "description": "Loan principal. In US dollars."
    },
    "annualCashFlow": {
      "type": "number",
      "maximum": 1000000000,
      "minimum": 0,
      "description": "Annual cash flow available for debt service, for a coverage check. In US dollars."
    },
    "amortizationYears": {
      "type": "number",
      "maximum": 30,
      "minimum": 0,
      "description": "Years the payment amortizes over. Longer than the term leaves a balloon. Defaults to the term. In years."
    }
  }
}
model_acquisition_loan output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "principal",
    "schedule",
    "coverage",
    "warnings",
    "calculatorUrl",
    "disclaimer"
  ],
  "properties": {
    "coverage": {
      "anyOf": [
        {
          "type": "object",
          "required": [
            "status",
            "firstYearDscr",
            "lowestFullYearDscr",
            "lowestFullYear",
            "maturityObligations",
            "shortfallYears",
            "target"
          ],
          "properties": {
            "status": {
              "type": "string"
            },
            "target": {
              "type": [
                "number",
                "null"
              ]
            },
            "firstYearDscr": {
              "type": [
                "number",
                "null"
              ]
            },
            "lowestFullYear": {
              "type": [
                "number",
                "null"
              ]
            },
            "shortfallYears": {
              "type": "array",
              "items": {
                "type": "number"
              }
            },
            "lowestFullYearDscr": {
              "type": [
                "number",
                "null"
              ]
            },
            "maturityObligations": {
              "type": "number"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "schedule": {
      "type": "object",
      "required": [
        "monthlyPayment",
        "firstYearDebtService",
        "balloonAtMaturity",
        "balloonMonth",
        "totalInterestPaid",
        "totalCashRepaid",
        "months"
      ],
      "properties": {
        "months": {
          "type": "number"
        },
        "balloonMonth": {
          "type": [
            "number",
            "null"
          ]
        },
        "monthlyPayment": {
          "type": "number"
        },
        "totalCashRepaid": {
          "type": "number"
        },
        "balloonAtMaturity": {
          "type": "number"
        },
        "totalInterestPaid": {
          "type": "number"
        },
        "firstYearDebtService": {
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "principal": {
      "type": "number"
    },
    "disclaimer": {
      "type": "string"
    },
    "calculatorUrl": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
model_acquisition_loan annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
model_seller_note — Model a seller note
Advertised by the server during the last successful anonymous check.
Advertised read-only

Model seller financing in a business acquisition: amortizing or interest-only, with optional standby months and interest treatment. Returns the monthly payment, the first full amortizing year of service, the balloon due at maturity, total interest, the share of the price the note carries and coverage when cash flow is given. Use when the user asks what a seller note costs or what is owed at the end.

model_seller_note input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "noteAmount"
  ],
  "properties": {
    "noteRate": {
      "type": "number",
      "default": 6,
      "maximum": 30,
      "minimum": 0,
      "description": "Note rate. Annual rate in percentage points. 9.25 means 9.25%."
    },
    "repayment": {
      "enum": [
        "amortizing",
        "interest-only"
      ],
      "type": "string",
      "default": "amortizing",
      "description": "Amortizing payments, or interest only with principal due at maturity."
    },
    "noteAmount": {
      "type": "number",
      "maximum": 500000000,
      "minimum": 0,
      "description": "Seller note principal. In US dollars."
    },
    "maturityYears": {
      "type": "number",
      "default": 5,
      "maximum": 30,
      "minimum": 0,
      "description": "Years to maturity. In years."
    },
    "purchasePrice": {
      "type": "number",
      "maximum": 500000000,
      "minimum": 0,
      "description": "The purchase price, for the share the note carries. In US dollars."
    },
    "standbyMonths": {
      "type": "integer",
      "default": 0,
      "maximum": 60,
      "minimum": 0,
      "description": "Months at the start with no payment."
    },
    "annualCashFlow": {
      "type": "number",
      "maximum": 500000000,
      "minimum": 0,
      "description": "Annual cash flow available for debt service, for a coverage check. In US dollars."
    },
    "standbyInterest": {
      "enum": [
        "none",
        "accrue-simple",
        "capitalize-monthly"
      ],
      "type": "string",
      "default": "accrue-simple",
      "description": "What happens to interest during standby months. \"none\": no interest accrues. \"accrue-simple\": interest accrues and is due at maturity. \"capitalize-monthly\": interest is added to principal each month."
    },
    "amortizationYears": {
      "type": "number",
      "maximum": 30,
      "minimum": 0,
      "description": "Years the payment amortizes over. Ignored when interest-only. Defaults to the maturity. In years."
    },
    "existingAnnualService": {
      "type": "number",
      "maximum": 500000000,
      "minimum": 0,
      "description": "Annual service on other debt, such as the senior loan, for the coverage check. In US dollars."
    }
  }
}
model_seller_note output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "shareOfPrice",
    "schedule",
    "firstFullAmortizingYearService",
    "maturityObligation",
    "coverage",
    "warnings",
    "calculatorUrl",
    "disclaimer"
  ],
  "properties": {
    "coverage": {
      "anyOf": [
        {
          "type": "object",
          "required": [
            "status",
            "firstYearDscr",
            "lowestFullYearDscr",
            "lowestFullYear",
            "maturityObligations",
            "shortfallYears",
            "target"
          ],
          "properties": {
            "status": {
              "type": "string"
            },
            "target": {
              "type": [
                "number",
                "null"
              ]
            },
            "firstYearDscr": {
              "type": [
                "number",
                "null"
              ]
            },
            "lowestFullYear": {
              "type": [
                "number",
                "null"
              ]
            },
            "shortfallYears": {
              "type": "array",
              "items": {
                "type": "number"
              }
            },
            "lowestFullYearDscr": {
              "type": [
                "number",
                "null"
              ]
            },
            "maturityObligations": {
              "type": "number"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "schedule": {
      "type": "object",
      "required": [
        "monthlyPayment",
        "firstYearDebtService",
        "balloonAtMaturity",
        "balloonMonth",
        "totalInterestPaid",
        "totalCashRepaid",
        "months"
      ],
      "properties": {
        "months": {
          "type": "number"
        },
        "balloonMonth": {
          "type": [
            "number",
            "null"
          ]
        },
        "monthlyPayment": {
          "type": "number"
        },
        "totalCashRepaid": {
          "type": "number"
        },
        "balloonAtMaturity": {
          "type": "number"
        },
        "totalInterestPaid": {
          "type": "number"
        },
        "firstYearDebtService": {
          "type": "number"
        }
      },
      "additionalProperties": false
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "disclaimer": {
      "type": "string"
    },
    "shareOfPrice": {
      "type": [
        "number",
        "null"
      ]
    },
    "calculatorUrl": {
      "type": "string"
    },
    "maturityObligation": {
      "type": "number"
    },
    "firstFullAmortizingYearService": {
      "type": [
        "number",
        "null"
      ]
    }
  },
  "additionalProperties": false
}
model_seller_note annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
normalize_sde_valuation — Normalize SDE and value the business
Advertised by the server during the last successful anonymous check.
Advertised read-only

Normalize a seller's earnings into seller's discretionary earnings (SDE), itemizing each add-back with a conservative case alongside, then bridge to cash flow available for debt service and apply a multiple range the user supplies. Returns claimed SDE, conservative SDE, excluded double-counted adjustments, cash flow for debt service and the value range. Use when the user asks what the earnings are or what the business is worth on them. The tool does not supply industry multiples.

normalize_sde_valuation input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "baseEarnings"
  ],
  "properties": {
    "basis": {
      "enum": [
        "net-income",
        "ebitda",
        "sde"
      ],
      "type": "string",
      "default": "net-income",
      "description": "What the base earnings figure is. Add-backs already inside the basis are refused."
    },
    "cashTaxes": {
      "type": "number",
      "maximum": 500000000,
      "minimum": 0,
      "description": "Cash taxes the buyer will pay. Bridge deduction. In US dollars."
    },
    "adjustments": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "category",
          "label",
          "amount"
        ],
        "properties": {
          "label": {
            "type": "string",
            "maxLength": 80,
            "description": "A short label, such as \"Owner salary\"."
          },
          "amount": {
            "type": "number",
            "maximum": 500000000,
            "minimum": 0,
            "description": "The adjustment amount. In US dollars."
          },
          "category": {
            "enum": [
              "interest",
              "income-tax",
              "depreciation",
              "amortization",
              "owner-compensation",
              "owner-benefit",
              "nonrecurring-expense",
              "nonoperating-expense",
              "nonoperating-income"
            ],
            "type": "string"
          },
          "direction": {
            "enum": [
              "add",
              "subtract"
            ],
            "type": "string",
            "default": "add",
            "description": "Add-backs add; non-operating income subtracts."
          },
          "includeInConservative": {
            "type": "boolean",
            "default": true,
            "description": "False for an add-back a lender would likely refuse."
          }
        }
      },
      "default": [],
      "description": "The add-backs and deductions claimed."
    },
    "lowMultiple": {
      "type": "number",
      "maximum": 20,
      "minimum": 0,
      "description": "Low SDE multiple the user supplies, such as 2.5."
    },
    "baseEarnings": {
      "type": "number",
      "maximum": 500000000,
      "minimum": -500000000,
      "description": "The base earnings figure, in US dollars. May be negative."
    },
    "highMultiple": {
      "type": "number",
      "maximum": 20,
      "minimum": 0,
      "description": "High SDE multiple the user supplies, such as 3.5."
    },
    "maintenanceCapex": {
      "type": "number",
      "maximum": 500000000,
      "minimum": 0,
      "description": "Annual maintenance capital spending. Bridge deduction. In US dollars."
    },
    "replacementManagement": {
      "type": "number",
      "maximum": 500000000,
      "minimum": 0,
      "description": "Market cost of a manager to replace the owner. Bridge deduction. In US dollars."
    },
    "workingCapitalIncrease": {
      "type": "number",
      "maximum": 500000000,
      "minimum": 0,
      "description": "Annual working capital the business absorbs. Bridge deduction. In US dollars."
    }
  }
}
normalize_sde_valuation output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "baseEarnings",
    "claimedSde",
    "conservativeSde",
    "excluded",
    "cashFlowForDebtService",
    "unresolvedBridge",
    "valueRange",
    "warnings",
    "calculatorUrl",
    "disclaimer"
  ],
  "properties": {
    "excluded": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "label",
          "category",
          "amount"
        ],
        "properties": {
          "label": {
            "type": "string"
          },
          "amount": {
            "type": "number"
          },
          "category": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "string"
          },
          "message": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "claimedSde": {
      "type": "number"
    },
    "disclaimer": {
      "type": "string"
    },
    "valueRange": {
      "anyOf": [
        {
          "type": "object",
          "required": [
            "low",
            "high"
          ],
          "properties": {
            "low": {
              "type": "number"
            },
            "high": {
              "type": "number"
            }
          },
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "baseEarnings": {
      "type": "number"
    },
    "calculatorUrl": {
      "type": "string"
    },
    "conservativeSde": {
      "type": "number"
    },
    "unresolvedBridge": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "cashFlowForDebtService": {
      "type": [
        "number",
        "null"
      ]
    }
  },
  "additionalProperties": false
}
normalize_sde_valuation annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
screen_sba_eligibility — Screen baseline SBA 7(a) eligibility
Advertised by the server during the last successful anonymous check.
Advertised read-only

Screen a business acquisition against baseline SBA 7(a) requirements: ownership citizenship, loan size, for-profit US operation, size standard, change of ownership, existing SBA debt, equity injection, seller note standby and credit elsewhere. Returns each rule as pass, review or constraint, with its source and verification status. This is a screen, not an eligibility finding: most rules route to review, and no answer produces "eligible". Use when the user asks whether an SBA loan is an option.

screen_sba_eligibility input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "citizenship": {
      "enum": [
        "yes",
        "no",
        "unknown"
      ],
      "type": "string",
      "description": "Is every individual owner, direct or indirect, a US citizen or US national with their principal residence in the United States, its territories or possessions? Leave out when the user has not said."
    },
    "loan-amount": {
      "type": "number",
      "maximum": 1000000000,
      "minimum": 0,
      "description": "How much 7(a) principal would you be requesting? In US dollars."
    },
    "for-profit-us": {
      "enum": [
        "yes",
        "no",
        "unknown"
      ],
      "type": "string",
      "description": "Is the target an operating, for-profit business located in the United States? Leave out when the user has not said."
    },
    "size-standard": {
      "enum": [
        "yes",
        "no",
        "unknown"
      ],
      "type": "string",
      "description": "Does the target meet the SBA size standard for its industry? Leave out when the user has not said."
    },
    "credit-elsewhere": {
      "enum": [
        "yes",
        "no",
        "unknown"
      ],
      "type": "string",
      "description": "Could the buyer obtain this financing on reasonable terms without an SBA guaranty? Leave out when the user has not said."
    },
    "equity-injection": {
      "enum": [
        "yes",
        "no",
        "unknown"
      ],
      "type": "string",
      "description": "Is the required equity injection available as the buyer’s own cash? Leave out when the user has not said."
    },
    "existing-sba-debt": {
      "enum": [
        "yes",
        "no",
        "unknown"
      ],
      "type": "string",
      "description": "Does the buyer, or any affiliate, already have an SBA loan outstanding? Leave out when the user has not said."
    },
    "change-of-ownership": {
      "enum": [
        "yes",
        "no",
        "unknown"
      ],
      "type": "string",
      "description": "Is this a complete change of ownership — the buyer acquiring 100% of the business? Leave out when the user has not said."
    },
    "seller-note-standby": {
      "enum": [
        "yes",
        "no",
        "unknown"
      ],
      "type": "string",
      "description": "Does the structure rely on a seller note counting toward the equity injection? Leave out when the user has not said."
    }
  }
}
screen_sba_eligibility output schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "outcome",
    "headline",
    "rules",
    "verifiedRuleCount",
    "informationalRuleCount",
    "calculatorUrl",
    "disclaimer"
  ],
  "properties": {
    "rules": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "question",
          "status",
          "explanation",
          "verified",
          "sources"
        ],
        "properties": {
          "id": {
            "type": "string"
          },
          "status": {
            "enum": [
              "pass",
              "review",
              "constraint",
              "not-applicable"
            ],
            "type": "string"
          },
          "sources": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "label",
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string"
                },
                "label": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "question": {
            "type": "string"
          },
          "verified": {
            "type": "boolean"
          },
          "explanation": {
            "type": "string"
          }
        },
        "additionalProperties": false
      }
    },
    "outcome": {
      "enum": [
        "constraint-detected",
        "review-required",
        "potential-fit"
      ],
      "type": "string"
    },
    "headline": {
      "type": "string"
    },
    "disclaimer": {
      "type": "string"
    },
    "calculatorUrl": {
      "type": "string"
    },
    "verifiedRuleCount": {
      "type": "number"
    },
    "informationalRuleCount": {
      "type": "number"
    }
  },
  "additionalProperties": false
}
screen_sba_eligibility annotations
{
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (1 of 1 answered).

  1. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
534 ms
95th percentile latency
534 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 534 ms · metadata changed · 6 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http duneland-financial-mcp https://dunelandfinancial.com/api/mcp/

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add duneland-financial-mcp --url https://dunelandfinancial.com/api/mcp/

Cursor

Merge this server into .cursor/mcp.json in your project, then enable duneland-financial-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "duneland-financial-mcp": {
      "url": "https://dunelandfinancial.com/api/mcp/"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "duneland-financial-mcp": {
      "type": "streamableHttp",
      "url": "https://dunelandfinancial.com/api/mcp/",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start duneland-financial-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "duneland-financial-mcp": {
      "type": "http",
      "url": "https://dunelandfinancial.com/api/mcp/"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http duneland-financial-mcp https://dunelandfinancial.com/api/mcp/

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://dunelandfinancial.com/api/mcp/

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "duneland-financial-mcp": {
      "serverUrl": "https://dunelandfinancial.com/api/mcp/"
    }
  }
}

Let your agent find its tools

Find servers like Duneland Financial MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Duneland Financial MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing