Skip to content

MCP Server: AI-driven fire modeling via Model Context Protocol #167

@spydmobile

Description

@spydmobile

Summary

Add an optional MCP (Model Context Protocol) server to Nomad, enabling AI agents to create, configure, execute, and interpret fire modeling simulations through conversational interfaces. Available in all deployment modes (SAN and ACN).

Motivation

Fire modeling currently requires specialized GUI knowledge. An MCP server exposes Nomad's capabilities as AI-consumable tools, enabling:

  • Fire analysts: Conversational modeling - natural language to simulation to interpreted results
  • Automated batch: Sensitivity analysis, scenario comparison, overnight runs
  • Training: AI-guided learning for new modelers

Architecture

  • Mounts on the existing Express app at /mcp (same port, same process)
  • Uses Streamable HTTP transport (current MCP standard)
  • Tool handlers call the same service layer as the REST API - zero business logic duplication
  • Opt-in via NOMAD_ENABLE_MCP=true environment variable
  • Respects existing auth middleware in both SAN and ACN modes

Scope

v1 tools: list-models, create-model, set-ignition, set-weather, set-fuel-type, set-simulation-time, execute-model, get-job-status, get-results-summary, get-results-data

v1 resources: Dynamic model/job/result resources + static domain knowledge (fuel types, FWI system, model parameters)

New dependency: @modelcontextprotocol/sdk

Design Document

Documentation/Nomad/design/mcp-fire-modeling-server.md

Implementation Phases

  1. Foundation - MCP server, transport, mounting, 3 core tools
  2. Full workflow - complete tool catalog, job polling, results
  3. Domain knowledge - fuel types, FWI, model parameter resources
  4. Batch and comparison - clone, compare, batch execute
  5. Spatial intelligence - fuel/elevation/weather queries at coordinates

Metadata

Metadata

Assignees

No one assigned

    Labels

    R&DResearch and DevelopmentenhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions