mortgage-mcp
Geocodes property addresses and retrieves nearby places (schools, hospitals, banks, transit) and route information for locality analysis.
Persists and queries property, customer, document, inspection, and loan application data.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mortgage-mcpEvaluate the loan application for customer 1001 on property 2002."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Mortgage MCP Server
An MCP (Model Context Protocol) server for mortgage loan processing, built with the official Python MCP SDK (FastMCP). Modeled on how an enterprise mortgage system is architected: an AI assistant only ever sees a small set of high-level business tools, while all database access, third-party API calls, and financial logic stay in an internal service layer.
Exposed MCP Tools
Only these six tools are registered on the server — everything else is an internal Python function that Claude/the LLM never sees directly:
Tool | Purpose |
| Retrieve full property info, geocoding on first lookup only |
| Nearby schools, hospitals, banks, transit, etc. in one response |
| Check sale deed / owner ID / tax receipt exist |
| Create a site inspection |
| Full DTI/LTV/EMI/risk evaluation |
| Build the consolidated PDF mortgage report |
Related MCP server: home-slice-mcp
Project Layout
mortgage_mcp/
├── server.py # MCP server entry point — wiring only
├── config.py # Loads .env, exposes typed settings
├── db.py # MySQL connection pool + query helpers
├── requirements.txt
├── .env.example
├── database/
│ └── schema.sql # Normalized MySQL schema
├── services/ # ALL business logic lives here (never MCP tools)
│ ├── customer_service.py
│ ├── property_service.py
│ ├── maps_service.py # Google Geocoding / Places (New) / Routes
│ ├── document_service.py
│ ├── inspection_service.py
│ ├── loan_service.py
│ └── report_service.py
├── tools/
│ └── mortgage_tools.py # The ONLY module defining MCP tools (thin)
├── documents/ # documents/property_<id>/{sale_deed,owner_id,tax_receipt}.pdf
├── inspections/ # inspection report text files
└── reports/ # generated PDF mortgage reportsSetup
Install dependencies
pip install -r requirements.txtCreate the database
mysql -u root -p < database/schema.sqlConfigure environment
cp .env.example .env # then edit .env with your DB credentials and Google Maps API keyYour Google Cloud project needs the Geocoding API, Places API (New), and Routes API enabled for the key in
GOOGLE_MAPS_API_KEY.Seed sample data (optional)
Insert a customer and property manually via MySQL, or add a small seed script —
services/customer_service.insert_customer()andservices/property_service.insert_property()are ready to use for this.Run the server
python server.pyOr, for local development with the MCP Inspector:
mcp dev server.pyConnect from Claude Desktop / another MCP client
Add an entry to your client's MCP config pointing at this server, e.g. for Claude Desktop's
claude_desktop_config.json:{ "mcpServers": { "mortgage-mcp": { "command": "python", "args": ["/absolute/path/to/mortgage_mcp/server.py"] } } }
Design Notes
Tools stay thin. Every function in
tools/mortgage_tools.pydoes input validation, calls one or more service functions, and returns a JSON-serializable dict. No SQL and norequestscalls appear in that file.Geocoding is cached.
properties.latitude/longitudeare only populated once, on firstlookup_property/analyze_localitycall for an address; subsequent calls read straight from MySQL.Document verification is a seam, not a dead end.
document_service.pycurrently only checks file existence, butverify_sale_deed(),verify_owner_id(), andverify_tax_receipt()are separate functions specifically so OCR or AI-based content verification can be dropped into each one independently later, without touchingverify_documents()'s MCP interface.Loan policy is configurable, not hard-coded. Max LTV/DTI ratios, minimum credit score, and the base interest rate all come from
.envviaconfig.LoanPolicyConfig, so bank rules can be tuned without code changes.Reports are self-contained.
generate_final_reportrecomputes the loan evaluation at report-build time (viareport_service.py) so the PDF always reflects current data rather than a stale snapshot.
Extending
Add new MCP tools only in
tools/mortgage_tools.py, keeping them thin.Add new business logic as functions inside the relevant
services/*.pymodule (or a new service module) — never inline in the tool layer.New database tables/columns go in
database/schema.sqlplus a matching service module function; keep raw SQL out oftools/and out ofserver.py.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityCmaintenanceMCP server for generating PDF reports on real estate properties. Supports location analysis, market reports, and project summaries.Last updatedMozilla Public 2.0
- Flicense-qualityDmaintenanceMCP server providing mortgage calculation tools and live interest rates from Home Slice.Last updated
- Flicense-qualityCmaintenanceA production-grade MCP server enabling Claude to perform comprehensive NJ real estate workflows including property search, valuation, neighborhood intelligence, investment analysis, and agent tools via 20 tools and 15+ data sources.Last updated
- FlicenseAqualityBmaintenanceMCP server for real estate checktime, providing pre/post-contract checklists, required documents, and timeline generation as MCP tools.Last updated6
Related MCP Connectors
Real estate MCP server for Morocco — search, valuation, market analysis, 17 tools.
MCP Server for agents to onboard, pay, and provision services autonomously with InFlow
MCP server giving Claude AI access to 22+ NYC public-record databases for real estate due diligence
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Prithvi9x/mortgage-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server