activate_license
Activate a license with hardware ID and product code
Activate, check and manage LicenseSpring licences and customers from the conversation — two servers, one for the License API and one for Management.
LABSCO SUMMARY
The split is a security boundary, not packaging convenience: a client wired to the License API can activate and check, and cannot create or delete anything. Add the management server only where that authority belongs. Note that what actually works depends on your LicenseSpring tier — the server starts either way and reports the limitation rather than hiding it.
A LicenseSpring integration that ships as two separate server entry points. The License API side handles what an installed product does — activation against a hardware id, status checks, consumption, floating licences. The Management API side is the back office: listing, creating and updating licences and customers.
activate_license, check_license, deactivate_licenseadd_consumption, get_trial_keyfloating_release, floating_borrowget_product_details, get_versions, get_installation_file, get_sso_url, change_passwordlist_licenses, create_license, get_license, update_license, delete_licenselist_customers, create_customerA LicenseSpring account. LICENSE_API_KEY is the primary credential for the licence server, taken from the dashboard under Settings → Keys; LICENSE_SHARED_KEY is optional and only for organisations on shared API settings. The management server takes MANAGEMENT_API_KEY instead. Node.js 20.x or higher; the two servers run from the two Docker images. The README launches them instead from @tfedorko/licensespring-mcp-server, taking license-api or management-api as the argument, a name npm does not have. Behaviour adapts to your subscription tier — Basic and Standard run in a limited mode rather than failing to start.
Run a container — pull the image and point your client at it
USE CASES
Check the licence's status and validity, then try an activation against the hardware id they report, and read the error the API actually returns.
Generate a trial key and pull the product details and the installer information to send with it.
Deactivate against the old hardware id, then activate against the new one, without opening the dashboard.
Create the customer on the management side, create the licences against them, and list back what exists to confirm.
Counted once with only startup setup. Other versions, modes or optional credentials may expose a different list.
activate_licenseActivate a license with hardware ID and product code
activate_offlineActivate a license for offline use with hardware ID and product code
add_consumptionAdd consumption units to a license
add_feature_consumptionAdd consumption units to a specific feature
change_passwordChange password for a user-based license
check_licenseCheck license status and validity
deactivate_licenseDeactivate a license for a specific hardware ID
deactivate_offlineDeactivate a license for offline use with hardware ID and product code
floating_borrowBorrow a floating license for offline use
floating_releaseRelease a floating license
get_customer_license_usersGet customer license users for a specific license
get_device_variablesGet tracked variables for a device
get_installation_fileGet installation file download information
get_product_detailsGet detailed information about a product
get_sso_urlGet Single Sign-On URL for customer portal access
get_trial_keyGenerate a trial license key for a product
get_versionsGet available software versions for a product
track_device_variablesTrack custom variables for a device
BEFORE YOU INSTALL
18 tools when we connected. These 18 come from the License API server. The Management API server adds seven more, which the README lists: list_licenses, create_license, update_license, get_license, delete_license, list_customers and create_customer.
CONTEXT COST
Rated by the size of the 18 tool definitions that ride along on every turn, not by how many there are
INSTALLATION
{
"mcpServers": {
"licensespring": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"LICENSE_API_KEY",
"-e",
"LICENSE_SHARED_KEY",
"stiertfedorko/licensespring-mcp:latest"
],
"env": {
"LICENSE_API_KEY": "<YOUR_LICENSE_API_KEY>",
"LICENSE_SHARED_KEY": "<YOUR_LICENSE_SHARED_KEY>"
}
},
"licensespring-management": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"MANAGEMENT_API_KEY",
"stiertfedorko/licensespring-mcp-management:latest"
],
"env": {
"MANAGEMENT_API_KEY": "<YOUR_MANAGEMENT_API_KEY>"
}
}
}
}The block adds two servers. licensespring is the License API server and needs only LICENSE_API_KEY (LICENSE_SHARED_KEY can stay empty unless your organisation uses shared API settings). licensespring-management is the Management API server: keep it only if you have a Management API key, otherwise delete that entry.