Labs64/NetLicensing-MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NETLICENSING_API_KEY | No | NetLicensing API key. Leave empty to use sandbox demo credentials. | |
| NETLICENSING_BASE_URL | No | Override the NetLicensing REST API base URL (e.g. for on-prem deployments). | https://go.netlicensing.io/core/v2/rest |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| netlicensing_list_productsC | List all products in the NetLicensing account. Args: filter: Optional server-side filter expression (e.g. 'active=true') |
| netlicensing_get_productB | Get details of a specific product. Args: product_number: Product identifier (e.g. 'P001') |
| netlicensing_create_productB | Create a new product. Args: number: Unique product number (e.g. 'P001') name: Human-readable product name version: Product version string active: Whether the product is active description: Optional product description licensing_info: Optional licensing information displayed in the shop licensee_auto_create: Auto-create licensees on first validation attempt vat_mode: GROSS or NET (leave empty to use account default) licensee_secret_mode: DISABLED, PREDEFINED, or CLIENT (leave empty for default) |
| netlicensing_update_productB | Update an existing product's fields. Args: product_number: Product to update name: New name (leave empty to keep current) active: Set active state (omit to keep current) version: New version string (leave empty to keep current) description: New description (leave empty to keep current) licensing_info: Licensing information for the shop (leave empty to keep current) licensee_auto_create: Auto-create licensees on first validation vat_mode: GROSS or NET (leave empty to keep current) licensee_secret_mode: DISABLED, PREDEFINED, or CLIENT (leave empty to keep current) |
| netlicensing_delete_productA | Delete a product permanently. Args: product_number: Product to delete force_cascade: Also delete all dependent modules, templates, licensees, and licenses |
| netlicensing_list_bundlesB | List all bundles in the NetLicensing account. |
| netlicensing_get_bundleC | Get details of a specific bundle. Args: bundle_number: Bundle identifier (e.g. 'B001') |
| netlicensing_create_bundleB | Create a new bundle grouping one or more license templates. Args: number: Unique bundle number (e.g. 'B001') name: Human-readable bundle name license_template_numbers: List of license template numbers included in the bundle active: Whether the bundle is active price: Optional bundle price currency: ISO 4217 currency code (e.g. EUR, USD — leave empty for account default) description: Optional bundle description |
| netlicensing_update_bundleB | Update an existing bundle's fields. Args: bundle_number: Bundle to update name: New name (leave empty to keep current) active: Set active state (omit to keep current) license_template_numbers: New list of license template numbers (omit to keep current) price: New price (omit to keep current) currency: New currency code (leave empty to keep current) description: New description (leave empty to keep current) |
| netlicensing_delete_bundleC | Delete a bundle permanently. Args: bundle_number: Bundle to delete force_cascade: Force deletion even if dependencies exist |
| netlicensing_obtain_bundleB | Obtain a bundle for a customer — creates licenses from all license templates included in the bundle for the specified licensee. Args: bundle_number: Bundle to obtain licensee_number: Customer (licensee) who receives the licenses |
| netlicensing_list_product_modulesB | List all modules (feature groups) for a product. Args: product_number: Product whose modules to list filter: Optional server-side filter expression (e.g. 'active=true') |
| netlicensing_get_product_moduleB | Get a specific product module. Args: module_number: Module identifier |
| netlicensing_create_product_moduleA | Create a product module with a licensing model. Args: product_number: Parent product number: Unique module number (e.g. 'M01') name: Module name licensing_model: One of: TryAndBuy, Subscription, Rental, Floating, MultiFeature, PayPerUse, PricingTable, Quota, NodeLocked active: Whether the module is active max_checkout_validity: Maximum checkout validity in days (Floating model) yellow_threshold: Remaining time volume for yellow warning (Rental model) red_threshold: Remaining time volume for red warning (Rental model) node_secret_mode: PREDEFINED or CLIENT (NodeLocked model) |
| netlicensing_update_product_moduleB | Update a product module's properties. Args: module_number: Module to update name: New name (leave empty to keep current) active: Set active state (omit to keep current) max_checkout_validity: Maximum checkout validity in days (Floating model, omit to keep current) yellow_threshold: Remaining time volume for yellow warning (Rental model, omit to keep current) red_threshold: Remaining time volume for red warning (Rental model, omit to keep current) node_secret_mode: PREDEFINED or CLIENT (NodeLocked model, leave empty to keep current) |
| netlicensing_delete_product_moduleB | Delete a product module. Args: module_number: Module to delete force_cascade: Also delete all dependent license templates and licenses |
| netlicensing_list_license_templatesB | List all license templates for a product module. Args: module_number: Module whose templates to list filter: Optional server-side filter expression (e.g. 'active=true') |
| netlicensing_get_license_templateC | Get a specific license template. Args: template_number: Template identifier |
| netlicensing_create_license_templateA | Create a license template. Args: module_number: Parent product module number: Unique template number (e.g. 'LT01') name: Template display name license_type: FEATURE | TIMEVOLUME | FLOATING | QUANTITY price: Template price (0 for free) currency: ISO 4217 currency code (default EUR) automatic: Auto-assign this license to new licensees hidden: Hide template in NetLicensing Shop hide_licenses: Hide licenses derived from this template in the Shop active: Whether the template is active time_volume: Number of time units (TIMEVOLUME type) time_volume_period: DAY | WEEK | MONTH | YEAR (TIMEVOLUME type) max_sessions: Concurrent sessions allowed (FLOATING type) quantity: Usage quota (QUANTITY / PayPerUse type) grace_period: Allow grace period after expiry (Subscription model) |
| netlicensing_update_license_templateB | Update a license template's properties. Args: template_number: Template to update name: New name (leave empty to keep current) active: Set active state (omit to keep current) price: New price (omit to keep current) currency: New ISO 4217 currency code (leave empty to keep current) automatic: Auto-assign to new licensees (omit to keep current) hidden: Hide template in NetLicensing Shop (omit to keep current) hide_licenses: Hide derived licenses in the Shop (omit to keep current) time_volume: Number of time units — TIMEVOLUME type (omit to keep current) time_volume_period: DAY | WEEK | MONTH | YEAR — TIMEVOLUME type (leave empty to keep current) max_sessions: Concurrent sessions — FLOATING type (omit to keep current) quantity: Usage quota — QUANTITY / PayPerUse type (omit to keep current) grace_period: Grace period after expiry — Subscription model (omit to keep current) |
| netlicensing_delete_license_templateB | Delete a license template. Args: template_number: Template to delete force_cascade: Also delete all dependent licenses |
| netlicensing_list_licenseesC | List all customers (licensees) for a product. Args: product_number: Product to list customers for filter: Optional server-side filter expression (e.g. 'active=true') |
| netlicensing_get_licenseeB | Get a specific licensee (customer). Args: licensee_number: Licensee identifier (e.g. 'I001') |
| netlicensing_create_licenseeB | Create a new customer (licensee) under a product. Args: product_number: Product to associate the customer with number: Optional custom licensee number (auto-generated if empty) name: Optional display name for the customer active: Whether the licensee is active marked_for_transfer: Mark licensee for license transfer licensee_secret: Secret for licensee identification (when product licenseeSecretMode is PREDEFINED) |
| netlicensing_update_licenseeB | Update a licensee's properties. Args: licensee_number: Licensee to update name: New name (empty to keep current) active: New active state (omit to keep current) marked_for_transfer: Mark for license transfer (omit to keep current) licensee_secret: Secret for licensee identification (leave empty to keep current) |
| netlicensing_delete_licenseeA | Delete a licensee and all their licenses permanently. Args: licensee_number: Licensee to delete force_cascade: Also delete all dependent licenses |
| netlicensing_validate_licenseeB | Validate a customer's licenses across all product modules. Returns per-module validity, type, expiry dates, and usage counts. Args: licensee_number: Customer to validate product_number: Optional — scope validation to a specific product licensee_name: Human-readable name for auto-created licensees (when licenseeAutoCreate is enabled) session_id: Floating model — unique session identifier action: Floating model — 'checkOut' or 'checkIn' product_module_number: NodeLocked model — target product module node_secret: NodeLocked model — unique device/node secret |
| netlicensing_transfer_licensesC | Transfer all licenses from one licensee to another. Args: from_licensee_number: Source licensee to_licensee_number: Destination licensee |
| netlicensing_list_licensesB | List all licenses for a specific customer. Args: licensee_number: Customer whose licenses to list filter: Optional server-side filter expression (e.g. 'active=true') |
| netlicensing_get_licenseB | Get details of a specific license. Args: license_number: License identifier |
| netlicensing_create_licenseB | Assign a new license to a customer from a license template. Args: licensee_number: Customer to assign the license to license_template_number: Template defining type and rules number: Optional custom license number (auto-generated if empty) active: Whether the license is active immediately name: Display name (defaults from template if empty) start_date: ISO 8601 datetime — mandatory for TIMEVOLUME type price: License price (overrides template default, omit to inherit) currency: ISO 4217 currency code (overrides template default) time_volume: Duration value — mandatory for TIMEVOLUME type time_volume_period: DAY | WEEK | MONTH | YEAR (TIMEVOLUME type) quantity: Usage quota — mandatory for PayPerUse / NodeLocked models parent_feature: Parent feature — mandatory for TIMEVOLUME + Rental model hidden: Hide license from end customer in Shop (omit to inherit) |
| netlicensing_update_licenseB | Update a license's properties. Args: license_number: License to update active: True to activate, False to deactivate (omit to keep current) name: New display name (leave empty to keep current) start_date: ISO 8601 datetime — TIMEVOLUME type (leave empty to keep current) price: License price (omit to keep current) currency: ISO 4217 currency code (leave empty to keep current) time_volume: Duration value — TIMEVOLUME type (leave empty to keep current) time_volume_period: DAY | WEEK | MONTH | YEAR (leave empty to keep current) quantity: Usage quota — PayPerUse model (leave empty to keep current) used_quantity: Used count — PayPerUse model (leave empty to keep current) parent_feature: Parent feature — Rental model (leave empty to keep current) hidden: Visibility in Shop (omit to keep current) |
| netlicensing_delete_licenseA | Delete a license permanently. Args: license_number: License to delete force_cascade: Force deletion even if dependencies exist |
| netlicensing_list_tokensC | List all active tokens in the account. Args: filter: Optional server-side filter expression (e.g. 'tokenType=SHOP') |
| netlicensing_get_tokenB | Get details of a specific token. Args: token_number: Token identifier |
| netlicensing_create_shop_tokenB | Generate a NetLicensing Shop one-time checkout URL for a customer. Args: licensee_number: Customer to generate the shop URL for product_number: Optional — scope shop to a specific product license_template_number: Optional — pre-select a specific license template success_url: Optional URL to redirect to after successful purchase cancel_url: Optional URL to redirect to if customer cancels success_url_title: Optional button/link label for success redirect cancel_url_title: Optional button/link label for cancel redirect |
| netlicensing_create_api_tokenB | Create a scoped API token. Args: api_key_role: ROLE_APIKEY_LICENSEE | ROLE_APIKEY_ANALYTICS | ROLE_APIKEY_OPERATION | ROLE_APIKEY_MAINTENANCE | ROLE_APIKEY_ADMIN licensee_number: Optional — scope token to a specific licensee |
| netlicensing_delete_tokenC | Revoke an API or shop token. Args: token_number: Token to revoke |
| netlicensing_list_transactionsC | List all transactions in the account. Args: filter: Optional server-side filter expression (e.g. 'status=CLOSED') |
| netlicensing_get_transactionC | Get details of a specific transaction. Args: transaction_number: Transaction identifier |
| netlicensing_create_transactionB | Create a new transaction. Args: status: CANCELLED | CLOSED | PENDING source: Transaction source — SHOP or AUTO (default SHOP) licensee_number: Optional — associated licensee number: Optional custom transaction number (auto-generated if empty) name: Optional human-readable transaction name active: Whether the transaction is active date_created: Optional ISO 8601 creation timestamp date_closed: Optional ISO 8601 close timestamp payment_method: Optional payment method number |
| netlicensing_update_transactionB | Update a transaction's status or properties. Args: transaction_number: Transaction to update status: CANCELLED | CLOSED | PENDING (leave empty to keep current) active: Set active state (omit to keep current) name: Human-readable name (leave empty to keep current) date_closed: ISO 8601 close timestamp (leave empty to keep current) payment_method: Payment method number (leave empty to keep current) |
| netlicensing_list_payment_methodsB | List all payment methods configured for the account. Args: filter: Optional server-side filter expression (e.g. 'active=true') |
| netlicensing_get_payment_methodB | Get details of a specific payment method. Args: payment_method_number: Payment method identifier |
| netlicensing_update_payment_methodC | Update a payment method's configuration. Args: payment_method_number: Payment method to update active: Enable or disable the payment method paypal_subject: PayPal account e-mail address |
| netlicensing_list_licensing_modelsB | List all licensing models supported by the NetLicensing service. |
| netlicensing_list_license_typesB | List all license types supported by the NetLicensing service. |
| netlicensing_list_countriesA | List all countries available for VAT and localization settings. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| license_audit_full | Run a comprehensive license audit across all customers of a product. Args: product_number: The NetLicensing product number to audit (e.g. 'P001') |
| license_audit_customer | Deep-dive audit for a single customer's license health. Args: licensee_number: The licensee number to audit (e.g. 'I001') |
| license_audit_expiry | Find all customers with licenses expiring within N days. Args: product_number: Product number to sweep days_threshold: Flag licenses expiring within this many days (default 30) |
| license_audit_cleanup | Identify inactive, unused, or orphaned licenses for cleanup. Args: product_number: Product number to inspect |
| license_audit_anomaly | Detect anomalous usage patterns across all customers. Args: product_number: Product number to analyse |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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