CoolFace
Apppublic

MCP-1st-Birthday/cuopt-modal

sourceHugging Faceapache-2.0updated 10mo agoView on Hugging Face
0likes
App README

NVIDIA released cuOpt, a powerful tool for solving LP/MILP problems. Though, not everyone has access to strong GPUs, some of us also have Macs as development environment. Nevertheless, we still want to leverage cuOpt's capabilities.

This application allows you to upload an MPS file defining a linear programming (LP) or mixed-integer linear programming (MILP) problem and solve it using NVIDIA's cuOpt solver via Modal. The library imports the MPS file via PuLP, sets up a Modal application with the necessary resources (GPU, CPU, memory), executes the optimization remotely, and finally returns the results.

You can use this library (vollender) as a standalone tool via PyPi or Github, as an MCP server (Gradio or FastMCP) or through Gradio interface. License for this library is Apache-2.0 but its dependents might have other licenses.

For public demo purposes, the resource settings are fixed and cannot be changed. To use custom resource settings, please run the application locally after setting your Modal credentials in the environment variables MODAL_TOKEN_ID and MODAL_TOKEN_SECRET.

vollender

Vollender is a library for handling optimization problems using NVIDIA cuOpt and Modal. It also contains an MCP Server and a Gradio UI. This project is developed for Hugging Face's MCP Hackathon 2025.

AI Agent Support

Vollender is designed to be agent-friendly.

  • [agents.md](agents.md): General guide for AI agents.
  • [agent-instructions.md](agent-instructions.md): Step-by-step instructions for agents.
  • [CLAUDE.md](CLAUDE.md): Context for Claude.

MCP Servers

Vollender provides two MCP server implementations:

FastMCP

Located in mcp/fastmcp/.

To run:

bash
uv run fastmcp run mcp/fastmcp/server.py:mcp

Gradio MCP

Located in mcp/gradio/.

To run:

bash
uv run python mcp/gradio/server.py

Hugging Face Spaces

This project is configured to be deployed to Hugging Face Spaces.

  1. 1.Create a new Space on Hugging Face.
  2. 2.Select Gradio as the SDK.
  3. 3.Upload the contents of this repository (or push via Git).
  4. 4.Important: Go to Settings > Variables and secrets in your Space and add the following secrets:
  5. 5.MODAL_TOKEN_ID
  6. 6.MODAL_TOKEN_SECRET

These are required for the Modal integration to work.