LABSCO SUMMARY
The credential work happens once, outside the server.
Authentication is Modal's own setup command, not an API key you paste into a config — so the server inherits whatever account the machine is already signed into, and there is no secret in the client configuration. What comes back is the part that matters: a link to a running application, which is a very short path from a script in a chat to something a colleague can open.
What it is
An MCP server that lets an assistant deploy Python scripts to Modal, the serverless compute platform. You hand it a script and ask for a Modal application; after the code is generated you get a URL you can open and share.
What you get
- Deployment of a generated Python script to Modal, ending in a link to the running application
- A workflow that pairs naturally with a filesystem server — the README's example config runs both, so the script can be read from disk and then deployed
Requirements
A Modal account, set up locally first: pip install modal then python3 -m modal setup, which is what authenticates the deployment. Run the server with uv --directory /path/to/mcp-server-modal run modal-server. The package is modal-server (version 0.1.0).
Setup effort
Build from source — git clone https://github.com/Flux159/mcp-server-modal
USE CASES
01
Turning a script into something with a URL
Hand the assistant the Python and ask it to create and deploy a Modal application, then open the link it returns.
02
Sharing a prototype without a deployment story
Deploy from the conversation and send the resulting link, instead of writing infrastructure around a one-off script.
BEFORE YOU INSTALL
What to know first
Requires
- uv on PATH
- pip on PATH
- Python 3.12 or later
- A Modal account (python3 -m modal setup)
INSTALLATION
Connect your client
Server setup
TERMINAL
git clone https://github.com/Flux159/mcp-server-modal
pip install modal
python3 -m modal setupMCP Clients
Claude Desktop
CLAUDE DESKTOP · JSON
{
"mcpServers": {
"mcp-server-modal": {
"command": "uv",
"args": [
"--directory",
"<YOUR_PATH_TO_MCP_SERVER_MODAL>",
"run",
"modal-server"
]
},
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/<YOUR_USERNAME>/Desktop/",
"<YOUR_PATH_TO_OTHER_DIR>"
]
}
}
}<YOUR_PATH_TO_MCP_SERVER_MODAL> is the full path of the folder you cloned. The second entry is the separate filesystem server the README runs beside it, so Claude can read your script from disk: /Users/<YOUR_USERNAME>/Desktop/ and <YOUR_PATH_TO_OTHER_DIR> are folders on your machine it may read. Delete the filesystem entry if you do not need it.