Skip to content

Configuration

Note

The configuration file used for starting MCP servers is different from the configuration file used by the simple agent application.

Server configurations are stored in the configs/ directory. The main development configuration housing all available MCP servers is configs/development.json.

Configuration files specify server hostnames, ports, transport methods, and environment variables.

Example server startup config (configs/development.json):

{
  "servers": {
    "flux": {
      "host": "localhost",
      "port": 8101,
      "transport": "streamable-http",
      "env_vars": {
        "FLUX_HANDLE": "default",
        "FLUX_USE_PERSISTENT_EXECUTOR": "true",
        "SPINDLE_FLUXOPT": "disable",
        "LD_LIBRARY_PATH": "/opt/cray/pe/cce/20.0.0/cce/x86_64/lib:/opt/cray/pe/lib64:/opt/cray/lib64:/opt/cray/pe/papi/7.2.0.2/lib64"
      }
    },
    "slurm": {
      "host": "localhost",
      "port": 8102,
      "transport": "streamable-http"
    },
    "professor": {
      "host": "localhost",
      "port": 8105,
      "transport": "streamable-http",
      "env_vars": {
        "API_KEY": "${API_KEY}",
        "MODEL": "${MODEL:-gpt-5}",
        "PROF_VIS_PATH": "/usr/workspace/prof/bin/prof-vis",
        "API_BASE_URL": "${API_BASE_URL:-https://livai-api.llnl.gov}"
      }
    },
    "job_monitor": {
      "host": "localhost",
      "port": 8106,
      "transport": "streamable-http",
      "_comment": {
        "MONITOR_LOG_TAIL_BYTES": "number of bytes of each log file the monitoring tool should return",
        "MONITOR_DEFAULT_STATUS_DEPTH": "how many status entries the monitor should inspect before summarizing"
      },
      "env_vars": {
        "MONITOR_LOG_TAIL_BYTES": "50000",
        "MONITOR_DEFAULT_STATUS_DEPTH": "20"
      }
    },
    "vertex_cfd": {
      "host": "localhost",
      "port": 8107,
      "transport": "streamable-http",
      "env_vars": {
        "VERTEX_CFD_PATH": "/usr/workspace/mada/vertex-cfd/tuo/vertexcfd-installation/",
        "VERTEX_CFD_RESULTS_DIR": "/tmp/vertex_cfd_results"
      }
    }
  },
  "logging": {
    "level": "INFO",
    "format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
  }
}

Environment Variable Expansion

Configuration files support environment variable expansion for secure handling of sensitive values:

  • ${VAR_NAME} — Expands to the value of the environment variable
  • ${VAR_NAME:-default} — Uses the default value if the variable is not set

Set environment variables before starting servers that require them.

Example

{
"servers": {
    "professor": {
    "env_vars": {
        "API_KEY": "${API_KEY}",
        "API_BASE_URL": "${API_BASE_URL:-https://api.openai.com/v1/responses}"
    }
    }
}
}

Set required environment variables before starting this server:

export API_KEY="sk-xxxx"

Transport Methods

MCP servers support different transport methods:

Transport Description Host/Port Required?
streamable-http Network-based HTTP transport (default). Good for distributed systems and production. Supports streaming responses. Yes
stdio Standard IO (stdin/stdout) transport. Good for local development and direct process communication. No

The streamable-http transport method requires both the host and port configuration settings. These settings will define where the server should be spun up.

Example

{
    "servers": {
        "flux": {
            "transport": "streamable-http",
            "host": "localhost",
            "port": 8001,
            "env_vars": {
                "FLUX_HANDLE": "default"
            }
        }
    }
}