home / mcp / jalzoubi mcp server
Provides HDF5 data access and Slurm-like job submission via a unified MCP HTTP/stdio interface.
Configuration
View docs{
"mcpServers": {
"jalzoubi-mcp-server": {
"url": "http://127.0.0.1:8000/mcp"
}
}
}You run a lightweight MCP server that provides two capabilities—HDF5 data access and Slurm job orchestration—allowing you to query data from HDF5 files and simulate batch job submissions from a single API surface. This server is designed to be easy to run locally for development, testing, and experimentation with data workflows and simple batch simulations.
You interact with the MCP server by issuing tool calls through an MCP client to perform operations on available capabilities. For HDF5, you can read datasets and inspect file metadata stored under mock_data. For Slurm, you can submit a mock job script and track its simulated status as it progresses through queued, running, and completed states. The server responds with structured results for each operation and includes error handling for invalid inputs.
Typical use patterns include reading a temperature dataset from the mock HDF5 data and submitting a mock analysis script for a specified number of cores. The server handles requests asynchronously and returns results that help you validate data access and job submission flows in your environment.
Prerequisites you need before installation are Python 3 and a working Internet connection.
Install the MCP runtime tooling and dependencies.
Create and activate a virtual environment, then install and sync dependencies.
Run the server, then you can begin making tool calls to test HDF5 and Slurm functionality.
Optionally run tests to verify that both capabilities are functioning as expected.
Here are practical commands you will use in order.
Configuration notes: The MCP server provides two capabilities—HDF5 and Slurm. HDF5 operations use a mock data path at ./mock_data/hdf5 and support list, read, and metadata actions. Slurm operations simulate job submission with in-memory status tracking and a UUID-based job ID system. Mock data and scripts are organized under the project’s mock_data directory.
Security: Run the server on a trusted boundary. Do not expose the /mcp endpoint to untrusted networks during development. Use standard network hardening and access controls when moving toward production.
Troubleshooting: If the server stops or the port is in use, inspect processes listening on port 8000 with lsof -i :8000 and terminate the process if needed with kill -9 <PID>.
Notes: The server uses uv for dependency management, a virtual environment for isolation, and uvicorn to run the app. Tests cover HDF5 and Slurm capabilities and demonstrate full JSON-RPC 2.0 compliance behavior under typical usage scenarios.
Handles operations on HDF5 files including listing, reading datasets with shape and dtype information, and retrieving file-level metadata.
Simulates Slurm-like job submission, tracks job status in memory, and provides UUID-based job IDs to represent queued, running, and completed states.