Skip to main content
Glama

MCP Server Implementation

Name: Jafar Alzoubi Student ID: A20501723

Implemented Capabilities

  • HDF5 (Data)

  • Slurm (Tool)

Setup

  1. Install uv: pip install uv

  2. Create environment: uv venv

  3. Activate: source .venv/bin/activate

  4. Sync dependencies: uv sync

Running Server

uvicorn src.server:app --reload

Running Tests

pytest tests/

Assumptions

  • HDF5 mock data stored in mock_data/hdf5

  • Slurm simulation uses local echo commands

Those can be run induvidule and they work fine

HDF5 Operations

curl -X POST "http://127.0.0.1:8000/mcp"
-H "Content-Type: application/json"
-d '{ "jsonrpc": "2.0", "method": "mcp/callTool", "params": { "tool": "hdf5", "action": "read", "filePath": "mock_data/hdf5/simulation_1.h5", "dataset": "temperature" }, "id": 1 }'

Slurm Operations

curl -X POST "http://127.0.0.1:8000/mcp"
-H "Content-Type: application/json"
-d '{ "jsonrpc": "2.0", "method": "mcp/callTool", "params": { "tool": "slurm", "action": "submit", "script": "analysis.sh", "cores": 8 }, "id": 2 }'

Run all tests

pytest tests/

Run specific capability tests

pytest tests/test_hdf5.py -v pytest tests/test_slurm.py -v

Generate coverage report

pytest --cov=src

project-root/ ├── mock_data/ │ ├── hdf5/ │ │ ├── simulation_1.h5 │ │ └── simulation_2.h5 │ └── slurm/ │ ├── job_scripts/ │ └── job_status.json


Implementation Details

HDF5 Handler Uses h5py library for file operations

Mock data path: ./mock_data/hdf5/

Supported actions:

list: Recursive directory listing

read: Dataset retrieval with shape/dtype info

metadata: File-level metadata

Slurm Handler

Simulates job submission with subprocess

Mock features:

Generates UUID-based job IDs

Tracks job status in memory

Simulates queueing/running/completed states


Troubleshooting

Common Issues: lsof -i :8000 kill -9

Missing dependencies:

uv pip install --force-reinstall -r requirements.txt


Requirements Met

✅ Two capabilities implemented (HDF5 + Slurm)

✅ Full JSON-RPC 2.0 compliance

✅ 100% test coverage for both capabilities

✅ Proper error handling and responses

✅ Async request processing

Sample Test Output

tests/test_hdf5.py::test_read_dataset PASSED tests/test_slurm.py::test_job_submission PASSED

Ran 13 tests in 0.42s OK

-
security - not tested
F
license - not found
-
quality - not tested

Related MCP Servers

  • -
    security
    F
    license
    -
    quality
    A FastAPI-based JSON-RPC 2.0 server implementation that enables users to work with HDF5 files, submit Slurm jobs, retrieve CPU information, and visualize CSV data through standardized API endpoints.
    Last updated -
    • Linux
  • -
    security
    A
    license
    -
    quality
    A server implementing Model Coupling Protocol for HDF5 file operations, Slurm job management, hardware monitoring, and data compression.
    Last updated -
    MIT License
  • -
    security
    F
    license
    -
    quality
    A JSON-RPC server that simplifies managing KVM virtual machines by providing a centralized interface for VM lifecycle, networking, storage, and display management tasks.
    Last updated -
    8
    • Linux
  • A
    security
    F
    license
    A
    quality
    A Model Context Protocol server that enables LLMs to interact with user and task data through JSON-RPC, offering tools like user management, task creation, and search functionality.
    Last updated -
    8
    1

View all related MCP servers

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jalzoubi/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server