License your MCP tools without building a licensing backend.
MCP Licensing is a hosted license-check API for developers who sell or distribute MCP servers and tools. Your tool asks one question at startup, is this license valid?, and you control the answer.
What it is
Selling an MCP tool means deciding who may run it, on how many machines, and until when. MCP Licensing keeps that state for you. You create license keys for your customers; your tool sends the key and a device id to our API when it starts; we answer valid or not, with the reason.
How it works
-
Issue license keys
Create a key per customer with a seat limit and an expiry date. The key is shown once and only a hash of it is stored.
-
Add the check
About ten lines in Python or Node (any language that can make an HTTPS request works). See the docs.
-
Stay in control
Revoke a key, let it expire, suspend all of your licenses at once, or free a seat. It takes effect on the next check.
What you get
Seats that free themselves
Each license has a seat limit. A device that stops checking in loses its seat when its lease runs out (24 hours by default), so seats are never stuck on a machine that is gone.
Expiry and revocation
Set an expiry date, revoke a license, or rotate its key. The old key stops working immediately.
Kill switches
Suspend all of your licenses with one call, or resume them. Platform-wide controls sit above yours for emergencies.
Built for offline use
The reference client caches a successful check and keeps your tool running through a short outage, up to the end of the seat lease. A real denial always stops it.
Separate by design
Every provider is a separate tenant. The tenant is part of the license key, and no request can reach another tenant's licenses.
API first
Everything is an HTTPS API with an OpenAPI description and a Postman collection. Changes to your tenant are recorded in an audit log.
Fair limits
Sensible defaults protect the service and your bill: verify requests per minute, licenses, seats and API keys per tenant. See the limits.
Secure by default
HTTPS only, license and API keys stored as hashes, behind a web application firewall with per-address rate limits.
A check is one request
curl -X POST https://api.mcplicense.net/v1/mcp/verify \
-H "Content-Type: application/json" \
-d '{"license_key": "mcp-k7m2x9_ABCDE-FGHJK-LMNPQ-RSTUV-WXYZ2", "device_id": "laptop-7f3a"}'
A valid license answers {"valid": true, ...} with the seats used and when the
lease ends. A denied one answers with a reason such as LICENSE_EXPIRED or
SEAT_LIMIT. The key above is an example and does not work.
Status
MCP Licensing is in beta. The license-check and management APIs are live. A web console for managing licenses and self-service sign-up are on the way. To start now, or to tell us what you need, get in touch.