铁路项目成本估算工具

Woody's Wild Guess是一款基于历史数据的交互式铁路项目成本估算工具,适用于长岛铁路(LIRR)基础设施项目的成本预测和分析。

  • by bobbylite
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 bobbylite/mcp-apps-example

使用说明

伍迪的疯狂猜测-LIRR资本项目估算师

一个交互式MCP应用程序,根据MTA报告、纽约州审计长审计和联邦铁路管理局记录中经过验证的历史数据,为长岛铁路(LIRR)资本项目提供成本估算。

概述

Woody's Wild Guess是一个模型上下文协议(MCP)应用程序,通过分析历史成本超支和项目特征来帮助估算LIRR基础设施项目的成本。该应用程序具有一个可搜索的真实LIRR资本项目数据库,其中包含实际成本和估计成本,允许用户浏览已完成的项目并了解历史成本模式。

特性

  • 真实历史数据:根据MTA官方文件、政府审计和联邦记录核实的所有项目成本
  • 交互式项目浏览器:按名称、类别、状态或位置搜索和筛选LIRR资本项目
  • 成本差异分析:查看原始估算与实际最终成本的百分比差异
  • Woody估计算法:根据历史超支模式生成新项目的成本估算
  • 项目类别:扩建、机车车辆、桥梁、信号、容量、车站等
  • 置信水平:基于风险的信心评级(高、中、低、推测性)
  • 漂亮的UI:现代界面,带有LIRR品牌和Woody的Wild Guess标志
  • 无缝MCP集成:适用于Claude Desktop和其他MCP兼容主机

数据源

所有项目成本均从官方来源核实:

  • 麦迪逊中央车站(东区通道):估计43亿美元→ $11.1B实际(超支158%)
    • 来源:维基百科(引用联邦记录),《大众交通杂志》,Gothamist
  • 主线第三轨道:估计26亿美元→ $2.5B实际(低于预算4%)
    • 来源:Hochul州长新闻稿,铁路轨道与结构,纽约
  • M9型轨道车:估计7.236亿美元→ $735.7M实际(超出1.7%)
    • 来源:纽约州审计长2022年和2023年审计报告
  • 列车主动控制(PTC):估计4.28亿美元→ $967.1M实际(超支126%)
    • 来源:FRA RRIF贷款文件、MTA新闻稿
  • 牙买加站(1987):估计2.13亿美元→ $342.5M实际(超支61%)
    • 来源:维基百科“牙买加站”

无合成数据 -所有数字都来自经过核实的官方记录。

安装

  1. 安装依赖项:

    npm install
    
  2. 构建UI:

    npm run build
    
  3. 启动服务器:

    npm run serve
    

    或者在一个命令中同时运行build和serve:

    npm start
    

服务器将在以下时间可用 http://localhost:3001/mcp.

测试

使用Claude Desktop进行测试(推荐)

  1. 添加到您的Claude桌面配置 在: ~/Library/Application Support/Claude/claude_desktop_config.json

    {
      "mcpServers": {
        "woodys-wild-guess": {
          "command": "node",
          "args": ["/path/to/mcp-apps-color-picker/server.js"]
        }
      }
    }
    
  2. 重新启动克劳德桌面 加载服务器

  3. 测试估计器:

    • 在Claude Desktop中开始新的聊天
    • 问:“给我看看伍迪的疯狂猜测”或“估算LIRR项目成本”
    • 浏览项目、查看历史数据并获取Woody的估计

