Back to Browse

Contractors App MCP Server

Developer ToolsModerate5.2MCP RegistryLocalRemote
Free

Server data from the Official MCP Registry

Monte Carlo tools: three-point cost estimation and an educational retirement drawdown simulator.

About

Monte Carlo tools: three-point cost estimation and an educational retirement drawdown simulator.

Remote endpoints: streamable-http: https://lowriskquotes.com/api/mcp/

Security Report

5.2
Moderate5.2Moderate Risk

This is a legitimate contractor cost estimation web application built with Next.js and React. The codebase is clean with appropriate dependencies, no malicious patterns, proper separation of concerns, and sensible permissions for its purpose (offline-first estimation tool with local storage). Minor code quality improvements suggested but no security vulnerabilities identified. Supply chain analysis found 7 known vulnerabilities in dependencies (1 critical, 3 high severity).

4 files analyzed · 11 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

File System Read

Reads files on your machine. Normal for tools that analyze or process local data.

File System Write

Writes or modifies files on your machine. Check that this is expected for the tool.

env_vars

Check that this permission is expected for this type of plugin.

How to Install & Connect

Available as Local & Remote

This plugin can run on your machine or connect to a hosted endpoint. during install.

Documentation

View on GitHub

From the project's GitHub README.

EstiMate

A mobile-first contractor cost estimation app that uses Monte Carlo simulation to provide probabilistic risk analysis for job quotes. Built natively for iOS (SwiftUI) and Android (Jetpack Compose).

Overview

EstiMate helps tradespeople and contractors move beyond single-point estimates to understand the range of likely costs and risks. Instead of guessing a single number, you input your estimates with uncertainty levels, and the app runs thousands of simulations to show you the probability distribution of total costs.

Key Value Propositions:

  • Offline-first, no login required
  • Sophisticated risk analysis on mobile (usually reserved for enterprise desktop software)
  • Helps contractors avoid under-quoting with statistically safe quote recommendations
  • Generates professional PDF quotes for clients

Features

Core Estimation

  • Project Management - Create, save, and manage multiple project estimates
  • Line Items - Add materials, labor, subcontractors, and other costs
  • Risk Levels - 5-tier uncertainty system:
    • Certain (±2%) - Fixed/contracted prices
    • Low (±8%) - Known suppliers with stable pricing
    • Medium (±15%) - Standard market variability
    • High (±25%) - Volatile or uncertain costs
    • Wild Guess (±40%) - Unknown scope items

Duration & Travel Estimation

  • Job Duration - Estimated days with complexity levels (Routine ±10% to Unknown Scope ±60%)
  • Labor Configuration - Hourly rates, hours per day, extra workers
  • Travel Costs - One-way travel time, traffic variability, site visits, mileage tracking
  • Correlation Modeling - Duration uncertainty automatically affects travel costs

Monte Carlo Simulation

  • 1,000+ iterations with convergence detection
  • Skewed distribution toward overages (realistic for construction projects)
  • Percentile outputs: P10, P50, P80, P90, P95
  • Cost breakdown by category (Materials, Duration, Travel)
  • Standard deviation and confidence level calculations

Results & Export

  • Bell Curve Visualization - Color-coded histogram of cost distribution
  • Quote Recommendations - Conservative (P50), Recommended (P80), Safe (P90)
  • PDF Export - Professional client-facing quotes with cost breakdowns
  • Share - Export via platform share sheets

Internationalization

RegionCurrencyDistanceTerminology
USUSD ($)MilesContractor, Labor
UKGBP (£)MilesTradesperson, Labour
CanadaCAD ($)KilometersContractor, Labour
AustraliaAUD ($)KilometersTradie, Labour
New ZealandNZD ($)KilometersTradie, Labour

Tech Stack

iOS

  • Language: Swift
  • UI Framework: SwiftUI
  • Architecture: MVVM
  • Min iOS: 14.0+
  • Storage: UserDefaults (local only)
  • PDF: PDFKit/UIGraphicsPDFRenderer
  • Charts: Apple Charts framework (iOS 16.4+)

