Modal
K-Dense-AI/scientific-agent-skills
Modal is a serverless cloud platform for running Python on demand, including on-demand GPUs.
A skill your agent uses when the user needs to run isolated code remotely — a disposable container, optional GPU access (T4 → H100), or a safer place for untrusted / heavy code.
$ npx skills add BlockRunAI/blockrun-mcp --skill modal -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install BlockRunAI/blockrun-mcp modal --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/BlockRunAI/blockrun-mcp.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/modal .claude/skills/modal && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "modal" agent skill from https://github.com/BlockRunAI/blockrun-mcp/tree/main/skills/modal into .claude/skills/modal/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "modal", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/BlockRunAI/blockrun-mcp/tree/main/skills/modalType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add BlockRunAI/blockrun-mcp --skill modal -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install BlockRunAI/blockrun-mcp modal --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/BlockRunAI/blockrun-mcp.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/modal .agents/skills/modal && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "modal" agent skill from https://github.com/BlockRunAI/blockrun-mcp/tree/main/skills/modal into .agents/skills/modal/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "modal", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add BlockRunAI/blockrun-mcp --skill modal -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install BlockRunAI/blockrun-mcp modal --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/BlockRunAI/blockrun-mcp.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/modal .cursor/skills/modal && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "modal" agent skill from https://github.com/BlockRunAI/blockrun-mcp/tree/main/skills/modal into .cursor/skills/modal/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "modal", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/BlockRunAI/blockrun-mcp.git --path skills/modal--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add BlockRunAI/blockrun-mcp --skill modal -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install BlockRunAI/blockrun-mcp modal --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/BlockRunAI/blockrun-mcp.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/modal .gemini/skills/modal && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "modal" agent skill from https://github.com/BlockRunAI/blockrun-mcp/tree/main/skills/modal into .gemini/skills/modal/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "modal", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install BlockRunAI/blockrun-mcp modalInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add BlockRunAI/blockrun-mcp --skill modal -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/BlockRunAI/blockrun-mcp.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/modal .github/skills/modal && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "modal" agent skill from https://github.com/BlockRunAI/blockrun-mcp/tree/main/skills/modal into .github/skills/modal/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "modal", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add BlockRunAI/blockrun-mcp --skill modal -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install BlockRunAI/blockrun-mcp modal --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/BlockRunAI/blockrun-mcp.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/modal .opencode/skills/modal && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "modal" agent skill from https://github.com/BlockRunAI/blockrun-mcp/tree/main/skills/modal into .opencode/skills/modal/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "modal", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
modalA skill your agent uses when the user needs to run isolated code remotely — a disposable container, optional GPU access (T4 → H100), or a safer place for untrusted / heavy code.
Modal is an agent skill from BlockRunAI/blockrun-mcp. Use when the user needs to run isolated code remotely — a disposable container, optional GPU access (T4 → H100), or a safer place for untrusted / heavy code. Prefer local execution for normal repo work; use Modal sandboxes for isolation, hardware access, or one-shot heavy compute.
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
The repository describes itself as: Live data for AI agents — search, research, markets, crypto, X/Twitter. Pay-per-call via x402 micropayments. The licence is MIT.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit e9b2bd5. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are typescript).
From the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
modal.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Modal loads about 1.9k tokens when it runs. Until then it costs about 72 tokens; SKILL.md has 765 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from BlockRunAI/blockrun-mcp at commit e9b2bd5, republished under its MIT licence (© BlockRunAI). 765 words, ~1,889 tokens.
.claude/skills/modal/SKILL.md (or your agent's skills folder).Disposable remote containers (with optional GPU) via Modal, paid per call in USDC. No Modal account, no GPU procurement.
Base only in wallet mode; fine on an API key. sol.blockrun.ai carries the /v1/modal/* routes but has no Modal backend
configured, so every action — create, exec, status, terminate — answers 503. That reads
as "the sandbox service is down" rather than "wrong chain", which is exactly the wrong
conclusion to act on: retrying will not help. The tool checks the active chain first and
says so. Switch with blockrun_wallet action:"chain" chain:"base". Prices below are Base
prices and include its per-transaction fee.
timeouttimeout is the BILLED lifetime, charged upfront in full, and never refunded — not an idle timeout. Above 300s the price switches from a flat rate to per-hour billing for the entire duration you ask for, whether you use it or not. Terminating early refunds nothing.
That makes timeout the single most expensive field in this MCP:
| what you ask for | what you pay |
|---|---|
{ timeout: 300 } | $0.0110 |
{ timeout: 300, gpu: "A100" } | $0.2010 |
{ timeout: 600, gpu: "A100" } | $0.6677 |
{ timeout: 86400, gpu: "H100" } | $192.0010 |
All four are live-verified quotes. A 24h H100 sandbox costs $192 upfront, non-refundable, even if your job finishes in a minute.
So: ask for the time you need, not a safe-looking ceiling. Need 20 minutes of H100? timeout: 1200 is $2.67, not $192. Keep timeout ≤ 300 and you stay on the flat rate entirely.
// 1. Create — timeout: 300 keeps you on the FLAT rate ($0.0110, or $0.2010 with A100).
// Anything above 300 bills hourly for the full requested lifetime, no refund.
blockrun_modal({ path: "sandbox/create", body: {
image: "python:3.11",
gpu: "A100",
timeout: 300,
setup_commands: ["pip install torch transformers"]
}})
// returns { sandbox_id, ... }
// 2. Exec
blockrun_modal({ path: "sandbox/exec", body: {
sandbox_id: "sb_abc...",
command: ["python", "-c", "import torch; print(torch.cuda.get_device_name(0))"]
}})
// 3. Terminate
blockrun_modal({ path: "sandbox/terminate", body: { sandbox_id: "sb_abc..." } })| Path | Method | Body | Price |
|---|---|---|---|
sandbox/create | POST | { image?, timeout?, cpu?, memory?, gpu?, setup_commands? } | depends on timeout + gpu — see below |
sandbox/exec | POST | { sandbox_id, command: ["python","-c","..."], timeout? } | $0.0020 |
sandbox/status | POST | { sandbox_id } | $0.0020 |
sandbox/terminate | POST | { sandbox_id } | $0.0020 |
sandbox/create pricing is bimodaltimeout ≤ 300s — flat rate, charged once:
| gpu | price |
|---|---|
| (none, CPU) | $0.0110 |
T4 | $0.0510 |
L4 | $0.0810 |
A10G | $0.1010 |
A100 | $0.2010 |
H100 | $0.4010 |
timeout > 300s — per-hour × the full requested lifetime, upfront, no refund:
| gpu | per hour | 1h | 24h (max) |
|---|---|---|---|
| (none, CPU) | $0.10 | $0.1010 | $2.4010 |
T4 | $1.50 | $1.5010 | $36.0010 |
L4 | $2.00 | $2.0010 | $48.0010 |
A10G | $2.50 | $2.5010 | $60.0010 |
A100 | $4.00 | $4.0010 | $96.0010 |
H100 | $8.00 | $8.0010 | $192.0010 |
Hours are exact, not rounded up — timeout: 1800 on A100 is 0.5h = $2.0010. Every figure above includes the $0.001 flat transaction fee. Max timeout is 86400 (24h).
One quirk worth knowing: timeout: 300 costs $0.0110 (flat) but timeout: 301 costs $0.0094 (CPU-hourly) — just past the cliff is briefly cheaper on CPU. It stops being cheaper at 360s.
| Field | Default | Notes |
|---|---|---|
image | python:3.11 | Any public Docker image. nvidia/cuda:12-runtime if you bring GPU code. |
timeout | 300 | BILLED lifetime in seconds — charged upfront for the full amount, never refunded. NOT idle eviction: you pay for what you ask for, not what you use. ≤300 = flat rate; >300 switches to per-hour billing (see the tables above). Max 86400 (24h). This is the field that turns a $0.01 sandbox into a $192 one. |
cpu | 1 | CPU cores |
memory | 1024 | Memory in MB |
gpu | none | T4 / L4 / A10G / A100 / H100 — those five only. Anything else is rejected: {"gpu":"A100-80GB"} returns HTTP 400 "Unsupported GPU type. Allowed: T4, L4, A10G, A100, H100". Drives the price hard — see the tables above. |
setup_commands | [] | Shell commands run once during sandbox provisioning |
command (exec) | required | Array form: ["python","-c","print(2+2)"] |
const { structuredContent: sb } = await blockrun_modal({ path: "sandbox/create", body: {} })
await blockrun_modal({ path: "sandbox/exec", body: {
sandbox_id: sb.sandbox_id,
command: ["python", "-c", "import numpy; print(numpy.__version__)"]
}})
await blockrun_modal({ path: "sandbox/terminate", body: { sandbox_id: sb.sandbox_id } })Cost: $0.0150 — create $0.0110 + exec $0.0020 + terminate $0.0020. Every call carries the $0.001 transaction fee, so three calls pay it three times; batch your work into one exec rather than several.
blockrun_modal({ path: "sandbox/create", body: {
image: "pytorch/pytorch:2.4.0-cuda12.1-cudnn9-runtime",
gpu: "A100",
timeout: 1200,
memory: 16384,
setup_commands: ["pip install --quiet transformers accelerate"]
}})Then sandbox/exec with your inference command.
Cost: $1.3383 — create $1.3343 + exec $0.0020 + terminate $0.0020. timeout: 1200 is above the 300s flat tier, so the A100 bills hourly for the full 20 minutes you asked for: $4.00/h × (1200/3600) = $1.3333, + the $0.001 fee. It is charged upfront and never refunded — it does NOT auto-evict when idle, and terminating after 30 seconds still costs the full $1.3343. Ask for the time you actually need.
blockrun_modal({ path: "sandbox/exec", body: {
sandbox_id,
command: ["bash", "-c", "<the generated script>"],
timeout: 60
}})Output is captured. No risk to your local machine.
sandbox_id is returned by create and required by every other endpointexec is sync — blocks until command finishes or hits its timeoutterminate is cheap; call it to free the sandbox even if timeout would expire shortlynvidia/* LLM models in blockrun_chat are different infrastructure — Modal is for your arbitrary codePOST /v1/modal/sandbox/{create,exec,status,terminate}© BlockRunAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/modal of BlockRunAI/blockrun-mcp.
Open the folder on GitHubat commit e9b2bd5
Modal next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Modal this skillBlockRunAI/blockrun-mcp | 392 | — | ~1.9k | Automated safety check: Pass | MIT | |
| ModalK-Dense-AI/scientific-agent-skills | 48k | 1 repos | ~4.5k | Automated safety check: Notes | Apache-2.0 | |
| Remotion Interactivityremotion-dev/remotion | 62k | 5 repos | ~4.8k | Automated safety check: Pass | Custom licence | |
| Imperative Modal APIlobehub/lobehub | 83k | — | ~1.3k | Automated safety check: Pass | Custom licence | |
| Remotiondavila7/claude-code-templates | 32k | 1 repos | ~1.6k | Automated safety check: Pass | MIT | |
| Remotionnexu-io/open-design | 100k | — | ~301 | Automated safety check: Pass | Apache-2.0 |
K-Dense-AI/scientific-agent-skills
Modal is a serverless cloud platform for running Python on demand, including on-demand GPUs.
remotion-dev/remotion
Structure Remotion markup for interactivity. An agent skill from remotion-dev/remotion.
lobehub/lobehub
Shows how to build modals, dialogs and confirmations in LobeHub with the base-ui imperative API (createModal, confirmModal, ModalHost) instead of declarative Modal components.
davila7/claude-code-templates
Best practices and comprehensive guide for Remotion - programmatic video creation in React with animations, compositions, and media handling
nexu-io/open-design
Programmatic video creation with React. An agent skill from nexu-io/open-design.
davila7/claude-code-templates
Run Python code in the cloud with serverless containers, GPUs, and autoscaling.
BlockRunAI/blockrun-mcp
Prepare or run a polished BlockRun trading demo that discovers a current Polymarket market, combines live price, probability history, smart-money, and liquidity evidence into a balanced signal…
BlockRunAI/blockrun-mcp
Pay-per-call access to AI models, real-time data, media generation and multi-chain RPC over x402 micropayments (USDC on Base or Solana), or a BlockRun account API key.
BlockRunAI/blockrun-mcp
A skill your agent uses when the BlockRun MCP server (@blockrun/mcp) is installed but misbehaving — 'Failed to connect', spawn npx ENOENT, blockrun missing from claude mcp list, HTTP 402 /…
BlockRunAI/blockrun-mcp
A skill your agent uses when asked to install, add, configure, or set up the BlockRun MCP server (@blockrun/mcp) in Claude Code, Claude Desktop, Cursor, Windsurf, Codex CLI, Grok or another MCP…
BlockRunAI/blockrun-mcp
A skill your agent uses when the BlockRun MCP server prints 'Update available', when asked to upgrade, update, or pin @blockrun/mcp, when a fix 'should be in the new version' but the client still…
BlockRunAI/blockrun-mcp
A skill your agent uses for any crypto data question — token/coin prices, FX, commodities, stocks, OHLC history, DEX pairs and liquidity, DeFi TVL, yield/APY pools, or raw JSON-RPC against a chain…
A skill your agent uses when the user needs to run isolated code remotely — a disposable container, optional GPU access (T4 → H100), or a safer place for untrusted / heavy code. Modal is an agent skill from BlockRunAI/blockrun-mcp. Use when the user needs to run isolated code remotely — a disposable container, optional GPU access (T4 → H100), or a safer place for untrusted / heavy code.
Modal fits situations like: the user needs to run isolated code remotely — a disposable container; optional GPU access (T4 → H100); A safer place for untrusted / heavy code.
Run `npx skills add BlockRunAI/blockrun-mcp --skill modal -a claude-code`. Or copy the skill folder (skills/modal in BlockRunAI/blockrun-mcp) into .claude/skills/modal in your project. Claude Code loads it when a task matches its description.
Run `npx skills add BlockRunAI/blockrun-mcp --skill modal -a codex`. Or copy the skill folder (skills/modal in BlockRunAI/blockrun-mcp) into .agents/skills/modal in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add BlockRunAI/blockrun-mcp --skill modal -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/modal, .gemini/skills/modal, .github/skills/modal and .opencode/skills/modal in your project.
SKILL.md names no scripts, command-line tools or credentials: Modal is instructions for the agent only. Our summary lists: Python 3; Docker.
SKILL.md names 1 domain. As links in the text: modal.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Modal is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.6k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Modal: Modal (K-Dense-AI/scientific-agent-skills, 48k stars), Remotion Interactivity (remotion-dev/remotion, 62k stars), Imperative Modal API (lobehub/lobehub, 83k stars) and Remotion (davila7/claude-code-templates, 32k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
BlockRunAI (a GitHub organization) maintains it in BlockRunAI/blockrun-mcp, which has 392 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on October 8, 2026.
Source: BlockRunAI/blockrun-mcp on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.