MCP.so
Sign In
M

Modal MCP

@george-bobby

About Modal MCP

An MCP server for managing Modal — apps, containers, volumes, and secrets — and for deploying & running Modal apps directly from Claude Code and other MCP clients.

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "mcp-modal": {
      "command": "uvx",
      "args": [
        "mcp-modal"
      ]
    }
  }
}

Tools

No tools detected

We auto-extract tools from the README. The maintainer can list them under a ## Tools heading to populate this section.

Overview

What is Modal MCP?

Modal MCP is an MCP server for managing Modal — apps, containers, volumes, and secrets — and for deploying and running Modal apps directly from Claude Code and other MCP clients. It shells out to your local modal CLI, using whatever Modal profile and credentials are configured on your machine with no extra tokens to manage.

How to use Modal MCP?

Install via uvx mcp-modal (requires Python 3.11+, uv, and Modal CLI 1.x configured with valid credentials). Add the server to Claude Code with claude mcp add mcp-modal -- uvx mcp-modal or add it to a .mcp.json file in your project root. All tools are invoked through your MCP client after configuration; for deploy/run support the target project must use uv with modal installed in its virtual environment.

Key features of Modal MCP

  • 26 tools across deploy/run, apps, containers, logs, volumes, secrets, and discovery
  • All tools use your local Modal CLI credentials automatically
  • Optional MCP_MODAL_ALLOWED_LOCAL_PATHS allowlist to restrict file access
  • Secret values are redacted from commands, logs, and error output
  • Standardized response format with JSON, lists, and contextual log search
  • Supports pinned releases via uvx mcp-modal@<version>

Use cases of Modal MCP

  • Deploy and run Modal apps from Claude Code with persistent web endpoints
  • List, stop, roll back, and inspect Modal apps and containers
  • Upload and download files to/from Modal volumes
  • Create, list, and delete Modal secrets and manage environments
  • Search app/container logs with regex, context lines, and exclusion filters

FAQ from Modal MCP

How does Modal MCP authenticate with Modal?

Modal MCP uses your local Modal credentials stored in ~/.modal.toml. Run modal setup to log in, or check the current profile with modal profile current.

Why is there no modal serve tool?

modal serve keeps endpoints alive only while the blocking process runs, so an MCP tool that returns would tear them down immediately. Use deploy_modal_app for persistent, shareable endpoints.

How can I restrict file access for volume tools?

Set the MCP_MODAL_ALLOWED_LOCAL_PATHS environment variable to a colon-separated list of allowed directories. When set, put_modal_volume_file and get_modal_volume_file (with force=True) will be refused unless the resolved local path falls inside one of those roots.

What are the dependencies and runtime requirements?

Python 3.11+, uv (provides uvx), Modal CLI 1.x with valid credentials. For deploy/run support, the target project must use uv for dependency management and have modal installed in its virtual environment.

How are powerful tools secured against prompt injection?

Tools like deploy_modal_app, run_modal_app, put_modal_volume_file, get_modal_volume_file (with force=True), and exec_modal_container can execute arbitrary code or exfiltrate data. They should remain behind your MCP client's tool‑approval prompts and not be auto‑approved.

Frequently asked questions

How does Modal MCP authenticate with Modal?

Modal MCP uses your local Modal credentials stored in `~/.modal.toml`. Run `modal setup` to log in, or check the current profile with `modal profile current`.

Why is there no `modal serve` tool?

`modal serve` keeps endpoints alive only while the blocking process runs, so an MCP tool that returns would tear them down immediately. Use `deploy_modal_app` for persistent, shareable endpoints.

How can I restrict file access for volume tools?

Set the `MCP_MODAL_ALLOWED_LOCAL_PATHS` environment variable to a colon-separated list of allowed directories. When set, `put_modal_volume_file` and `get_modal_volume_file` (with `force=True`) will be refused unless the resolved local path falls inside one of those roots.

What are the dependencies and runtime requirements?

Python 3.11+, `uv` (provides `uvx`), Modal CLI 1.x with valid credentials. For deploy/run support, the target project must use `uv` for dependency management and have `modal` installed in its virtual environment.

How are powerful tools secured against prompt injection?

Tools like `deploy_modal_app`, `run_modal_app`, `put_modal_volume_file`, `get_modal_volume_file` (with `force=True`), and `exec_modal_container` can execute arbitrary code or exfiltrate data. They should remain behind your MCP client's tool‑approval prompts and not be auto‑approved.

Comments

More Other MCP servers