mcpField
L
lowriskquotes-montecarlo

lowriskquotes-montecarlo

リモート
lowriskquotes.comビジネス・マーケティング02 週間前に更新
リポジトリ公式サイト

lowriskquotes-montecarlo について

EstiMateは、建設業者や職人向けのiOS・Android用コスト見積もりアプリです。モンテカルロシミュレーションでコスト範囲とリスクに応じた見積もりを示し、オフラインでのプロジェクト保存とPDF出力に対応します。

主な機能

  1. 01プロジェクトとコスト項目の管理
  2. 02コスト・工期・移動の不確実性をモデル化
  3. 03パーセンタイル付きモンテカルロシミュレーション
  4. 04コスト分布とカテゴリー別内訳の表示
  5. 05P50・P80・P90の見積もり提案
  6. 06顧客向け見積書のPDF出力

活用シーン

  1. 01請負プロジェクトのコストを見積もる
  2. 02工期や移動の不確実性を考慮する
  3. 03リスクのパーセンタイルに応じて見積もり額を決める
  4. 04コスト内訳を顧客と共有する

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://lowriskquotes.com/api/mcp/
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

2
パラメーター型必須説明
seednumberいいえ再現可能な出力のための任意のシード
itemsarrayはい三点見積もりを含むコスト項目
iterationsnumberいいえ任意、100-20000、デフォルトは 5000

詳細

EstiMate

モンテカルロシミュレーションを活用して、工事見積もりの確率的なリスク分析を行う、モバイルファーストの請負業者向けコスト見積もりアプリです。iOS(SwiftUI)と Android(Jetpack Compose)向けにネイティブで開発されています。

概要

EstiMate は、職人や請負業者が単一の見積もり額にとどまらず、想定されるコストの範囲とリスクを把握できるよう支援します。単一の金額を推測する代わりに、不確実性のレベルを設定して見積もりを入力すると、アプリが数千回のシミュレーションを実行し、総コストの確率分布を表示します。

主な価値提案:

  • オフライン優先で、ログイン不要です
  • モバイルで高度なリスク分析を実現します(通常はエンタープライズ向けデスクトップソフトウェアに限られます)
  • 統計的に安全な見積もり額の推奨により、請負業者の過小見積もりを防ぎます
  • クライアント向けのプロフェッショナルな PDF 見積書を作成します

機能

基本的な見積もり
  • プロジェクト管理 - 複数のプロジェクト見積もりを作成、保存、管理します
  • 明細項目 - 資材、人件費、下請け業者費用、その他のコストを追加します
  • リスクレベル - 5 段階の不確実性システム:
    • 確実(±2%)- 固定価格/契約価格
    • 低(±8%)- 価格が安定している既知のサプライヤー
    • 中(±15%)- 標準的な市場変動
    • 高(±25%)- 変動の大きい、または不確実なコスト
    • 大まかな推測(±40%)- 作業範囲が不明な項目
作業期間と移動の見積もり
  • 作業期間 - 複雑さのレベルを設定した推定日数(通常 ±10% ~ 作業範囲不明 ±60%)
  • 人件費の設定 - 時給、1 日あたりの労働時間、追加作業員
  • 移動コスト - 片道の移動時間、交通状況の変動、現場訪問、走行距離の記録
  • 相関モデリング - 作業期間の不確実性が移動コストに自動的に反映されます
モンテカルロシミュレーション
  • 収束検出機能付きで 1,000 回以上の反復を実行します
  • 超過方向に偏った分布(建設プロジェクトの実情に即した分布)
  • パーセンタイルの出力:P10、P50、P80、P90、P95
  • カテゴリー別のコスト内訳(資材、作業期間、移動)
  • 標準偏差と信頼水準を計算します
結果とエクスポート
  • ベルカーブの可視化 - コスト分布を色分けしたヒストグラム
  • 見積もり額の推奨 - 保守的(P50)、推奨(P80)、安全(P90)
  • PDF エクスポート - コスト内訳付きの、クライアント向けプロフェッショナル見積書
  • 共有 - プラットフォームの共有シートからエクスポートします
国際化
地域通貨距離用語
USUSD ($)マイル請負業者、人件費
UKGBP (£)マイル職人、労働費
CanadaCAD ($)キロメートル請負業者、労働費
AustraliaAUD ($)キロメートル職人、労働費
New ZealandNZD ($)キロメートル職人、労働費

技術スタック

