MCS Engine: Licensing Guide
Osinix (osinix.com)
This guide explains how MCS licensing works: the keys involved, how activation and the daily check work, what happens offline, the messages you might see, and how to move your license to another computer.
Two different keys (this trips people up)
MCS involves two kinds of keys, and they are not the same thing:
- Your Osinix license key (
license.key). This authorizes MCS itself to run. You get it from Osinix. There is one per installation. - Your model provider API keys (OpenAI, Anthropic, Google, and so on). These are yours, from each provider. MCS is bring-your-own-keys: you enter a provider key for each model on your panel, and that key goes directly from your machine to that provider. Osinix never receives or stores your provider keys.
In short: the license key unlocks MCS; the provider keys pay for the models you choose to run. The rest of this guide is about the license key.
Where your license lives
The license key is a small text file named license.key. It lives in your
install's config directory, the same location on Linux and macOS:
- With the default install:
~/osinix/mcs/config/license.key. - If you installed elsewhere (for example
--prefix=/opt), it is under that prefix:/opt/osinix/mcs/config/license.key.
Setting it up: the engine ships without a license, so you place your
license.key file in that config directory yourself, on both platforms:
cp /path/to/your/license.key ~/osinix/mcs/config/license.key
If you keep the file somewhere else, point MCS at it with --license-key
/path/to/license.key or the MCS_LICENSE_KEY environment variable. The search
order is: the --license-key flag, then MCS_LICENSE_KEY, then the standard
config directory above, then system locations (/etc/mcs,
/usr/local/etc/mcs). The current working directory is never searched.
Activation and the daily check
Activation is automatic. The first time MCS runs with a valid license, it checks in with the Osinix license server, which binds your license to that machine. There is no separate activation step for you to perform.
After that, MCS checks in with the license server once per day (once per UTC calendar day, the first time you use it that day). The check is lightweight, and it is how the server confirms your license is still valid and tracks which machine it is running on.
What the check sends: your license identifier, an opaque machine identifier, and the action being requested. That is all. It does not send your documents, your model API keys, your panel configuration, or anything from your sessions.
Working offline: the 30-day grace
You do not need to be online every time you run MCS. After a successful check, MCS keeps running for up to 30 days without reaching the server. Each successful check resets the 30-day window.
If MCS cannot reach the license server for 30 days straight, it pauses until it can check in again. Reconnect to the internet and run MCS, and a successful check restores it immediately. (A brand-new install that has never reached the server also has 30 days, so it cannot run forever unverified.)
License messages you might see
MCS tracks a license status. You can see it any time with mcs_<tier> --info;
in the web interface, a notice banner appears when the license needs attention
(the healthy case shows nothing). The statuses are:
- Valid. Everything is fine; MCS runs normally.
- Warning. Your license is valid but expiring soon. MCS still runs. Renew to avoid interruption.
- Expired. The license is past its expiry date. MCS stops. Renew or contact licensing (at) osinix.com.
- Revoked. The license was revoked. MCS stops. Contact licensing (at) osinix.com.
- Paused (license not verified in time). MCS could not reach the server for 30 days. Reconnect and run it again to restore.
- Paused (machine not licensed). This machine is not currently licensed, for example because the license is bound to a different computer. See the next section.
Moving your license to another computer
For the single-user tiers (Basic, Pro, Pro Max), one license runs one machine at a time. Moving it to a different computer is two steps, and both need a network connection (the server is the source of truth for which machine holds the license):
Step 1, on the old machine, release the license:
mcs_<tier> --deactivate # e.g. mcs_pro_max --deactivate
Step 2, on the new machine, simply run MCS:
mcs_<tier> # binds this machine on first run
There is no separate "activate" command: the first run on the new machine binds it automatically, as long as a seat is free. If the license is still bound elsewhere (you skipped Step 1, or every seat is in use), MCS shows "Paused (machine not licensed)" until you free the other machine.
A few notes:
- If you try to deactivate from a machine the license is not bound to, MCS
refuses and tells you to run
--deactivateon the bound machine instead. If you no longer have access to that machine, email licensing (at) osinix.com to free it. - Deactivate is not the same as cancel. It only moves which machine can run MCS. Your subscription or purchase is separate.
- Enterprise is different: it uses seat licensing (a set number of concurrent machines/users), managed centrally rather than one-machine-at-a-time.
Your tier and your binary go together
Your license is issued for a specific tier, and the program you run must match it. If the binary tier and the license tier do not agree, MCS refuses to start. This is by design: when you change tier, you receive a new binary along with the new license.
- Upgrading or downgrading tier (for example Basic to Pro) gives you a new binary and a new license. You install the new one.
- The SDK is included with Pro Max and Enterprise at no extra cost. Basic and Pro can add it as a license add-on. Either way it changes only your license entitlement, not the binary: you get an updated license and keep the same program.
Trials and expiry
A trial license gives you the same features as Basic for your trial period, then
expires. The exact expiry date is shown in the email that delivers your key, and
you can see it any time with mcs_<tier> --info. Without a valid, unexpired
license, MCS will not start. To request a trial or to renew, email
licensing (at) osinix.com.
Checking your status (and finding your machine ID)
To see your license health and details at any time:
mcs_<tier> --info # version, license status, expiry, and file locations
The web interface shows your license details (product, version, tier, licensee, and expiry) in its About tab.
If support ever asks for your machine ID (the identifier your license is bound to), it comes from your operating system:
- Linux: the contents of
/etc/machine-id - macOS: the Hardware UUID (Apple menu > About This Mac > More Info > System Report > Hardware, the "Hardware UUID" field)
This identifier stays the same across reboots, upgrades, and reinstalls of MCS, and changes only if you reinstall the operating system.
Support
- Licensing, activation, renewals, and moving a license: licensing (at) osinix.com
- General help and bug reports: support (at) osinix.com
- Documentation: https://osinix.com/docs
© Osinix.
