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.

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