Modal MCP Server
About
Interact with Modal volumes and deploy Modal applications from within Cursor.
Details
- Author
- smehmood
- GitHub stars
- 3
- Downloads
- 172
- Categories
- Cloud Service, Infrastructure, Other
Jump to
- List all Modal volumes in your environment
- List files and directories inside a Modal volume
- Copy files within a Modal volume
- Remove files or directories from a Modal volume
- Upload and download files to/from a Modal volume
- Deploy a Modal application from a given file path
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Modal MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Clone the repository, install dependencies with uv sync, then add its configuration to ~/.cursor/mcp.json pointing to the server script. Ensure you have Python 3.11+, uv, and Modal CLI with valid credentials. For deployments, the project must use uv and have Modal installed in its virtual environment.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"modal mcp server": {
"modal-mcp-server": {
"command": "uv",
"args": [
"sync"
]
}
}
}
}
McpServers
{
"modal-mcp-server": {
"command": "uv",
"args": [
"sync"
]
}
}
Modal MCP Server
An MCP server implementation for interacting with Modal volumes and deploying Modal applications from within Cursor.
Installation
1. Clone this repository:
git clone https://github.com/smehmood/modal-mcp-server.git
cd modal-mcp-server
2. Install dependencies using uv:
uv sync
Configuration
To use this MCP server in Cursor, add the following configuration to your ~/.cursor/mcp.json:
{
"mcpServers": {
"modal-mcp-server": {
"command": "uv",
"args": [
"--project", "/path/to/modal-mcp-server",
"run", "/path/to/modal-mcp-server/src/modal_mcp/server.py"
]
}
}
}
Replace /path/to/modal-mcp-server with the absolute path to your cloned repository.
Requirements
- Python 3.11 or higher
- uv package manager
- Modal CLI configured with valid credentials
- For Modal deploy support:
- Project being deployed must use uv for dependency management
- Modal must be installed in the project's virtual environment
Supported Tools
Modal Volume Operations
1. List Modal Volumes (list_modal_volumes)
- Lists all Modal volumes in your environment
- Returns JSON-formatted volume information
- Parameters: None
2. List Volume Contents (list_modal_volume_contents)
- Lists files and directories in a Modal volume
- Parameters:
- volume_name: Name of the Modal volume
- path: Path within volume (default: "/")
3. Copy Files (copy_modal_volume_files)
- Copies files within a Modal volume
- Parameters:
- volume_name: Name of the Modal volume
- paths: List of paths where last path is destination
- Example: ["source.txt", "dest.txt"] or ["file1.txt", "file2.txt", "dest_dir/"]
4. Remove Files (remove_modal_volume_file)
- Deletes a file or directory from a Modal volume
- Parameters:
- volume_name: Name of the Modal volume
- remote_path: Path to file/directory to delete
- recursive: Boolean flag for recursive deletion (default: false)
5. Upload Files (put_modal_volume_file)
- Uploads a file or directory to a Modal volume
- Parameters:
- volume_name: Name of the Modal volume
- local_path: Path to local file/directory to upload
- remote_path: Path in volume to upload to (default: "/")
- force: Boolean flag to overwrite existing files (default: false)
6. Download Files (get_modal_volume_file)
- Downloads files from a Modal volume
- Parameters:
- volume_name: Name of the Modal volume
- remote_path: Path to file/directory in volume to download
- local_destination: Local path to save downloaded files (default: current directory)
- force: Boolean flag to overwrite existing files (default: false)
- Note: Use "-" as local_destination to write file contents to stdout
Modal Deployment
1. Deploy Modal App (deploy_modal_app)
- Deploys a Modal application
- Parameters:
- absolute_path_to_app: Absolute path to the Modal application file
- Note: The project containing the Modal app must:
- Use uv for dependency management
- Have the modal CLI installed in its virtual environment
Response Format
All tools return responses in a standardized format, with slight variations depending on the operation type:
```python
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




