Skip to main content
Glama
Labs64

Labs64/NetLicensing-MCP

by Labs64

NetLicensing MCP Server

CI PyPI GHCR MCP Registry Python 3.12+ License

The official β€” a natural language interface that lets AI agents manage software licenses, customers, and entitlements through conversational commands.

Works with Claude Desktop, GitHub Copilot (Agent mode), VS Code, JetBrains / IntelliJ IDEA, and any other MCP-compatible client.


Why use this?

  • Natural Language Licensing β€” Ask your AI assistant to create products, issue licenses, validate entitlements, and generate shop URLs without touching the NetLicensing UI or writing API calls.

  • Full API coverage β€” Various tools spanning the entire NetLicensing REST API: products, modules, templates, licensees, licenses, bundles, tokens, transactions, and payment methods.

  • Built-in audit prompts β€” Five ready-to-run prompt templates for account audits, expiry sweeps, anomaly detection, and cleanup workflows.

  • Safe by default β€” All delete operations expose a force_cascade option; nothing is silently cascaded.

  • Zero-dependency quick start β€” Run with uvx or Docker without a local Python install.


What can you ask?

Once connected, you can talk to NetLicensing in plain language:

  • "List all products in my NetLicensing account."

  • "Create a new licensee for

  • "Validate the license for licensee L001 β€” does it pass?"

  • "Generate a shop URL for licensee L001 so they can self-serve their renewal."

  • "Which licenses are expiring in the next 30 days?"

  • "Find any licensees with no active licenses β€” flag them for cleanup."

  • "Transfer all licenses from licensee L001 to L002."

  • "Create an API key token scoped to read-only access."

  • "Show me all transactions from the last month."


Features

Area

Tools

Products

list, get, create, update, delete

Product Modules

list, get, create, update, delete

License Templates

list, get, create, update, delete

Licensees

list, get, create, update, delete, validate, transfer

Licenses

list, get, create, update (activate/deactivate), delete

Bundles

list, get, create, update, delete, obtain

Tokens

list, get, create shop URL, create API token, revoke

Transactions

list, get, create, update

Payment Methods

list, get, update

Utilities

list licensing models, list license types

Audit Prompts

full account, single customer, expiry sweep, cleanup, anomaly detection

Delete Safety

force_cascade option on all delete tools


Quick Start

Option A β€” uvx (no install required)

NETLICENSING_API_KEY=your_key uvx netlicensing-mcp

Option B β€” pip

pip install netlicensing-mcp
NETLICENSING_API_KEY=your_key netlicensing-mcp

Option C β€” Docker

docker run -i --rm \
  -e NETLICENSING_API_KEY=your_key \
  ghcr.io/labs64/netlicensing-mcp:latest

No API key? Leave NETLICENSING_API_KEY empty to run against NetLicensing's built-in sandbox with demo credentials β€” no account required.


Configuration

Environment Variables

Variable

Required

Default

Description

NETLICENSING_API_KEY

No*

(demo mode)

NetLicensing API key. Leave empty to use sandbox demo credentials.

NETLICENSING_BASE_URL

No

https://go.netlicensing.io/core/v2/rest

Override the NetLicensing REST API base URL (e.g. for on-prem deployments).


Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "netlicensing": {
      "command": "uvx",
      "args": ["netlicensing-mcp"],
      "env": {
        "NETLICENSING_API_KEY": "your_key_here"
      }
    }
  }
}

Or use the official Docker image:

{
  "mcpServers": {
    "netlicensing": {
      "command": "docker",
      "args": [
        "run", "-i", "--rm",
        "-e", "NETLICENSING_API_KEY=your_key_here",
        "ghcr.io/labs64/netlicensing-mcp:latest"
      ]
    }
  }
}

VS Code / GitHub Copilot

The repo ships a .vscode/mcp.json that auto-configures Copilot Agent mode. Set NETLICENSING_API_KEY in your shell environment or a .env file, then click Start in the editor banner that appears above mcp.json.

JetBrains / IntelliJ IDEA

In Copilot Chat β†’ Agent mode β†’ Tools icon β†’ Add More Tools… β€” paste the same JSON block shown in the Claude Desktop section above.


Audit Prompt Templates

Five built-in prompts accessible in Copilot Agent and Claude Desktop:

Prompt

Purpose

license_audit_full

End-to-end account audit for a product

license_audit_customer

Deep-dive on a single licensee

license_audit_expiry

Find licenses expiring within N days and generate renewal URLs

license_audit_cleanup

Identify inactive / orphaned licenses for cleanup

license_audit_anomaly

Detect unusual usage patterns across all customers


Troubleshooting

Check MCP server logs

# macOS / Claude Desktop
tail -f ~/Library/Logs/Claude/mcp-server-netlicensing.log
 
# Windows
Get-Content "$env:APPDATA\Claude\Logs\mcp-server-netlicensing.log" -Wait

Run the MCP Inspector (browser UI at http://localhost:5173)

mcp dev src/netlicensing_mcp/server.py

Common issues

Symptom

Likely cause

Fix

401 Unauthorized responses

Invalid or expired API key

Regenerate your key at ui.netlicensing.io

Server not listed in Claude

Config file JSON syntax error

Validate with python -m json.tool claude_desktop_config.json

uvx: command not found

uv not installed

pip install uv or see docs.astral.sh/uv

Demo data instead of live data

NETLICENSING_API_KEY not set

Ensure the env var is exported in the shell that starts the client


Development

git clone https://github.com/Labs64/NetLicensing-MCP
cd NetLicensing-MCP
 
python -m venv .venv
source .venv/bin/activate       # Windows: .venv\Scripts\activate
 
pip install -e ".[dev]"
cp .env.example .env            # add your API key
 
# Run the MCP Inspector
mcp dev src/netlicensing_mcp/server.py
 
# Run tests
pytest tests/ -v

HTTP mode (for remote / shared deployments)

python -m netlicensing_mcp.server http
# Server listens on 0.0.0.0:8000

Use ngrok or a reverse proxy to expose the HTTP endpoint to remote MCP clients:

ngrok http 8000
# Then point your client at the generated HTTPS URL

Contributing

Contributions are welcome! Please open an issue or pull request on GitHub.

For significant changes, open an issue first to discuss the approach.


License

Apache 2.0 β€” see LICENSE.

Install Server
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

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/Labs64/NetLicensing-MCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server