Skip to content

v2.0.0 — MCP and Safer Model/Auth Options

Choose a tag to compare

@lingyue404 lingyue404 released this 01 Mar 04:04
· 114 commits to main since this release

Highlights

  • MCP support (first-class)
    Run Foam-Agent as an MCP server and call its capabilities from MCP clients (e.g., Claude Code / Cursor).

  • Composable “services” architecture (new)
    Core capabilities are refactored into reusable service modules:
    planning / mesh / input writing / run / review / visualization
    → better maintainability + easier integration.

  • More flexible & safer model/auth setup
    Supports ChatGPT/Codex OAuth sign-in (openai-codex) to avoid managing API keys, plus additional provider options and env overrides.

  • Retrieval/indices upgrade
    Rebuilt OpenFOAM tutorial dumps + FAISS indices; added Qwen embedding indexes and configurable embedding backends.


New features

MCP Server mode

  • New MCP server implementation and docs under src/mcp/
    • Includes an HTTP transport example.

Provider support & configuration

  • Added Anthropic (Claude) provider support.
  • Added environment variable overrides for model selection:
    • FOAMAGENT_MODEL_PROVIDER
    • FOAMAGENT_MODEL_VERSION
  • Added ChatGPT/Codex subscription sign-in provider: openai-codex

Embedding / retrieval system

  • Added configurable embedding provider/model in src/config.py
  • Added new FAISS indices:
    • Qwen/Qwen3-Embedding-{0.6B, 8B}
    • OpenAI embeddings (e.g., text-embedding-3-small)
  • Updated FAISS generation scripts + reorganized database structure

Input writing modes

  • Added input_writer_generation_mode:
    • sequential_dependency (consistency-first)
    • parallel_no_context (speed-first)

Usability additions

  • Defaults for foambench_main.py paths
  • Support reusing previously generated files via reuse_generated_dir
    (avoids regenerating identical case files)

Robustness for OpenFOAM runs

  • Improved OpenFOAM log error detection & safeguards (e.g., missing "End" detection)
  • Added ability to group-kill child OpenFOAM processes to avoid orphaned runs

Refactors / improvements

  • Major workflow refactor: improved routing and planner/writer/reviewer loop behavior
  • Visualization improvements: more deterministic artifacts + stricter routing
  • Nodes were streamlined and complemented by new src/services/* modules for cleaner composition

Docker & docs

  • Docker workflow improved (entrypoint added; README significantly expanded)
  • Release-ready docs polish:
    • clearer Docker quickstart
    • tagged image guidance
    • OAuth step-by-step instructions
  • Citation/README cleanup and updates

Potential breaking changes / migration notes

Config defaults changed (notably)

  • model_provider default now targets openai-codex (OAuth) instead of usage-based OpenAI
  • max_loop, searchdocs, and other defaults were updated
  • New config fields added:
    • embeddings
    • generation modes
    • reuse directory
    • recursion limit

Migration suggestion

  • If you rely on the old behavior, pin explicitly via environment variables or edit src/config.py.

What changed vs v1.1.0 (one-liner)

Compared to v1.1.0, 2.0.0 is a bigger architectural + product release: it adds MCP server support, refactors the core into composable services, upgrades retrieval/FAISS indices + embeddings, and introduces OAuth-based (no API key) Codex auth plus broader provider/config options—along with multiple robustness fixes for running OpenFOAM.