Skip to main content
Glama

Modal MCP Server

Servidor MCP (Model Context Protocol) que conecta agentes de IA (como o Google Antigravity) à infraestrutura da Modal.com, permitindo gerenciar deployments, apps, containers, volumes, secrets e ambientes via ferramentas MCP.

Arquitetura

O projeto usa o SDK oficial do MCP para expor comandos da CLI modal como ferramentas MCP. A comunicação é feita via stdio (StdioServerTransport), ideal para integração com agentes que suportam subprocessos MCP.

Agente de IA (ex: Antigravity)
        |
    [MCP - stdio]
        |
Modal MCP Server (Node.js)
        |
    [CLI: modal]
        |
    Modal.com API

Related MCP server: Modal MCP Server

Estrutura do Projeto

modal-mcp/
├── build/                      # Código compilado (TypeScript → JavaScript)
│   ├── index.js
│   ├── tools/
│   │   ├── deploy.js
│   │   ├── container.js
│   │   ├── volume.js
│   │   ├── secret.js
│   │   ├── app.js
│   │   └── environment.js
│   └── utils/
│       └── exec.js
├── src/                        # Código-fonte TypeScript
│   ├── index.ts                # Entry point do servidor MCP
│   ├── tools/                  # Módulos de ferramentas MCP
│   │   ├── deploy.ts           # Deploy e execução de apps
│   │   ├── container.ts        # Gerenciamento de containers
│   │   ├── volume.ts           # Gerenciamento de volumes persistentes
│   │   ├── secret.ts           # Gerenciamento de secrets
│   │   ├── app.ts              # Gerenciamento de apps
│   │   └── environment.ts      # Gerenciamento de ambientes
│   └── utils/
│       └── exec.ts             # Utilitário de execução da CLI modal
├── package.json
├── tsconfig.json
└── README.md

Pré-requisitos

  • Node.js 18+

  • Conta no Modal.com e token de autenticação configurado (modal token set)

  • CLI do Modal instalada (pip install modal ou modal disponível no PATH)

Instalação

npm install
npm run build

Uso

Iniciar o servidor

npm start
# ou diretamente:
node build/index.js

O servidor escuta comandos MCP via stdin/stdout e se comunica com seu agente de IA.

Integração com Antigravity (opencode.json)

Exemplo de configuração no seu opencode.json para conectar o agente do Google Antigravity ao Modal MCP Server:

{
  "antigravityAgents": {
    "meu-agente": {
      "mcpServers": {
        "modal": {
          "command": "node",
          "args": ["caminho/para/modal-mcp/build/index.js"]
        }
      }
    }
  }
}

Ferramentas MCP Disponíveis

Deploy & Run

Ferramenta

Descrição

modal_deploy

Deploy de uma aplicação Modal a partir de um script Python

modal_run

Execução de função ou entrypoint local no Modal

App Management

Ferramenta

Descrição

modal_app_list

Lista apps em execução, deployed ou parados

modal_app_history

Histórico de deploys de um app

modal_app_logs

Logs de um app

modal_app_stop

Para permanentemente um app

modal_app_rollback

Redeploy de versão anterior

modal_app_rollover

Redeploy sem mudanças de código (novos containers)

Container Management

Ferramenta

Descrição

modal_container_list

Lista containers em execução

modal_container_exec

Executa comando dentro de um container

modal_container_logs

Logs de um container específico

modal_container_stop

Termina um container

Volume Management

Ferramenta

Descrição

modal_volume_list

Lista volumes

modal_volume_create

Cria um volume persistente

modal_volume_delete

Deleta um volume

modal_volume_ls

Lista arquivos/diretórios dentro de um volume

modal_volume_put

Upload de arquivo/diretório para um volume

modal_volume_get

Download de arquivos de um volume

modal_volume_rm

Remove arquivo/diretório de um volume

modal_volume_rename

Renomeia um volume

Secret Management

Ferramenta

Descrição

modal_secret_list

Lista secrets publicados

modal_secret_create

Cria um novo secret

modal_secret_delete

Deleta um secret

Environment Management

Ferramenta

Descrição

modal_env_list

Lista ambientes do workspace

modal_env_create

Cria um novo ambiente

modal_env_delete

Deleta um ambiente

modal_env_update

Atualiza configurações de ambiente

modal_env_members_list

Lista membros de ambiente restrito

modal_env_members_update

Adiciona/atualiza papel de membro

modal_env_members_remove

Remove membro de ambiente restrito

Fluxo de Funcionamento

  1. O agente de IA (ex: Google Antigravity) envia requisições MCP via stdio

  2. O servidor MCP recebe a requisição e identifica qual ferramenta foi chamada

  3. A ferramenta monta o comando modal <subcomando> apropriado

  4. O comando é executado via child_process.exec

  5. O stdout do comando é retornado como resposta MCP

Scripts

Comando

Descrição

npm run build

Compila TypeScript para JavaScript (tsc)

npm run dev

Compila em modo watch (tsc -w)

npm start

Inicia o servidor MCP

Available Tools

30 tools

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 30 tool updatesv1.0.0
    • First observedmodal_app_history
    • First observedmodal_app_list
    • First observedmodal_app_logs
    • First observedmodal_app_rollback
    • First observedmodal_app_rollover
    • First observedmodal_app_stop
    • First observedmodal_container_exec
    • First observedmodal_container_list
    • First observedmodal_container_logs
    • First observedmodal_container_stop
    • First observedmodal_deploy
    • First observedmodal_env_create
    • First observedmodal_env_delete
    • First observedmodal_env_list
    • First observedmodal_env_members_list
    • First observedmodal_env_members_remove
    • First observedmodal_env_members_update
    • First observedmodal_env_update
    • First observedmodal_run
    • First observedmodal_secret_create
    • First observedmodal_secret_delete
    • First observedmodal_secret_list
    • First observedmodal_volume_create
    • First observedmodal_volume_delete
    • First observedmodal_volume_get
    • First observedmodal_volume_list
    • First observedmodal_volume_ls
    • First observedmodal_volume_put
    • First observedmodal_volume_rename
    • First observedmodal_volume_rm

TDQS

B3.2/5.0
Disambiguation5/5

Each tool targets a distinct resource and action, with no overlapping purposes. The few similar operations (e.g., app_stop vs. container_stop) are clearly differentiated by resource scope and descriptions.

Naming Consistency4/5

The predominant pattern modal_<resource>_<action> is consistent across most tools. Two tools (modal_deploy, modal_run) omit the resource prefix, causing minor deviation, but the overall scheme remains predictable and readable.

Tool Count3/5

With 30 tools, the set is above the ideal 3-15 range and falls into the heavy category. However, the broad scope of Modal (environments, apps, secrets, volumes, containers, deployments) justifies the number, even though it feels dense.

Completeness4/5

The tool surface covers most lifecycle operations for each resource: environments have full CRUD, apps have management and deployment actions, volumes include file operations, and containers have exec/logs/stop. A notable gap is the lack of a secret update operation, but agents can work around by deleting and recreating.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Braullynn/modal-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server