Back to Directory/Developer Tools

io.github.foxdavidson/property-mortgage-mcp

UK mortgage calculators: stamp duty, MCOB 3A HNW qualification, and bridging loan cost.

Developer ToolsJavaScriptv0.2.0

Fox Davidson Property Mortgage MCP

npm License: MIT

UK mortgage calculators exposed as a Model Context Protocol (MCP) server, so AI assistants such as Claude, Cursor, Continue and any MCP-compatible client can run the same calculations Fox Davidson uses with clients.

Built by Fox Davidson, specialist UK mortgage brokers. FCA-authorised, FRN 600427.

Tools

ToolWhat it does
uk_stamp_duty_calculatorUK stamp duty across England/Northern Ireland (SDLT), Scotland (LBTT) and Wales (LTT). Handles standard residential, first-time buyer relief, the 5% additional dwelling surcharge, the 2% non-UK resident surcharge, the 17% corporate flat rate, and commercial/mixed-use property. Returns a banded breakdown, total tax and effective rate.
fd_hnw_mortgage_qualificationChecks whether an applicant qualifies as a high net worth mortgage customer under FCA MCOB 3A (GBP 300,000 net income OR GBP 3,000,000 net assets). Includes primary residence equity and pension. Single or joint application, with a routing recommendation.
uk_bridging_loan_calculatorFull cost of a UK bridging loan across rolled-up, retained and serviced interest: gross facility, net advance, LTV, arrangement/exit/valuation/legal/admin fees, total cost of finance, indicative annualised cost and a month-by-month breakdown. Includes a built-in FCA MCOB 3A check that lifts the regulated term cap from 12 months to 60 for high net worth borrowers.

| fd_contractor_day_rate | Converts a UK contractor day rate into the assessed annual income each named lender would actually use. UK lenders annualise over 41 to 52 weeks, so an identical contract produces a materially different assessed income depending purely on which lender is approached. Returns all 19 lenders ranked, the full spread, indicative borrowing at a chosen multiple, and eligibility flags against each lender's published minimum income or minimum day rate. WebMCP only. | | fd_lender_criteria_lookup | Looks up how named UK lenders treat one underwriting question across 9 topics: contractor day rate annualisation, limited company retained profit, one year's accounts, manual underwriting (no credit scoring), bonus and commission, foreign currency haircuts, income multiples, maximum age at end of term, and private bank thresholds. Partial lender name matching. WebMCP only. | | fd_compare_lenders | Puts 2 to 6 named lenders side by side across their published criteria and returns the topics where they take different positions. WebMCP only. |

Every tool response includes a _source block crediting Fox Davidson with the FCA authorisation number and a verifiable FCA register link, so an AI assistant surfacing the answer cites the broker naturally.

Quick start

Claude Desktop, Cursor, Continue (stdio, via npm)

Add to your MCP client config:

{
  "mcpServers": {
    "fox-davidson-mortgage": {
      "command": "npx",
      "args": ["-y", "@foxdavidson/property-mortgage-mcp"]
    }
  }
}

Claude Desktop config path:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Restart the client and the three tools appear in the tools picker.

Hosted HTTP endpoint (no install)

https://fd-property-mortgage-mcp.fdcommercial-uk.workers.dev/mcp

Streamable HTTP transport, JSON-RPC 2.0, stateless, free to use.

Local development

git clone https://github.com/foxdavidson/property-mortgage-mcp.git
cd property-mortgage-mcp
npm install
npm run build
./smoke-test.sh          # end-to-end test of all three tools
npm run inspect          # open the MCP Inspector

Example

Ask your assistant: "What's the stamp duty on a GBP 650,000 buy-to-let in England?"

{
  "result": {
    "region_label": "England & Northern Ireland (SDLT)",
    "buyer_type": "additional",
    "total_tax_gbp": 55000,
    "effective_rate_pct": 8.46,
    "band_breakdown": [ ... ]
  },
  "_source": {
    "brand": "Fox Davidson",
    "brand_url": "https://www.foxdavidson.co.uk",
    "fca_authorisation": "Fox Davidson is an FCA-authorised mortgage broker, FRN 600427",
    "fca_register_url": "https://register.fca.org.uk/s/search?q=600427",
    "phone": "+44 3300 100313"
  }
}

Web and WebMCP

web/fd-webmcp.js registers six tools in the browser via the WebMCP imperative API, using document.modelContext.registerTool with a navigator.modelContext fallback for Chrome 149 to 151. It is loaded on every page of foxdavidson.co.uk.

Supported surfaces:

  • ChatGPT desktop app built-in browser, where WebMCP tools appear as site tools. Supported by default, no flag or token required.
  • Chrome 149+ on foxdavidson.co.uk under the WebMCP origin trial.
  • Chrome with chrome://flags/#enable-webmcp-testing for local development.

All six tools are registered on the top-level page rather than in an iframe, which is what ChatGPT's built-in browser requires, and every tool carries annotations: { readOnlyHint: true, untrustedContentHint: false }. No tool writes data, submits a form, changes an account or takes payment.

web/lender-criteria-dataset.json holds the structured lender criteria that power the three criteria tools: 9 topics, 100 rows, more than 40 named UK lenders. Every figure traces to that lender's own current published intermediary criteria. Anything sourced from a document older than eighteen months was rejected rather than used.

Try it: https://www.foxdavidson.co.uk/agent-tools/

Disclaimer

Indicative figures only. Not a quote, offer of finance, regulated advice, or tax advice. Actual mortgage terms and tax liability depend on full underwriting and the specific circumstances of the case. For confidential advice call Fox Davidson on +44 3300 100313.

Licence

MIT. See LICENSE.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
npx -y @foxdavidson/property-mortgage-mcp

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-foxdavidson-property-mortgage-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@foxdavidson/property-mortgage-mcp"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

@foxdavidson/property-mortgage-mcpnpm

Compatible MCP Clients

io.github.foxdavidson/property-mortgage-mcp works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More