open-index/open-npm huggingface dataset:
npm package: @infatoshi/b200-mcp
Description: Model Context Protocol server to run Python scripts on a Modal B200 GPU via npx.
Latest version: 0.1.0

# @infatoshi/b200-mcp

Model Context Protocol server that launches a Modal B200 GPU, uploads a single Python script, executes it, and returns stdout/stderr to the MCP client. Designed for `npx` execution so editors like Cursor can run it without prior installation.

## Quick start

```json
{
  "mcpServers": {
    "b200-modal": {
      "command": "npx",
      "args": ["-y", "@infatoshi/b200-mcp"]
    }
  }
}
```

Invoke the `run_python` tool with the relative path to the script in your workspace. The server resolves the script, deploys a Modal function if needed, and runs the file on a single B200 GPU.

## Tool parameters

| name | type | required | description |
| --- | --- | --- | --- |
| `script_path` | string | yes | Relative path to the Python file to execute. |
| `project_root` | string | no | Base directory to resolve `script_path`. Defaults to the CWD where the MCP server is launched. |
| `args` | string[] | no | Positional arguments forwarded to the Python process. |
| `env` | record | no | Extra environment variables for the script. |

## Configuration

Runtime defaults live in `config/modal.yaml`. Adjust GPU, image, or timeout there instead of hardcoding values. The server reloads the YAML on each invocation so changes take effect immediately.

## Modal prerequisites

1. Install the Modal CLI (`pip install modal`).
2. Authenticate once: `modal token new`.
3. Ensure your account has access to B200 GPUs.

## Development

```bash
npm install
node src/server.js
```

The MCP server uses ESM modules, keeps I/O in `adapter/`, and isolates pure helpers under `lib/`.