- Home
- MCP servers
- CS550
CS550
- python
0
GitHub Stars
python
Language
4 months ago
First Indexed
3 weeks ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"estebaniit-cs550_mcp": {
"command": "uvicorn",
"args": [
"server:app",
"--reload"
]
}
}
}You have an MCP server that exposes a small set of mock data resources and tools for testing and development. It lets you list mock HDF5 files, submit simulated Slurm jobs, report CPU cores, and visualize CSV data, all through a unified API endpoint you can call from an MCP client. This guide walks you through using the server, installing and running it locally, and understanding its capabilities.
How to use
Interact with the MCP server by sending requests to the MCP endpoint exposed by the server. You can retrieve the list of available resources, call specific tools to perform actions, and obtain results such as file listings, job submission IDs, CPU core counts, or generated plots. Use the provided API surface to integrate these capabilities into your workflows or client applications.
How to install
Prerequisites you need before starting:
- Python 3.10 or later installed on your system
- Internet access to install dependencies
- A shell or terminal to run commands
Step-by-step commands to set up the MCP server locally:
```bash
# Create and activate a Python virtual environment
python3.10 -m venv .venv
source .venv/bin/activate
# Install project dependencies
pip install -U pip
# Install other dependencies as needed by your project setup
# Run your project setup tooling as applicable (e.g., dependency lock files)
# Start the MCP server (from the project root or where the server module resides)
uvicorn server:app --reload
After starting, the server will be available at the following endpoints:
- API endpoint: http://localhost:8000/mcp
- Health check: http://localhost:8000/health
Notes:
- If you use a Windows environment, adjust the activation command to the appropriate script path (e.g., .venv\Scripts\activate).
- Ensure any required environment variables are set before starting the server in your local environment.
## Additional content
Configuration and capabilities provided by the MCP server include a set of mock data resources and tools that you can exercise via the MCP endpoint. The server implements JSON-RPC style methods to expose the capabilities, including:
- Data Resources: HDF5 file listing with an optional path\_pattern parameter.
- Tools:
- Slurm Job Submission: simulate submitting a job to a Slurm scheduler with script\_path and cores.
- CPU Core Reporting: return the number of CPU cores available on the system.
- CSV Visualization: plot two columns from a CSV file, defaulting to the first two columns if not specified. The tool writes the resulting plot to a plots\_results directory and returns the path to the generated PNG file.
Run tests and explore the available endpoints to verify behavior and integrate the MCP server into your own workflows.
## Troubleshooting and notes
If you encounter errors, ensure:
- The server is running and accessible at the expected endpoints.
- All required parameters for each tool call are validated and provided.
- The filesystem paths used in HDF5 listing and CSV plotting exist and are accessible to the server process.
For any issues related to environment or dependencies, verify you activated the correct virtual environment and installed all required packages. If a request fails due to missing files or invalid inputs, check the server logs for JSON-RPC error details to guide corrective actions.
## Tools overview
The MCP server provides four core capabilities as tools:
- HDF5 File Listing: lists mock HDF5 files within a directory structure, with an optional path\_pattern filter.
- Slurm Job Submission: simulates submitting a job to a Slurm scheduler, requiring a script\_path and optionally a cores count.
- CPU Core Reporting: reports the number of CPU cores available on the system.
- CSV Visualization: plots two columns from a CSV file, defaulting to the first two columns when not specified, and returns the path to the generated plot.
## Environment and language
Programming language: Python. The implementation relies on common scientific Python tooling for data handling and plotting, including Pandas and Matplotlib, alongside a FastAPI-based server and Uvicorn for serving the API.
## Available tools
### hdf5\_file\_listing
Lists mock HDF5 files in a directory structure with an optional path\_pattern to filter the results.
### slurm\_job\_submission
Simulates submitting a job to a Slurm scheduler using a provided script\_path and optional cores count.
### cpu\_core\_reporting
Reports the number of CPU cores available on the system without requiring any input parameters.
### plot\_vis\_columns
Plots two columns from a CSV file, defaulting to the first two columns if column names are not specified; returns a path to the generated PNG file.