mcpField
A
add-key

add-key

github.com/berriaiCloud & DevOps103140 installsUpdated 25w ago
Repository

About add-key

A skill that creates an API key on a live LiteLLM proxy. It gathers optional alias, scope, model, budget, and expiry settings, then verifies the result.

Key features

  1. 01Generate a LiteLLM proxy API key
  2. 02Set an alias and team or user scope
  3. 03Restrict allowed models
  4. 04Configure budget and expiry
  5. 05Verify and report key details

Use cases

  1. 01Creating a key for an application
  2. 02Scoping a key to a team or user
  3. 03Limiting models or spending for a key
  4. 04Checking a newly generated key

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/berriai/litellm-skills --skill add-key

After installing, type/add-keyin Claude Code to confirm it loaded.

Details

From the project README

Add Key

Generate a new API key on a live LiteLLM proxy.

Setup

Ask for these if not already known:

LITELLM_BASE_URL  — e.g. https://my-proxy.example.com
LITELLM_API_KEY   — proxy admin key

API reference: https://litellm.vercel.app/docs/proxy/virtual_keys

Ask the user

  1. Key alias (optional but recommended, e.g. my-app-prod)
  2. Scope — assign to a team_id or user_id? (optional)
  3. Allowed models (optional, e.g. gpt-4o, claude-3-5-sonnet)
  4. Max budget (optional, e.g. 5.00)
  5. Expiry (optional, e.g. 7d, 30d, 90d) — omit for no expiry

Run

BASE="$LITELLM_BASE_URL"
KEY="$LITELLM_API_KEY"

curl -s -X POST "$BASE/key/generate" \
  -H "Authorization: Bearer $KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "key_alias": "<alias>",
    "team_id": "<team_id_or_omit>",
    "user_id": "<user_id_or_omit>",
    "models": [<models_or_empty>],
    "max_budget": <budget_or_null>,
    "duration": "<duration_or_omit>"
  }'

Verify

Confirm the key was created:

curl -s "$BASE/key/info" \
  -H "Authorization: Bearer <new_key>" | python3 -c "
import sys, json
d = json.load(sys.stdin)
info = d.get('info', {})
print(f'Alias: {info.get(\"key_alias\")}')
print(f'Expires: {info.get(\"expires\")}')
print(f'Budget: {info.get(\"max_budget\")}')
print(f'Models: {info.get(\"models\")}')
"

Output

Show the user:

  • key — the actual key value (only shown once, tell them to save it)
  • key_alias, expires, max_budget, models

On error:

  • 401 — check that LITELLM_API_KEY is a valid admin key
  • 400 — check required fields; verify team_id/user_id exists
  • Other errors — show detail and the likely fix

Comments

Markdown supported