MCP Server (Mortgage Comparison Platform)
LocalAbout MCP Server (Mortgage Comparison Platform)
An MCP server for processing mortgage documents, intended for loan analysis, compliance review, and automation workflows. It converts Loan Estimates and Closing Disclosures to MISMO-compliant JSON and includes TRID tolerance checks, schema resources, and analysis prompts.
Key features
- 01Parses Loan Estimates and Closing Disclosures
- 02Produces MISMO-compliant JSON
- 03Checks TRID tolerance violations
- 04Provides MISMO schemas and terminology resources
- 05Includes loan analysis prompts
- 06Validates URLs, file size, and PDFs
Use cases
- 01Extract key terms from a Loan Estimate
- 02Compare estimates with disclosures for compliance
- 03Reference MISMO schemas and terminology in loan analysis
MCP support
It exposes document-parsing, TRID comparison, and connectivity-test tools to MCP clients, along with MISMO schemas, terminology resources, and analysis prompts.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP Mortgage Server
A Model Context Protocol (MCP) server for parsing and analyzing mortgage documents (Loan Estimates & Closing Disclosures) using MISMO standards.
🎯 What is This?
This is a Model Context Protocol (MCP) server that allows AI assistants (like Claude Desktop, OpenAI Agents, etc.) to parse and analyze mortgage documents. It converts Loan Estimates (LE) and Closing Disclosures (CD) into structured MISMO-compliant JSON, and checks for TRID compliance violations.
Key Features
✅ MCP-Compliant - Works natively with Claude Desktop, OpenAI Agents SDK, and other MCP clients ✅ Secure - URL validation, SSRF prevention, file size limits, timeout protection ✅ Type-Safe - Pydantic models ensure data validation ✅ TRID Compliance - Automated tolerance checking (zero-tolerance, 10% tolerance) ✅ Resources - Access to MISMO schemas and mortgage glossary ✅ Prompts - Pre-built workflows for loan analysis
🚀 Quick Start
Prerequisites
- Python 3.10 or higher
- Claude Desktop (recommended) or another MCP-compatible client
Installation
-
Clone the repository:
git clone https://github.com/confersolutions/mcp-mortgage-server.git cd mcp-mortgage-server -
Install dependencies:
pip install -r requirements.txt -
Test the server:
python test_server.pyYou should see:
✓ All tests passed! Server is ready for MCP client connections!
Usage with Claude Desktop
-
Locate your Claude Desktop config file:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json
- macOS:
-
Add this server:
{ "mcpServers": { "mortgage": { "command": "python", "args": ["/full/path/to/mcp-mortgage-server/server.py"] } } } -
Restart Claude Desktop
-
Use it in Claude:
Can you parse this loan estimate and summarize the key terms? URL: https://storage.googleapis.com/mortgage-docs/sample-le.pdfClaude will automatically call the appropriate MCP tool and parse the document.
🛠️ Available Tools
1. hello
Simple connectivity test.
Input: { "name": "World" }
Output: "Hello, World! MCP server is working correctly."
2. parse_loan_estimate
Parse a Loan Estimate PDF into MISMO-compliant JSON.
Input:
{
"pdf_url": "https://storage.googleapis.com/mortgage-docs/le-12345.pdf"
}
Output:
{
"loan_amount": 300000.0,
"interest_rate": 6.5,
"apr": 6.73,
"monthly_payment": 1896.20,
"total_closing_costs": 12000.00,
"origination_charges": 1500.00,
...
}
Security: Only HTTPS URLs from whitelisted domains. 10MB size limit, 30s timeout.
3. parse_closing_disclosure
Parse a Closing Disclosure PDF into MISMO-compliant JSON.
Similar to parse_loan_estimate but for final closing documents.
4. compare_le_cd
Compare Loan Estimate vs Closing Disclosure for TRID compliance.
Input:
{
"loan_estimate_url": "https://storage.googleapis.com/docs/le.pdf",
"closing_disclosure_url": "https://storage.googleapis.com/docs/cd.pdf"
}
Output:
{
"is_compliant": false,
"violations": [
{
"type": "zero_tolerance",
"fee": "Origination Charges",
"le_amount": 1500.00,
"cd_amount": 1600.00,
"amount_over": 100.00,
"description": "Origination Charges increased by $100.00"
}
],
"summary": "✗ NOT COMPLIANT: 1 violation(s) found"
}
📚 Resources
The server provides read-only resources:
mortgage://schemas/mismo-le- MISMO 3.4 Loan Estimate schemamortgage://schemas/mismo-cd- MISMO 3.4 Closing Disclosure schemamortgage://glossary/terms- Mortgage terminology definitions
💡 Prompts
Pre-built workflows:
analyze_loan_estimate
Arguments: { "analysis_type": "comprehensive" }
Types: quick, comprehensive, compliance
🔒 Security
Built-in Protections
- ✅ HTTPS only - HTTP URLs are rejected
- ✅ Domain whitelist - Only approved storage domains (prevents SSRF attacks)
- ✅ File size limits - 10MB maximum
- ✅ Timeout protection - 30-second download timeout
- ✅ PDF validation - Checks magic bytes
- ✅ Type safety - All inputs/outputs validated with Pydantic
Allowed Domains
By default:
storage.googleapis.coms3.amazonaws.commortgage-docs.confer.ai
To add more, set ALLOWED_DOMAINS environment variable.
🧪 Development
Run Tests
# Quick test suite
python test_server.py
# Full pytest suite
pytest tests/ -v
Test with MCP Inspector
npm install -g @modelcontextprotocol/inspector
npx @modelcontextprotocol/inspector python server.py
📈 Roadmap
✅ v2.0.0 (Current)
- Modern MCP protocol implementation
- Basic tool definitions with stub data
- Security controls
- Resources and prompts
- Type-safe data models
🚧 v2.1.0 (In Progress)
- Real PDF parsing (AI-powered or PyMuPDF)
- Comprehensive test suite
- Performance optimizations
🔮 v2.2.0 (Planned)
- Streaming support
- Progress notifications
- Background task queue
- Additional mortgage analysis tools
🔄 Migrating from v0.1.0
If upgrading from the old REST API version:
- See MIGRATION_GUIDE.md - Step-by-step instructions
- See MODERNIZATION_SUMMARY.md - Analysis of changes
Key Changes:
- ❌ Removed FastAPI/HTTP REST API
- ✅ Added MCP protocol (JSON-RPC 2.0 via stdio)
- ✅ Removed API key authentication
- ✅ Added type-safe tool definitions
- ✅ Added resources and prompts
📖 Documentation
- MCP Specification - Official protocol spec
- MIGRATION_GUIDE.md - Detailed migration instructions
- MODERNIZATION_SUMMARY.md - Modernization analysis
🤝 Contributing
We welcome contributions! See CONTRIBUTING.md for guidelines.
📄 License
MIT License - see LICENSE file for details.
🏢 About
Maintained by Confer Solutions
Contact: [email protected]
⭐ Changelog
v2.0.0 (2025-11-16) - Modern MCP Protocol
Major Rewrite: Complete architectural modernization to MCP specification 2025-03-26.
Added:
- MCP protocol support (JSON-RPC 2.0 via stdio)
- Four tools: hello, parse_loan_estimate, parse_closing_disclosure, compare_le_cd
- Resources: MISMO schemas, mortgage glossary
- Prompts: analyze_loan_estimate
- Security: URL validation, SSRF prevention, size limits
- Type safety: Pydantic models
Removed:
- FastAPI/HTTP REST API
- API key authentication
- Rate limiting
- Static JSON configuration
Changed:
- Server: FastAPI → Official MCP SDK
- Transport: HTTP → stdio
- Dependencies: 15+ → 6 core packages
v0.1.0 (2024-04-12) - Initial Release
Deprecated: REST API version. Use v2.0.0+.
Status: ✅ Active Development | 🏗️ Beta | 📦 Production-Ready Core
Last Updated: November 16, 2025
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.