Android

  • Language: Kotlin
  • UI Framework: Jetpack Compose
  • Architecture: MVVM with ViewModel + StateFlow
  • Min SDK: 26 (Android 8.0)
  • Target SDK: 34 (Android 14)
  • Storage: SharedPreferences + GSON
  • PDF: iText 7
  • Navigation: Jetpack Navigation Compose

Project Structure

contractors_app/
├── ios/RiskEstimator/           # iOS application
│   └── RiskEstimator/
│       ├── RiskEstimatorApp.swift      # App entry point
│       ├── ContentView.swift           # Root navigation
│       ├── ViewModels/
│       │   └── EstimatorViewModel.swift
│       ├── Models/
│       │   ├── Project.swift
│       │   ├── LineItem.swift
│       │   ├── Worker.swift
│       │   └── SimulationResult.swift
│       ├── Services/
│       │   ├── MonteCarloEngine.swift
│       │   ├── StorageService.swift
│       │   └── PDFService.swift
│       ├── Views/
│       │   ├── Screens/
│       │   │   ├── HomeScreen.swift
│       │   │   ├── EstimatorScreen.swift
│       │   │   └── ResultsScreen.swift
│       │   └── Components/
│       │       ├── RiskSlider.swift
│       │       ├── ComplexitySlider.swift
│       │       ├── TrafficSlider.swift
│       │       ├── BellCurveChart.swift
│       │       └── ...
│       └── Utils/
│           ├── Localization.swift
│           └── CurrencyFormatter.swift
│
├── android/RiskEstimator/       # Android application
│   └── app/src/main/java/com/riskestimator/app/
│       ├── MainActivity.kt
│       ├── ui/
│       │   ├── RiskEstimatorApp.kt
│       │   ├── EstimatorViewModel.kt
│       │   ├── screens/
│       │   │   ├── HomeScreen.kt
│       │   │   ├── EstimatorScreen.kt
│       │   │   └── ResultsScreen.kt
│       │   ├── components/
│       │   │   ├── RiskSlider.kt
│       │   │   ├── BellCurveChart.kt
│       │   │   └── ...
│       │   └── theme/
│       ├── data/
│       │   ├── model/
│       │   └── repository/
│       └── domain/
│           ├── MonteCarloEngine.kt
│           └── PDFService.kt
│
├── icons/                       # App icon assets
├── PROGRESS.md                  # Project roadmap & status
└── contractor_app_market_research.md

Architecture

Both platforms follow the MVVM (Model-View-ViewModel) pattern:

┌─────────────────────────────────────────────────────────┐
│                         Views                            │
│  (SwiftUI Views / Jetpack Compose Screens)              │
└─────────────────────────────────────────────────────────┘
                          │
                          ▼
┌─────────────────────────────────────────────────────────┐
│                     ViewModel                            │
│  - Manages UI state                                      │
│  - Coordinates between Views and Services               │
│  - Triggers simulations                                  │
└─────────────────────────────────────────────────────────┘
                          │
          ┌───────────────┼───────────────┐
          ▼               ▼               ▼
┌─────────────────┐ ┌───────────┐ ┌─────────────────┐
│ MonteCarloEngine│ │StorageRepo│ │   PDFService    │
│                 │ │           │ │                 │
│ - Simulation    │ │ - CRUD    │ │ - Generate PDF  │
│ - Statistics    │ │ - Persist │ │ - Export        │
└─────────────────┘ └───────────┘ └─────────────────┘
                          │
                          ▼
┌─────────────────────────────────────────────────────────┐
│                        Models                            │
│  Project, LineItem, Worker, SimulationResult            │
└─────────────────────────────────────────────────────────┘

Data Models

Project

struct Project {
    id: UUID
    name: String
    clientName: String
    createdAt: Date
    profitMargin: Double        // Default 15%
    lineItems: [LineItem]
    workers: [Worker]           // iOS only
    estimatedDays: Double
    complexityLevel: ComplexityLevel
    hourlyLaborRate: Double
    hoursPerDay: Double
    travelTimeMinutes: Double
    trafficVariability: TrafficVariability
    numberOfSiteVisits: Int     // 0 = auto-calculate
    includeReturnTrip: Bool
    mileageRate: Double
    distance: Double
}

