MCP Server Implementation
Name: Jafar Alzoubi Student ID: A20501723
Implemented Capabilities
- HDF5 (Data)
- Slurm (Tool)
Setup
- Install uv:
pip install uv
- Create environment:
uv venv
- Activate:
source .venv/bin/activate
- 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
MCP Server
Project Details
- jalzoubi/mcp-server
- Last Updated: 4/21/2025
Recomended MCP Servers
A Desktop Chat App that leverages MCP(Model Context Protocol) to interface with other LLMs.
The core MCP extension for Systemprompt MCP multimodal client
A Model Context Protocol (MCP) server that provides web search capabilities through DuckDuckGo, with additional features for content...

An integration that allows Claude Desktop to interact with Spotify using the Model Context Protocol (MCP).
Global Notion workspace-accessible MCP server for all Notion pages within the workspace
Connect your Bear app via MCP (Model Context Protocol) allowing AI assistants to search and retrieve your notes
yml‘s repository
Create an interactive 2D world where players can engage with NPCs through tasks and conversations. Enhance gameplay with...