flux-mcp
Provides tools for managing Flux Framework jobs, including submission, cancellation, info retrieval, validation, resource matching, and delegation.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@flux-mcpsubmit a job to run 'hostname' on 2 nodes"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
flux-mcp
🌀 Agentic MCP tools for Flux Framework

Related Projects
fractale-mcp: (fractale) MCP orchestration (agents, databases, ui interfaces).
hpc-mcp: HPC tools for a larger set of HPC and converged computing use cases.
Related MCP server: clausius
Usage
These Flux MCP tools can be used via a standalone server, or combined with other tools.
Note that along with flux-python (comes packaged with Flux, or pip install flux-python==<version> you
can optionally install flux-sched-py for flux-sched functionality.
Server
We provide examples for fastmcp and a vanilla mcp (stdio) setup. Neither requirements are added to the install directly, so it's up to the user (you) to install. Tests are performed with fastmcp.
fastmcp
You will need fastapi and fastmcp installed.
# fastmcp
pip install fastmcp fastapi
# in the devcontainer
pip install fastmcp fastapi --break-system-packagesTo start the demo server:
# Vanilla MCP (with cli)
echo '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "test", "version": "1.0"}}}' | python3 -m flux_mcp.server | jq
# Initialize and list tools
(echo '{"jsonrpc": "2.0", "id": 1, "method": "initialize", "params": {"protocolVersion": "2024-11-05", "capabilities": {}, "clientInfo": {"name": "manual-test", "version": "1.0"}}}';
echo '{"jsonrpc": "2.0", "method": "notifications/initialized"}';
echo '{"jsonrpc": "2.0", "id": 2, "method": "tools/list"}') | python3 -m flux_mcp.server | jq
# FastMCP
python3 -m flux_mcp.server.fastmcpAgents (stdio)
See agents for Claude Code, Codex, Google ADK and AWS Strands, with tests for each and a devcontainer that has Flux and flux-mcp.
flux-mcp-stdio runs the stdio server for agents such as Claude Code, Codex, Google ADK and AWS Strands that you start inside a Flux instance you own.
flux python -m venv ~/.flux-mcp/venv
~/.flux-mcp/venv/bin/pip install flux-mcp
# then point your agent at this command
~/.flux-mcp/venv/bin/flux-mcp-stdioIt exits with an error if FLUX_URI is unset (rather than falling back to the system instance). If the Flux Python bindings are not importable, it re-runs itself under flux env.
Jobs never receive the server environment. A job gets exactly the environment the agent passes, or else a minimal user environment. That has HOME, USER, LOGNAME and SHELL from the password database, and the login PATH from ENV_PATH in /etc/login.defs plus the directory containing flux. Commands run with flux exec get the same minimal environment.
Docker
We have a provided Dockerfile that builds and includes mcp-server to provide the basic set of Flux endpoints (submit, info, cancel, etc) via the configuration file flux-mcp.yaml. You can tweak that file and build, or just use from our GitHub packages registry.
docker build -t ghcr.io/converged-computing/flux-mcp:latest .
docker run -it -p 8089:8089 ghcr.io/converged-computing/flux-mcp:latestTesting
You need pytest
pip install pytest --break-system-packagesI will add tools to git as I write tests for them. To test, start the fastmcp server in one terminal:
python3 -m flux_mcp.server.fastmcpTo test flux-sched, ensure libreapi_cli.so is on the LD_LIBRARY_PATH of the server:
export LD_LIBRARY_PATH=/usr/lib/flux/
python3 -m flux_mcp.server.fastmcpIn another terminal, run the test. You'll need to pip install pytest pytest-asyncio
pytest -xs tests/test_flux_validate.py
pytest -xs tests/test_flux_counts.py
pytest -xs tests/test_flux_job_delegation.py
pytest -xs tests/test_flux_job_core.py
pytest -xs tests/test_transformers.py
pytest -xs tests/test_flux_resource.py
# Requires libreapi_cli.so
pytest -xs tests/test_flux_sched.py
# or
pytest -xs tests/test_*.pyTo run the whole suite the way CI does, with the HTTP server inside a test instance, run this.
flux start --test-size=2 tests/run-in-flux.sh -v --ignore=tests/test_flux_sched.py testsTools
Tools to add:
flux
flux-sched
grow
shrink
create resource graph
match allocate
cancel
partial-cancel
satisfy
flux-core
submit jobs
job info
cancel job
validator
counter
batch jobs
canonical jobspec
json jobspec
topology?
delegation
local flux URI
translation (the transformers?)
License
HPCIC DevTools is distributed under the terms of the MIT license. All new contributions must be made under this license.
See LICENSE, COPYRIGHT, and NOTICE for details.
SPDX-License-Identifier: (MIT)
LLNL-CODE- 842614
This server cannot be deployed
Maintenance
Related MCP Connectors
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
Workflow diagnostics, capability routing, and x402 settlement for MCP-compatible agents.
LLM Orchestration Agent (Mcp)
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides MCP tools for high-performance computing (HPC) and converged computing, enabling agentic interactions with HPC resources and workflows.6MIT
- FlicenseNot gradedqualityAmaintenanceAn MCP server for monitoring and managing multi-cluster Slurm GPU jobs, enabling AI agents to execute commands, check allocations, and explore logs across HPC clusters.1-
- AlicenseAqualityAmaintenanceDurable MCP server for managing long-running jobs locally, over SSH, or on Slurm clusters. Jobs survive client disconnects and return exit codes, bounded logs, and JSON artifacts.1124 PyPI1MIT
- AlicenseAqualityAmaintenanceEnables orchestrator agents to route coding tasks to native CLI worker agents via MCP, providing tools for agent discovery, task submission, waiting, inspection, and cancellation.53MIT