iOS
  • 言語: Swift
  • UI フレームワーク: SwiftUI
  • アーキテクチャ: MVVM
  • 最小 iOS バージョン: 14.0+
  • ストレージ: UserDefaults(ローカルのみ)
  • PDF: PDFKit/UIGraphicsPDFRenderer
  • チャート: Apple Charts framework(iOS 16.4+)
Android
  • 言語: Kotlin
  • UI フレームワーク: Jetpack Compose
  • アーキテクチャ: ViewModel + StateFlow を使用した MVVM
  • 最小 SDK: 26(Android 8.0)
  • ターゲット SDK: 34(Android 14)
  • ストレージ: SharedPreferences + GSON
  • PDF: iText 7
  • ナビゲーション: Jetpack Navigation Compose

プロジェクト構成

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

アーキテクチャ

両プラットフォームとも、MVVM(Model-View-ViewModel) パターンに従っています:

┌─────────────────────────────────────────────────────────┐
│                         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            │
└─────────────────────────────────────────────────────────┘

データモデル

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
}

リスク/分散の乗数

レベル分散使用例
確実±2%固定契約、価格確定済み
低±8%信頼できるサプライヤー、安定したコスト
中±15%標準的な市場変動
高±25%価格変動の大きい資材、不確実な人件費
大まかな推測±40%範囲不明、新規ベンダー
複雑さ分散使用例
定型±10%繰り返しの作業、範囲を把握済み
中程度±25%標準的なプロジェクト
複雑±40%複数の専門職が関わる作業、カスタム作業
範囲不明±60%調査が必要、不明点あり
交通状況分散使用例
予測可能±10%郊外、固定スケジュール
変動あり±25%住宅地、通常の交通量
変動が大きい±50%都市部、ラッシュアワー

はじめに

iOS
  1. Xcodeでios/RiskEstimator/RiskEstimator.xcodeprojを開きます
  2. 対象のデバイスまたはシミュレーターを選択します
  3. ビルドして実行します(⌘R)

要件:

  • Xcode 14.0+
  • iOS 14.0+ deployment target
  • Swift 5.0+
Android
  1. Android Studioでandroid/RiskEstimatorを開きます
  2. Gradleファイルを同期します
  3. 対象のデバイスまたはエミュレーターを選択します
  4. ビルドして実行します

要件:

  • Android Studio Hedgehog以降
  • JDK 17
  • Android SDK 26+(最小)/34(ターゲット)

モンテカルロシミュレーション

シミュレーションエンジンはBox-Muller変換を使用して、超過方向への任意の偏り(実際のプロジェクトの傾向を反映)を持つ正規分布の乱数を生成します。

アルゴリズム
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%)
収束の検出

エンジンは適応的に実行されます。

  • 最小:1,000回の反復
  • 最大:10,000回の反復
  • P80推定値が安定した場合(標準誤差 < 0.5%)、早期に停止します

PDF生成

見積書はクライアントへの提示用に生成されます。

  • プロジェクトの詳細を含むプロフェッショナルな書式
  • カテゴリー別のコスト内訳
  • 利益率はカテゴリー別コストに含めます(クライアントには非表示)
  • モンテカルロに関する専門用語は使用せず、明確な価格のみを記載
  • プラットフォームの共有シートからエクスポート可能

ストレージ

両プラットフォームともローカルのみのストレージを使用します。

  • iOS: Codableシリアライズを使用したUserDefaults
  • Android: GSONを使用したSharedPreferences

クラウド同期もサーバーも不要で、現場で完全にオフラインで動作します。

現在の状況

バージョン: 1.1(MVP機能完了)

完了済み
  • プロジェクトの完全なCRUD
  • 収束検出機能を備えたモンテカルロエンジン
  • 5段階のリスクシステム
  • 所要期間と移動に関する不確実性
  • カテゴリー別のコスト内訳
  • PDFエクスポート
  • 複数の地域/通貨への対応
ロードマップ(フェーズ3)
  • シミュレーションエンジンのユニットテスト
  • 包括的なエラー処理
  • 入力値の検証
  • クラッシュレポートの統合
  • Androidリリース版の縮小化

詳細なロードマップについては、PROGRESS.mdをご覧ください。

ライセンス

プロプライエタリ — すべての権利を保有します。

検証済みの変更

Webアプリは/.well-known/changes.jsonと/changes.json(verified-changes/0.1)を公開します。詳細はweb/README.mdをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。