Manages Modal applications so agents can deploy apps and run functions in Modal's serverless cloud.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add modal --env PUBMED_EMAIL='<PUBMED_EMAIL>' -- uv --project /path/to/modal-mcp-server run /path/to/modal-mcp-server/src/modal_mcp/server.py~/.codex/config.toml
[mcp_servers.modal]
command = "uv"
args = ["--project", "/path/to/modal-mcp-server", "run", "/path/to/modal-mcp-server/src/modal_mcp/server.py"]
env = { PUBMED_EMAIL = "<PUBMED_EMAIL>" }
# codex mcp add modal --env PUBMED_EMAIL='<PUBMED_EMAIL>' -- uv --project /path/to/modal-mcp-server run /path/to/modal-mcp-server/src/modal_mcp/server.py~/.cursor/mcp.json
{
"mcpServers": {
"modal": {
"command": "uv",
"args": [
"--project",
"/path/to/modal-mcp-server",
"run",
"/path/to/modal-mcp-server/src/modal_mcp/server.py"
],
"env": {
"PUBMED_EMAIL": "<PUBMED_EMAIL>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"modal": {
"type": "stdio",
"command": "uv",
"args": [
"--project",
"/path/to/modal-mcp-server",
"run",
"/path/to/modal-mcp-server/src/modal_mcp/server.py"
],
"env": {
"PUBMED_EMAIL": "<PUBMED_EMAIL>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"modal": {
"command": "uv",
"args": [
"--project",
"/path/to/modal-mcp-server",
"run",
"/path/to/modal-mcp-server/src/modal_mcp/server.py"
],
"env": {
"PUBMED_EMAIL": "<PUBMED_EMAIL>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"modal": {
"command": "uv",
"args": [
"--project",
"/path/to/modal-mcp-server",
"run",
"/path/to/modal-mcp-server/src/modal_mcp/server.py"
],
"env": {
"PUBMED_EMAIL": "<PUBMED_EMAIL>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"modal": {
"command": "uv",
"args": [
"--project",
"/path/to/modal-mcp-server",
"run",
"/path/to/modal-mcp-server/src/modal_mcp/server.py"
],
"env": {
"PUBMED_EMAIL": "<PUBMED_EMAIL>"
}
}
}
}Environment variables
PUBMED_EMAIL
Replace the placeholders with your own credentials and keep them out of version control.