Skip to main content

Agentic MCP tools for HPC

Project description

hpc-mcp

🌀 Agentic MCP tools for High Performance Computing

PyPI version

img/hpc-mcp.png

Related Projects

  • flux-mcp: MCP functions for Flux Framework.
  • fractale: (fractale) MCP orchestration (agents, databases, ui interfaces).

Usage

This is a library of MCP tools (functions, prompts, and resources) intended for converged computing and HPC use cases. A demo server is provided here, and largely functions are expected to be used a-la-carte as imports to other libraries. We welcome contributions of all functions types that are related to HPC, converged computing, and science. These MCP tools can be used via a standalone server, or combined with other tools.

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 (TBA)

fastmcp

You will need fastapi and fastmcp installed.

# fastmcp
pip install fastmcp fastapi

To 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 hpc_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 hpc_mcp.server | jq

# FastMCP
python3 -m hpc_mcp.server.fastmcp

Testing

I will add tools to git as I write tests for them. To test, start the fastmcp server in one terminal:

python3 -m hpc_mcp.server.fastmcp

In another terminal, run the test. You'll need to pip install pytest pytest-asyncio

pytest -xs tests/test_build_docker.py

# or
pytest -xs tests/test_*.py

TODO

  • Add annotated descriptions to all functions for LLM.

Tools to add:

  • helpers
    • debug
    • result parser (regular expressions)
  • kubernetes
    • deploy job
    • deploy minicluster

License

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hpc_mcp-0.0.17.tar.gz (34.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hpc_mcp-0.0.17-py3-none-any.whl (40.6 kB view details)

Uploaded Python 3

File details

Details for the file hpc_mcp-0.0.17.tar.gz.

File metadata

  • Download URL: hpc_mcp-0.0.17.tar.gz
  • Upload date:
  • Size: 34.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.2

File hashes

Hashes for hpc_mcp-0.0.17.tar.gz
Algorithm Hash digest
SHA256 ca8efc2d5d3062a74b3439e7fc5e6b2a6b34ff54bad06146f967561fe5b4a0f8
MD5 8f1cb3d5d0b8a9bedb4618491247cc09
BLAKE2b-256 51c83bc20c410ab7f7b7ae6c53e6ab44399b17f635a5b45164ebd4ffe8699f94

See more details on using hashes here.

File details

Details for the file hpc_mcp-0.0.17-py3-none-any.whl.

File metadata

  • Download URL: hpc_mcp-0.0.17-py3-none-any.whl
  • Upload date:
  • Size: 40.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.2

File hashes

Hashes for hpc_mcp-0.0.17-py3-none-any.whl
Algorithm Hash digest
SHA256 9db0a8107df3fa1131cacf76e4612e440dc306eb54d3fab53b45767b7ca63aa9
MD5 9b28b4419cfaa768d61ee4b2e9e6ffc9
BLAKE2b-256 2da53163c6d849a154461c374c23c1103779267d6d9b652b419ad6e6d50b6ce3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page