使用Claude Web进行测试(通过自定义连接器)

  1. 启动HTTP服务器:

    npm start
    
  2. 暴露您的本地服务器 使用 cloudflared:

    npx cloudflared tunnel --url http://localhost:3001
    
  3. 复制生成的URL (例如。, https://random-name.trycloudflare.com)

  4. 在Claude中添加为自定义连接器:

    • 转到claude.ai
    • 点击您的个人资料
    • 首选 设置 → 连接器 → 添加自定义连接器
    • 粘贴您的cloudflared URL
    • 保存连接器
  5. 测试估计器 (与克劳德桌面相同)

用法

连接后,让克劳德使用伍迪的《疯狂猜测》:

  • “给我看看伍迪的疯狂猜测”
  • “哪些LIRR项目的成本超支最严重?”
  • “麦迪逊大中央车站的成本估算”
  • “搜索辅助功能项目”
  • “向我展示已完成的车站翻修”

该应用程序支持:

  • 项目搜索:按名称、位置或类别筛选
  • 状态筛选器:查看已完成、正在进行、计划中或正在研究的项目
  • 成本差异分析:参见原始估算与实际最终成本
  • 历史模式:Woody基于经过验证的超限数据的估计
  • 发送估算:将项目详细信息导出回对话

项目结构

mcp-apps-color-picker/
├── package.json              # Dependencies and scripts
├── tsconfig.json             # TypeScript configuration
├── vite.config.ts            # Vite bundler configuration (publicDir: src/public)
├── server.ts                 # MCP server (HTTP) for web testing
├── mcp-app.html              # UI entry point with LIRR styling
├── src/
│   ├── mcp-app.ts            # UI logic and MCP App client
│   ├── lirr-projects.ts      # Verified project data and estimation algorithms
│   ├── vite-env.d.ts         # TypeScript declarations for assets
│   ├── assets/
│   │   └── woody-logo.png    # Woody's Wild Guess logo (inlined in build)
│   └── public/
│       └── img/
│           └── woody-logo.png # Original logo file
└── dist/                     # Build output (generated)
    └── mcp-app.html          # Bundled single-file HTML with inlined assets

运作原理

  1. 服务器注册:登记簿 lirr-estimator 具有指向的UI元数据的工具 ui://woodys-wild-guess/mcp-app.html
  2. 项目数据库: lirr-projects.ts 包含经过验证的历史数据和实际成本
  3. 估计算法: calculateWoodyEstimate() 使用类别乘数、风险因素和历史超限模式
  4. UI渲染:Claude在安全的沙盒iframe中呈现捆绑的HTML
  5. 双向通信:应用程序通过以下方式将项目估算发送回对话 app.updateModelContext()
  6. 资产内联: vite-plugin-singlefile 将所有资源(CSS、JS、图像)内联为base64数据URI

估计方法

Woody's Wild Guess使用加权算法:

woodyGuess =
  (adjustedBase * 0.3) +           // 30% weight on base estimate
  (historicalAverage * 0.6) +      // 60% weight on historical category average
  (adjustedBase * random(±10%))    // ±10% randomness

类别乘数 (基于复杂性):

  • 扩展:1.5倍
  • 容量:1.35倍
  • 电气化:1.4倍
  • 信号:1.25x
  • 车站:1.2倍
  • 机车车辆:1.1倍

历史类别超限 (已验证):

  • 扩建:2.58倍(麦迪逊中央车站)
  • 信号:2.26x(PTC)
  • 车站:1.61x(牙买加站1987)
  • 机车车辆:1.02x(M9型车)
  • 容量:0.96倍(第三轨道-低于预算!)

发展

要修改Woody的狂野猜测:

  1. 编辑用户界面: mcp-app.html 结构和造型
  2. 编辑逻辑: src/mcp-app.ts 用于功能和MCP通信
  3. 添加项目: src/lirr-projects.ts 用于新的验证项目数据
  4. 编辑服务器: server.ts 更改工具行为
  5. 重建: npm run build
  6. 重启: npm run serve

添加新项目

向添加项目时 src/lirr-projects.ts:

  • 仅使用来自官方来源的经过验证的数据
  • 在评论中包含源引用
  • 两者相加 estimatedCost 和 actualCost (如果已完成)
  • 更新 historicalOverruns.averageByCategory 如果添加新类别

了解更多

许可证

麻省理工学院