MCP Modal Server MCP server
io.github.george-bobby/mcp-modal·v0.5.0·4 starsMCP server for managing Modal apps, containers, volumes, and secrets.
4 stars61 downloads/wk
Reviews
Write oneNobody has reviewed MCP Modal Server yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
MCP Modal Server tools (12, 4 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
analyze_modal_costsBreak down what the workspace is spending (`modal billing`). Costs are fetched once and aggregated locally, so you get ranked totals and period-over-period changes rather than hundreds of raw rows.
deploy_modal_appwrite actionDeploy a Modal app (`modal deploy`). Deployed endpoints persist after this returns, so any URLs in the result are live, shareable links.
get_modal_logsFetch logs for an app or container (`modal app logs` / `modal container logs`). To find where something went wrong, prefer search_modal_logs — it returns matches with surrounding context instead of a raw tail.
inspect_modal_secretList the KEY NAMES inside a Modal secret — never the values.
list_modal_resourcesRead-only lookup of everything in the Modal account. Start here to find the app name, container ID or volume name that the other tools take.
manage_modal_appChange a deployed app's state. Both actions affect live traffic.
manage_modal_containerAct on one running container. Find IDs with list_modal_resources(resource="containers").
manage_modal_secretwrite actionCreate or delete a secret. To list secret names use list_modal_resources(resource="secrets") — values are never readable.
manage_modal_volumeVolume lifecycle. For the files inside a volume use modal_volume_files (writes) or list_modal_resources(resource="volume_files") (reads).
modal_volume_fileswrite actionWrite operations on a volume's files. To LIST a volume's contents use list_modal_resources(resource="volume_files").
run_modal_appwrite actionRun a Modal function or local entrypoint once and collect its output (`modal run`). Use this to test on Modal compute; use deploy_modal_app to publish.
search_modal_logsSearch an app's or container's logs and return each hit WITH surrounding context — the fastest way to find a traceback, an error or a request ID. Logs are fetched once and grepped locally, so you get the lines around each match, not just the match.
Public scan report
scanner v0.1.10 · 2026-10-15 · same rubric, same numbers if you re-run it
- Code scan19 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 36 days ago12/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10
How MCP Modal Server compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 88/100
- higher than 75% of 48,243 servers
- Tools
- 12
- the typical server has 7
- Tools that change things
- 33%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 4
- more than 82% of 28,706 servers
- Downloads a week
- 61
- more than 48% of 12,306 servers with a package
What its tools let an agent do: 8 read · 2 change · 2 run or deploy
Install MCP Modal Server in Claude Code, Cursor or VS Code
claude mcp add mcp-modal -- uvx mcp-modal
What the publisher says
From the MCP Modal Server repository's README, as published. We do not edit it. Read it on GitHub
<!-- mcp-name: io.github.george-bobby/mcp-modal -->
MCP Modal Server
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.
Every tool shells out to your local modal CLI, so it operates against whatever Modal profile and credentials are configured on your machine. There are no extra tokens to manage.
Installation
The server is published on PyPI as mcp-modal. No manual install is needed — the recommended way to run it is with uvx, which fetches and launches it on demand. Just point your MCP client at the command below (see Configuration).
Every version is also tagged and published on the Releases page, with release notes and the same .whl / .tar.gz that PyPI serves attached — useful for pinning, air-gapped installs, or reading what changed between two versions.
Logging in to Modal
This server uses your local Modal credentials. If you haven't authenticated yet, run:
modal setupThis opens a browser to log in and stores a token in ~/.modal.toml. Already logged in elsewhere? Check with modal profile current.
Configuration
Add the server to Claude Code with the claude mcp CLI:
claude mcp add mcp-modal -- uvx mcp-modal@latestOr add it to a .mcp.json file in your project root, which is the better option for a team — everyone who opens the repo gets the same configuration:
{
"mcpServers": {
"mcp-modal": {
"command": "uvx",
"args": ["mcp-modal@latest"]
}
}
}Why @latest, and when to pin instead
uvx caches the environment it builds on the first run and does not check PyPI again:
"uvx will use the latest available version of the requested tool on the first invocation.
After that, uvx will use the cached version of the tool unless a different version is
requested, the cache is pruned, or the cache is refreshed."
— uv docs
So a plain uvx mcp-modal means latest at install time, frozen forever after — restarting the client or rebooting changes nothing, because the cache lives on disk. Different people end up on different versions depending on when they first ran it, with no warning.
Costs one network round-trip at startup. Use it while the tool surface is still moving.
- mcp-modal@latest re-resolves on every launch, so a restart picks up new releases.
deliberate one-line change. Use it once you want stability, or for a wider audience.
- mcp-modal@0.4.0 (an explicit version) is reproducible and upgrades become a
To move a machine that is already stuck on an old cached build, switching it to either form above is enough — requesting a version invalidates the cache. Otherwise uv cache clean mcp-modal forces a refresh.
Requirements
where modal billing summary/rates landed and where the billing report switched to snake_case columns; the cost tool reads both spellings but needs 1.5 for those two views
- Python 3.11 or higher
- uv (provides uvx)
- Modal CLI 1.5 or newer, configured with valid credentials (modal setup) — 1.5 is
- For Modal deploy and run support:
- The project being deployed/run must use uv for dependency management
- modal must be installed in that project's virtual environment
Security
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
MCP Modal Server: common questions
- Is MCP Modal Server MCP server safe?
- Yes, by our scan: it is graded A (88/100). Read the MCP Modal Server safety report
- How do I install MCP Modal Server?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does MCP Modal Server need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is MCP Modal Server maintained?
- The last commit was 57 days ago (2026-09-09). The latest release is v0.5.0.
- How does MCP Modal Server compare with other MCP servers?
- safety score 88/100 (higher than 75% of 48,243 servers); tools 12 (the typical server has 7); tools that change things 33% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.