Labs64/NetLicensing-MCP

Labs64/NetLicensing-MCP

The official NetLicensing MCP Server is a natural language interface that enables agentic applications to manage the full software licensing lifecycle in Labs64 NetLicensing πŸ‘‰πŸΌ without writing a single API call.

Category
Visit Server

README

NetLicensing MCP Server

<!-- mcp-name: io.github.Labs64/netlicensing-mcp -->

CI PyPI GHCR Docker Hub MCP Registry Python 3.12+ License

The official Labs64 NetLicensing MCP Server β€” 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 customer@example.com under product PTEST."
  • "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

stdio (default) β€” for Claude Desktop / VS Code

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

HTTP mode β€” for remote/shared deployments

docker run -d -p 8000:8000 \
  -e NETLICENSING_API_KEY=your_key \
  ghcr.io/labs64/netlicensing-mcp:latest http

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).
MCP_HOST No 127.0.0.1 Host address to bind the HTTP server (HTTP mode only).
MCP_PORT No 8000 Port to bind the HTTP server (HTTP mode only).

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:

stdio (default) β€” for Claude Desktop / VS Code

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

HTTP mode β€” for remote/shared deployments

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

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 MCP_HOST:MCP_PORT (default: 127.0.0.1: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


NetLicensing-MCP MCP server

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured