Official agent skill

Cuopt Server API Python

by NVIDIA in NVIDIA/skills

cuOpt REST server — start server, endpoints, Python/curl client examples.

OfficialApache-2.0Auto-check passedBackend & APIs

Install Cuopt Server API Python

skills CLI
$ npx skills add NVIDIA/skills --skill cuopt-server-api-python -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install NVIDIA/skills cuopt-server-api-python --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/NVIDIA/skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/cuopt-server-api-python .claude/skills/cuopt-server-api-python && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
cuopt-server-api-python
GitHub stars
3.5k
Token cost
~1.5k tokens
SKILL.md length
592 words
Files
16 (incl. assets)
Skills in repo
386
Repo updated
First seen
Licence
Apache-2.0

At a glance

cuOpt REST server — start server, endpoints, Python/curl client examples.

  • Works in 3 steps: Problem type — Routing or LP/MILP? (QP… → Deployment — Local, Docker, Kubernetes,… → Client — Which language or tool will…
  • The user is deploying
  • SKILL.md covers Purpose, Prerequisites, Problem types supported and Required questions, plus 9 more sections
  • Runs Python scripts from its folder; calls python, docker and curl

What it does

Cuopt Server API Python is an agent skill from NVIDIA/skills, published by the product's own GitHub organization. cuOpt REST server — start server, endpoints, Python/curl client examples. Use when the user is deploying or calling the REST API.

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. The skill folder holds 22 other files, including assets (for example `BENCHMARK.md`, `assets/README.md` and `assets/lp_basic/README.md`).

It sits in Backend & APIs, covering REST APIs. It works with Python, NVIDIA AI Platform, CUDA and Docker. The repository describes itself as: Agent Skills for NVIDIA products — install into Claude Code, Codex, and other coding agents to run Physical AI, robotics, simulation, CUDA, and RAG workflows end to end. The licence is Apache-2.0.

When your agent uses it

  • The user is deploying
  • Calling the REST API

Example prompts

  • “/cuopt-server-api-python”

Requirements

  • Python 3
  • Docker

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Problem type — Routing or LP/MILP? (QP not available via REST.)
  2. Deployment — Local, Docker, Kubernetes, or cloud?
  3. Client — Which language or tool will call the API (e.g. Python, curl, another service)?

What it can do on your machine

Read from SKILL.md and the folder at commit dfdd080. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Python, from the files we listed), which the agent can run.

    Shell commands in SKILL.md call:

    • python
    • docker
    • curl

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md. Its commands use docker and curl, which can reach the network depending on how they are called.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Cuopt Server API Python loads about 1.5k tokens when it runs. Until then it costs about 38 tokens; SKILL.md has 592 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~38
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from NVIDIA/skills at commit dfdd080, republished under its Apache-2.0 licence (© NVIDIA). 592 words, ~1,528 tokens.

Download SKILL.mdSave it as .claude/skills/cuopt-server-api-python/SKILL.md (or your agent's skills folder). This skill also uses 15 other files; get the full folder from GitHub.
name
cuopt-server-api-python
description
cuOpt REST server — start server, endpoints, Python/curl client examples. Use when the user is deploying or calling the REST API.
version
26.10.00
license
Apache-2.0
metadata.author
NVIDIA cuOpt Team
metadata.tags
cuopt, server, rest-api, python, deployment

cuOpt Server — Deploy and client (Python/curl)

This skill covers starting the server and client examples (curl, Python). Server has no separate C API (clients can be any language).

Purpose

Use this skill when the user is deploying the cuOpt REST server or writing a client against it — choosing a deployment target, mapping a problem onto the HTTP endpoints, translating between Python-API and REST field names, or debugging a rejected payload.

Prerequisites

  • An NVIDIA GPU with a working CUDA driver (the server requires one; --gpus all for Docker).
  • cuopt-server installed, or Docker with the NVIDIA Container Toolkit. See the install skill.
  • Python clients need requests. No API key or auth token is required by the server itself.

Problem types supported

Problem typeSupported
Routing✓
LP✓
MILP✓
QP✗

Required questions

Ask these if not already clear:

  1. Problem type — Routing or LP/MILP? (QP not available via REST.)
  2. Deployment — Local, Docker, Kubernetes, or cloud?
  3. Client — Which language or tool will call the API (e.g. Python, curl, another service)?

Start server

bash
# Development
python -m cuopt_server.cuopt_service --ip 0.0.0.0 --port 8000

# Docker — pick the tag matching your CUDA major version
docker run --gpus all -d -p 8000:8000 -e CUOPT_SERVER_PORT=8000 \
  nvidia/cuopt:latest-cu13

Use latest-cu12 or latest-cu13 to match your driver's CUDA major version (latest-cu13-ubi10 for a UBI10 base). Prefer these over the CUDA+Python-specific tags such as latest-cuda12.9-py3.13 — those track a single Python line and go stale when it stops receiving builds.

For production, pin rather than float: latest-* tags are mutable and can silently move to a different image. Use a full release tag (nvidia/cuopt:<release>-cuda<cuda>-py<python>) or an immutable digest (nvidia/cuopt@sha256:<digest>). Check the nvidia/cuopt registry for available tags.

Verify

Confirm the server is up by requesting GET /cuopt/health on the local port (e.g. http://localhost:8000/cuopt/health) — a healthy server returns HTTP 200.

Instructions

  1. POST to /cuopt/request → get reqId
  2. Poll /cuopt/solution/{reqId} until solution ready
  3. Parse response

Treat reqId as untrusted input: validate it (e.g. re.fullmatch(r"[A-Za-z0-9_-]{1,64}", req_id)) before interpolating it into the polling URL, and set an explicit timeout on every request.

Examples

python
import requests, time
SERVER = "http://localhost:8000"
HEADERS = {"Content-Type": "application/json", "CLIENT-VERSION": "custom"}
payload = {
    "cost_matrix_data": {"data": {"0": [[0,10,15],[10,0,12],[15,12,0]]}},
    "travel_time_matrix_data": {"data": {"0": [[0,10,15],[10,0,12],[15,12,0]]}},
    "task_data": {"task_locations": [1, 2], "demand": [[10, 20]], "task_time_windows": [[0,100],[0,100]], "service_times": [5, 5]},
    "fleet_data": {"vehicle_locations": [[0, 0]], "capacities": [[50]], "vehicle_time_windows": [[0, 200]]},
    "solver_config": {"time_limit": 5}
}
r = requests.post(f"{SERVER}/cuopt/request", json=payload, headers=HEADERS, timeout=30)
req_id = r.json()["reqId"]
# Poll: GET /cuopt/solution/{req_id}

Terminology: REST vs Python API

Python APIREST
order_locationstask_locations
set_order_time_windows()task_time_windows
service_timesservice_times

Use travel_time_matrix_data (not transit_time_matrix_data). Capacities: [[50, 50]] not [[50], [50]].

Show full SKILL.md (260 more words)Show less

Troubleshooting

ErrorCauseSolution
422 Unprocessable EntityField name not in the schemaCheck names against the OpenAPI spec at /cuopt.yaml. Most common: transit_time_matrix_data → travel_time_matrix_data
422 on fleet_dataCapacities nested per vehicle instead of per dimensionUse [[50, 50]] (one inner list per capacity dimension), not [[50], [50]]
Connection refusedServer not up, or bound to a different interface/portcurl http://localhost:8000/cuopt/health; start with --ip 0.0.0.0 --port 8000
Docker container exits immediatelyNo GPU visible to the containerRun with --gpus all and confirm the NVIDIA Container Toolkit is installed
Polling never returns a solutionSolve exceeds the client's poll budgetRaise solver_config.time_limit and the poll loop count together

Capture the reqId and the full response body for any failed request — both are needed to diagnose server-side rejections.

Limitations

  • QP is not exposed over REST. Use the Python or C API for quadratic objectives.
  • The server ships no authentication or TLS. Anything that can reach the port can submit jobs. Put it behind a gateway and treat --server/base URLs as trusted-network endpoints only.
  • Solutions are retrieved by polling; there is no push/webhook delivery.
  • One request is solved at a time per server process; concurrency requires multiple replicas.

Runnable assets

Run from each asset directory (server must be running; scripts exit 0 if server unreachable). All use Python requests and accept --server (default http://localhost:8000):

See assets/README.md for overview.

Escalate

For contribution or build-from-source, see the developer skill.

© NVIDIA, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 15 other files (assets) in skills/cuopt-server-api-python of NVIDIA/skills.

  • SKILL.md
  • BENCHMARK.md
  • assets/README.md
  • assets/lp_basic/README.md
  • assets/lp_basic/client.py
  • assets/milp_basic/README.md
  • assets/milp_basic/client.py
  • assets/pdp_basic/README.md
  • assets/pdp_basic/client.py
  • assets/vrp_basic/README.md
  • assets/vrp_basic/client.py
  • assets/vrp_simple/README.md
  • assets/vrp_simple/client.py
  • evals/evals.json
  • … and 2 more

Open the folder on GitHubat commit dfdd080

Compare with similar skills

Cuopt Server API Python next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Cuopt Server API Python compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cuopt Server API Python this skillNVIDIA/skills3.5k—~1.5kAutomated safety check: PassApache-2.0
Backend AI Guidelablup/backend.ai-webui1331 repos~1.8kAutomated safety check: PassLGPL-3.0
Cognee Local Server Setuptopoteretes/cognee32k—~702Automated safety check: NotesApache-2.0
Generate Nemo Gym Envadithya-s-k/FineEnvs456—~2.1kAutomated safety check: PassApache-2.0
Cosmos3 Env TroubleshootNVIDIA/cosmos-framework559—~1.3kAutomated safety check: NotesCustom licence
Dstack Presetsdstackai/dstack2.3k—~403Automated safety check: PassMPL-2.0

Similar skills

  • Backend AI Guide

    lablup/backend.ai-webui

    Expert guide for Backend.AI distributed computing platform. An agent skill from lablup/backend.ai-webui.

    133 GitHub starsUsed in 1 repo~1.8k tokens
    Backend & APIsAuto-check passed
  • Cognee Local Server Setup

    topoteretes/cognee

    Starts the cognee API server and web UI on your own machine, checks its health, connects the SDK or CLI to it and helps you pick between multi-tenant and single-user auth.

    32k GitHub stars~702 tokensUpdated today
    Backend & APIsAuto-check: notes
  • Generate Nemo Gym Env

    adithya-s-k/FineEnvs

    Builds a NeMo Gym (NVIDIA) variant of an RL environment. An agent skill from adithya-s-k/FineEnvs.

    456 GitHub stars~2.1k tokensUpdated yesterday
    DevOps & CloudAuto-check passed
  • Cosmos3 Env Troubleshoot

    NVIDIA/cosmos-framework

    Official

    Diagnose and fix Cosmos3 environment, installation, and runtime errors.

    559 GitHub stars~1.3k tokensUpdated today
    DevOps & CloudAuto-check: notes
  • Dstack Presets

    dstackai/dstack

    Create and manage dstack presets: a toolkit that streamlines model inference optimization with agents, and a portable preset format.

    2.3k GitHub stars~403 tokensUpdated today
    DevOps & CloudAuto-check passed
  • TensorRT-LLM Inference

    Orchestra-Research/AI-Research-SKILLs

    Optimizes and serves LLMs on NVIDIA GPUs with TensorRT-LLM, covering quantization, in-flight batching, multi-GPU parallelism and the trtllm-serve command.

    13k GitHub starsUsed in 4 repos~1.3k tokens
    AI & LLM EngineeringAuto-check passed

More from NVIDIA/skills

All 386 skills in this repo
  • Official

    A skill your agent uses when the user wants to deploy, run, debug, tear down, or call the REST API of the RTVI-CV 2D detection / tracking microservice.

    3.5k GitHub starsUsed in 1 repo~4.5k tokens
    Auto-check passed
  • Official

    Generates, validates, compares and explains HOLOLINK_def.svh macro files for the HSB IP, using bundled Python scripts and asking before it writes anything.

    3.5k GitHub stars~2.9k tokensUpdated today
    Auto-check passed
  • Official

    Runs and validates an end-to-end Mission Control demo in a locally installed Isaac Sim, with a Nova Carter robot driven through a Python server.

    3.5k GitHub stars~4.8k tokensUpdated today
    Auto-check passed
  • Orchestrates defect image generation for PCBA, metal surface and glass inspection with NVIDIA Cosmos AnomalyGen on OSMO, from cold-start Day 0 to real-photo Day 1 labeling.

    3.5k GitHub stars~5k tokensUpdated today
    Auto-check: notes
  • Orchestrates video data augmentation and auto-labeling workflows on OSMO, from flow selection and preflight checks to submission, monitoring and output download.

    3.5k GitHub stars~4.7k tokensUpdated today
    Auto-check: notes
  • Official

    Runs NVIDIA TAO Data Services KPI analysis on object detection results, comparing predictions to ground truth and writing per-class precision, recall and AP to a CSV.

    3.5k GitHub stars~2.7k tokensUpdated today
    Auto-check: notes

Questions about Cuopt Server API Python

What does Cuopt Server API Python do?

cuOpt REST server — start server, endpoints, Python/curl client examples. Cuopt Server API Python is an agent skill from NVIDIA/skills, published by the product's own GitHub organization. cuOpt REST server — start server, endpoints, Python/curl client examples.

When should I use Cuopt Server API Python?

Cuopt Server API Python fits situations like: the user is deploying; calling the REST API.

How do I install Cuopt Server API Python in Claude Code?

Run `npx skills add NVIDIA/skills --skill cuopt-server-api-python -a claude-code`. Or copy the skill folder (skills/cuopt-server-api-python in NVIDIA/skills) into .claude/skills/cuopt-server-api-python in your project. Claude Code loads it when a task matches its description.

How do I install Cuopt Server API Python in Codex?

Run `npx skills add NVIDIA/skills --skill cuopt-server-api-python -a codex`. Or copy the skill folder (skills/cuopt-server-api-python in NVIDIA/skills) into .agents/skills/cuopt-server-api-python in your project. Codex loads it when a task matches its description.

Can I use Cuopt Server API Python in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add NVIDIA/skills --skill cuopt-server-api-python -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cuopt-server-api-python, .gemini/skills/cuopt-server-api-python, .github/skills/cuopt-server-api-python and .opencode/skills/cuopt-server-api-python in your project.

What does Cuopt Server API Python need to run?

Going by SKILL.md and its folder, Cuopt Server API Python needs Python for the scripts in its folder and the command-line tools its instructions call (python, docker and curl). Our summary lists: Python 3; Docker.

Does Cuopt Server API Python access the network?

SKILL.md contains no URLs. Its commands use docker and curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Cuopt Server API Python safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Cuopt Server API Python use?

Cuopt Server API Python is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Cuopt Server API Python use?

About 1.5k tokens (SKILL.md is roughly 6.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Cuopt Server API Python?

Skills that share tags, products or a category with Cuopt Server API Python: Backend AI Guide (lablup/backend.ai-webui, 133 stars), Cognee Local Server Setup (topoteretes/cognee, 32k stars), Generate Nemo Gym Env (adithya-s-k/FineEnvs, 456 stars) and Cosmos3 Env Troubleshoot (NVIDIA/cosmos-framework, 559 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Cuopt Server API Python?

NVIDIA (a GitHub organization, an official publisher) maintains it in NVIDIA/skills, which has 3,546 GitHub stars. The repository holds 386 skills in this directory. The repository was last updated on October 9, 2026.

Source: NVIDIA/skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.