Skip to main content
Glama

Servidor MCP modal

Una implementación de servidor MCP para interactuar con volúmenes modales e implementar aplicaciones modales desde Cursor.

Instalación

  1. Clonar este repositorio:

git clone https://github.com/smehmood/modal-mcp-server.git
cd modal-mcp-server
  1. Instalar dependencias usando uv :

uv sync

Related MCP server: MCP Shell Server

Configuración

Para utilizar este servidor MCP en Cursor, agregue la siguiente configuración a su ~/.cursor/mcp.json :

{
  "mcpServers": {
    "modal-mcp-server": {
      "command": "uv",
      "args": [
        "--project", "/path/to/modal-mcp-server",
        "run", "/path/to/modal-mcp-server/src/modal_mcp/server.py"
      ]
    }
  }
}

Reemplace /path/to/modal-mcp-server con la ruta absoluta a su repositorio clonado.

Requisitos

  • Python 3.11 o superior

  • administrador de paquetes uv

  • CLI modal configurada con credenciales válidas

  • Para compatibilidad con implementación modal:

    • El proyecto que se está implementando debe usar uv para la gestión de dependencias

    • Modal debe estar instalado en el entorno virtual del proyecto.

Herramientas compatibles

Operaciones de volumen modal

  1. Lista de volúmenes modales ( list_modal_volumes )

    • Enumera todos los volúmenes modales en su entorno

    • Devuelve información de volumen en formato JSON

    • Parámetros: Ninguno

  2. Lista de contenidos del volumen ( list_modal_volume_contents )

    • Enumera archivos y directorios en un volumen modal

    • Parámetros:

      • volume_name : Nombre del volumen modal

      • path : Ruta dentro del volumen (predeterminado: "/")

  3. Copiar archivos ( copy_modal_volume_files )

    • Copia archivos dentro de un volumen modal

    • Parámetros:

      • volume_name : Nombre del volumen modal

      • paths : Lista de rutas donde la última ruta es el destino

    • Ejemplo: ["source.txt", "dest.txt"] o ["file1.txt", "file2.txt", "dest_dir/"]

  4. Eliminar archivos ( remove_modal_volume_file )

    • Elimina un archivo o directorio de un volumen modal

    • Parámetros:

      • volume_name : Nombre del volumen modal

      • remote_path : Ruta al archivo/directorio a eliminar

      • recursive : indicador booleano para eliminación recursiva (predeterminado: falso)

  5. Subir archivos ( put_modal_volume_file )

    • Carga un archivo o directorio a un volumen modal

    • Parámetros:

      • volume_name : Nombre del volumen modal

      • local_path : Ruta al archivo/directorio local para cargar

      • remote_path : Ruta en el volumen a cargar (predeterminado: "/")

      • force : indicador booleano para sobrescribir archivos existentes (predeterminado: falso)

  6. Descargar archivos ( get_modal_volume_file )

    • Descarga archivos de un volumen modal

    • Parámetros:

      • volume_name : Nombre del volumen modal

      • remote_path : Ruta al archivo/directorio en el volumen para descargar

      • local_destination : Ruta local para guardar los archivos descargados (predeterminado: directorio actual)

      • force : indicador booleano para sobrescribir archivos existentes (predeterminado: falso)

    • Nota: Utilice "-" como local_destination para escribir el contenido del archivo en la salida estándar

Despliegue modal

  1. Implementar aplicación modal ( deploy_modal_app )

    • Implementa una aplicación modal

    • Parámetros:

      • absolute_path_to_app : Ruta absoluta al archivo de la aplicación modal

    • Nota: El proyecto que contiene la aplicación Modal debe:

      • Utilice uv para la gestión de dependencias

      • Tener la CLI modal instalada en su entorno virtual

Formato de respuesta

Todas las herramientas devuelven respuestas en un formato estandarizado, con ligeras variaciones según el tipo de operación:

# JSON operations (list volumes, list contents):
{
    "success": True,
    "data": {...}  # JSON data from Modal CLI
}

# File operations (put, get, copy, remove):
{
    "success": True,
    "message": "Operation successful message",
    "command": "executed command string",
    "stdout": "command output",  # if any
    "stderr": "error output"     # if any
}

# Error case (all operations):
{
    "success": False,
    "error": "Error message describing what went wrong",
    "command": "executed command string",  # for file operations
    "stdout": "command output",  # if available
    "stderr": "error output"     # if available
}

Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

Licencia

Este proyecto está licenciado bajo la licencia MIT: consulte el archivo de LICENCIA para obtener más detalles.

Install Server
A
license - permissive license
A
quality
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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/smehmood/modal-mcp-server'

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