LineItem

struct LineItem {
    id: UUID
    name: String
    estimatedCost: Double
    category: ItemCategory      // Material, Labor, Subcontractor, Other
    riskLevel: RiskLevel        // Certain, Low, Medium, High, WildGuess
}

SimulationResult

struct SimulationResult {
    simulations: [Double]       // All iteration results
    percentile10/50/80/90/95: Double
    mean: Double
    standardDeviation: Double
    min, max: Double
    // Category breakdowns
    materialCostP50/P80: Double
    durationCostP50/P80: Double
    travelCostP50/P80: Double
    iterationsRun: Int
    isConverged: Bool
}

Risk/Variance Multipliers

LevelVarianceUse Case
Certain±2%Fixed contracts, locked prices
Low±8%Reliable suppliers, stable costs
Medium±15%Standard market variability
High±25%Volatile materials, uncertain labor
Wild Guess±40%Unknown scope, new vendors
ComplexityVarianceUse Case
Routine±10%Repeat jobs, familiar scope
Moderate±25%Standard projects
Complex±40%Multi-trade, custom work
Unknown Scope±60%Discovery needed, unknowns
TrafficVarianceUse Case
Predictable±10%Rural, fixed schedule
Variable±25%Suburban, normal traffic
High Variability±50%Urban, rush hour

Getting Started

iOS

  1. Open ios/RiskEstimator/RiskEstimator.xcodeproj in Xcode
  2. Select your target device or simulator
  3. Build and run (⌘R)

Requirements:

  • Xcode 14.0+
  • iOS 14.0+ deployment target
  • Swift 5.0+

Android

  1. Open android/RiskEstimator in Android Studio
  2. Sync Gradle files
  3. Select your target device or emulator
  4. Build and run

Requirements:

  • Android Studio Hedgehog or later
  • JDK 17
  • Android SDK 26+ (min) / 34 (target)

Monte Carlo Simulation

The simulation engine uses the Box-Muller transform to generate normally distributed random values with optional skew toward overages (reflecting real-world project behavior).

Algorithm

For each iteration (1,000 - 10,000):
    1. For each line item:
       - Generate random variance based on risk level
       - Apply skewed normal distribution (bias toward overages)
       - Calculate simulated cost

    2. For duration:
       - Generate random variance based on complexity
       - Calculate labor cost = days × hours × rate

    3. For travel:
       - Correlate visits with duration uncertainty
       - Generate traffic variance
       - Calculate travel time + mileage costs

    4. Sum all costs + profit margin

Calculate statistics from all iterations
Check for convergence (P80 standard error < 0.5%)

Convergence Detection

The engine runs adaptively:

  • Minimum: 1,000 iterations
  • Maximum: 10,000 iterations
  • Stops early if P80 estimate stabilizes (standard error < 0.5%)

PDF Generation

Quotes are generated for client presentation:

  • Professional formatting with project details
  • Cost breakdown by category
  • Profit margin folded into category costs (hidden from client)
  • No Monte Carlo jargon - just clear pricing
  • Exportable via platform share sheets

Storage

Both platforms use local-only storage:

  • iOS: UserDefaults with Codable serialization
  • Android: SharedPreferences with GSON

No cloud sync, no server required - works fully offline in the field.

Current Status

Version: 1.1 (MVP Feature-Complete)

Completed

  • Full CRUD on projects
  • Monte Carlo engine with convergence detection
  • 5-tier risk system
  • Duration and travel uncertainty
  • Cost breakdown by category
  • PDF export
  • Multi-region/currency support

Roadmap (Phase 3)

  • Unit tests for simulation engine
  • Comprehensive error handling
  • Input validation
  • Crash reporting integration
  • Android release minification

See PROGRESS.md for detailed roadmap.

License

Proprietary - All rights reserved.

Reviews

No reviews yet

Be the first to review this server!