Modal MCP Server

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Serves as the API framework for the MCP server, providing documentation at /docs endpoint and RESTful endpoints for tool invocation.

  • Provides repository access for the MCP server code, supporting installation via git clone from a GitHub repository.

  • Provides tools for deploying and running Modal applications in the cloud, allowing AI agents to deploy Modal apps and execute functions within Modal applications.

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

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.

-
security - not tested
A
license - permissive license
-
quality - not tested

Un servidor MCP que permite a los agentes de IA interactuar con Modal, lo que les permite implementar aplicaciones y ejecutar funciones en un entorno de nube sin servidor.

  1. Installation
    1. Configuration
      1. Requirements
        1. Supported Tools
          1. Modal Volume Operations
          2. Modal Deployment
        2. Response Format
          1. Contributing
            1. License
              ID: gmerfou61f