{"id":36687806,"url":"https://github.com/converged-computing/flux-mcp-server","last_synced_at":"2026-01-12T11:16:21.540Z","repository":{"id":329391356,"uuid":"1118738901","full_name":"converged-computing/flux-mcp-server","owner":"converged-computing","description":"Prototype MCP server for Flux tools (under development)","archived":false,"fork":false,"pushed_at":"2025-12-19T08:00:30.000Z","size":1290,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-12-22T02:38:45.726Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/converged-computing.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":"COPYRIGHT","agents":null,"dco":null,"cla":null}},"created_at":"2025-12-18T07:55:26.000Z","updated_at":"2025-12-19T08:00:34.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/converged-computing/flux-mcp-server","commit_stats":null,"previous_names":["converged-computing/flux-mcp-server"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/converged-computing/flux-mcp-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/converged-computing%2Fflux-mcp-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/converged-computing%2Fflux-mcp-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/converged-computing%2Fflux-mcp-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/converged-computing%2Fflux-mcp-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/converged-computing","download_url":"https://codeload.github.com/converged-computing/flux-mcp-server/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/converged-computing%2Fflux-mcp-server/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28338970,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-12T10:58:46.209Z","status":"ssl_error","status_checked_at":"2026-01-12T10:58:42.742Z","response_time":98,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-12T11:16:21.480Z","updated_at":"2026-01-12T11:16:21.534Z","avatar_url":"https://github.com/converged-computing.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# flux-mcp server\n\n\u003e 🌀 Service to deploy functions for MCP tools for Flux Framework\n\nThis library uses [flux-mcp](https://github.com/converged-computing/flux-mcp)\n![img/flux-mcp-small.png](img/flux-mcp-small.png)\n\nSee [design thinking](docs/design.md) for an overview of design.\n\n## Usage\n\nThis server is currently expected to be deployed on a cluster, alongside a Flux instance.\nThis means you need flux-python (comes packaged with Flux, or `pip install flux-python==\u003cversion\u003e`).\n\n### Flux Instance\n\nLet's mock a flux instance. Do a flux start in your terminal:\n\n```bash\nflux start\n```\n\nGet the `FLUX_URI` so we can connect from another terminal.\n\n```bash\necho $FLUX_URI\n```\n\n### Server\n\nTo start the demo server, either will work:\n\n```bash\nflux-mcp-server\n# or\npython3 -m flux_mcp_server.server\n```\n\n![img/server.png](img/server.png)\n\nNext we can run a test that will submit a job, and then view the event (that was saved to our database).\nIn a different terminal, export the `$FLUX_URI` you saw above.\n\n```bash\nexport FLUX_URI=local:///tmp/flux-aG87Ma/local-0\n```\n\nNow run the little demo:\n\n```bash\npython3 ./tests/test_submit.py\n```\n```console\n   ✅ Job ID: 359735320641536\n⏳ Waiting for events to propagate to DB...\n   found 1 events: {'submit'}\n   found 7 events: {'start', 'submit', 'depend', 'alloc', 'priority', 'validate', 'annotations'}\n   found 7 events: {'start', 'submit', 'depend', 'alloc', 'priority', 'validate', 'annotations'}\n   found 11 events: {'start', 'submit', 'free', 'depend', 'finish', 'alloc', 'priority', 'validate', 'release', 'clean', 'annotations'}\n\n📊 Event Log Analysis:\n✅ Success! Recorded 11 events for Job 359735320641536.\n   - [SUBMIT]\n   - [VALIDATE]\n   - [DEPEND]\n   - [PRIORITY]\n   - [ANNOTATIONS]\n   - [ALLOC]\n   - [START]\n   - [FINISH]\n   - [RELEASE]\n   - [FREE]\n   - [CLEAN]\n```\n\n### Development\n\n```bash\napt-get install -y python3-build\npyproject-build\n```\n\n![img/flux-mcp-diagram.png](img/flux-mcp-diagram.png)\n\n### Todo\n\n- [x] Fastmcp endpoint serving Flux MCP functions\n- [x] Handle should receive events and write to database\n- [x] Database should be interface (and flexible to different ones)\n  - sqlalchemy\n- [ ] Auth should also be interface with different backends\n  - Most basic is \"none\" that just uses the Flux handle.\n  - Next is simple token, should be implemented as middleware of fastmcp\n  - Then OAuth2\n  - Then (custom) something with passing OAuth2-like to submit as a Flux user.\n- [x] Example: user manually submits a job, can query database for state\n- [ ] Example: Agent submits work, and can find state later.\n- [ ] Migrate to container, then Flux Operator / Kubernetes service.\n- [ ] Tests in CI and automated build.\n\n## License\n\nHPCIC DevTools is distributed under the terms of the MIT license.\nAll new contributions must be made under this license.\n\nSee [LICENSE](https://github.com/converged-computing/cloud-select/blob/main/LICENSE),\n[COPYRIGHT](https://github.com/converged-computing/cloud-select/blob/main/COPYRIGHT), and\n[NOTICE](https://github.com/converged-computing/cloud-select/blob/main/NOTICE) for details.\n\nSPDX-License-Identifier: (MIT)\n\nLLNL-CODE- 842614\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconverged-computing%2Fflux-mcp-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fconverged-computing%2Fflux-mcp-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconverged-computing%2Fflux-mcp-server/lists"}