list_modal_volumesLABSCO SUMMARY
Volume housekeeping is the real value; deploying is the bonus on top.
The volume tools cover list, upload, download, copy and delete — the part of Modal work that otherwise means remembering CLI flags for a job you do twice a month. Because it runs through a Modal CLI you have already authenticated, there is no key to configure and no separate scope: the server reaches exactly the volumes that CLI reaches.
What it is
A Python server that drives the Modal CLI you already have configured: it lists your volumes, moves files in and out of them, and deploys a Modal app from a local project directory.
What you get
- Every Modal volume in your environment, returned as JSON
- The files and directories inside a volume, at any path you name
- Uploads of a local file or directory into a volume, with a force flag when you mean to overwrite
- Downloads from a volume back to a local destination
- Copies within a volume — one source or several, with the last path as the destination
- Deletes of a file or directory, recursive when you ask for it
- Deployment of a Modal app from a project directory
Requirements
Python 3.11 or higher, the uv package manager, and a Modal CLI already configured with valid credentials. Deploying additionally needs the target project to manage dependencies with uv and to have Modal installed in its virtual environment.
Setup effort
Build from source — git clone https://github.com/smehmood/modal-mcp-server.git
USE CASES
Finding out what a training run actually wrote
List the volumes, then walk the paths inside the one the job used, without opening the Modal dashboard.
Getting a checkpoint off a volume and onto your laptop
Locate the file by path, then pull it down to a local destination in the same conversation.
Pushing a dataset up before a run starts
Upload a local file or whole directory into the volume, forcing the overwrite when you are replacing an earlier version.
Clearing out an experiment directory you are done with
Delete the path recursively, after listing it once to confirm what is about to go.
Reorganising files inside a volume
Copy one or several paths to a new destination inside the same volume, without downloading and re-uploading them.
7 tools
Listed in project docs. Your client may show a different list.
list_modal_volume_contentscopy_modal_volume_filesremove_modal_volume_fileput_modal_volume_fileget_modal_volume_filedeploy_modal_appBEFORE YOU INSTALL
What to know first
Tools you get
7 tools named in the project's documentation.
Requires
- Python 3.11 or later
- uv package manager
- Modal CLI configured with valid credentials
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
You clone this one yourself.
Server setup
git clone https://github.com/smehmood/modal-mcp-server.git
cd modal-mcp-server
uv syncMCP Clients
Cursor
{
"mcpServers": {
"modal-mcp-server": {
"command": "uv",
"args": [
"--project",
"<YOUR_PATH_TO_MODAL_MCP_SERVER>",
"run",
"<YOUR_PATH_TO_MODAL_MCP_SERVER>/src/modal_mcp/server.py"
]
}
}
}