MCP Server

mcp-server

By: Zack Chaffee A20478873

A server implementing Model Coupling Protocol (MCP) capabilities for HDF5 file operations and Slurm job management.

Features

HDF5 file operations:

  • Read datasets
  • List file contents

Slurm job management:

  • Submit jobs
  • Check job status

Node Hardware Operations

  • Get CPU information
  • Get memory information
  • Get disk information
  • Get comprehensive system information

Compression Operations

  • Compress string data with gzip or zlib
  • Compress files with gzip or zlib
  • Decompress data

Initialization

Once you clone this reponsitory cd into it

After this hwe will create a virtual enviornment and install all dependincies:

uv venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate uv pip install -e . uv pip install -e ".[test]"

Running

To startup the server run:

python -m src.server

This will autoclocate the server at http://localhost:8000.

Endpoints

  • POST /mcp: Main endpoint for MCP requests
  • GET /health: Health check endpoint

Examples:

import httpx async with httpx.AsyncClient() as client: # Read a dataset response = await client.post("http://localhost:8000/mcp", json={ "capability": "hdf5", "action": "read_dataset", "parameters": { "file_path": "/path/to/data.h5", "dataset_path": "/path/to/dataset" } }) # List contents response = await client.post("http://localhost:8000/mcp", json={ "capability": "hdf5", "action": "list_contents", "parameters": { "file_path": "/path/to/data.h5", "group_path": "/" } })
curl -X POST http://localhost:8000/mcp \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "method": "mcp/listTools", "params": {}, "id": "1" }'

Testing

For testing rung:

pytest

For tests with coverage:

pytest --cov=src
-
security - not tested
-
license - not tested
-
quality - not tested

A server implementing Model Coupling Protocol for HDF5 file operations, Slurm job management, hardware monitoring, and data compression.

  1. Features
    1. HDF5 file operations:
    2. Slurm job management:
    3. Node Hardware Operations
    4. Compression Operations
  2. Initialization
    1. Running
      1. Endpoints
      2. Examples:
    2. Testing
      ID: jqrxkipbbr