# NetLicensing — how to use (mcp.ai)

Connect your NetLicensing account and use 21 tools for developer tools straight from your AI agent. Connect with your own API key. NetLicensing is a software license management platform for administering products, license models, licensees, licenses, and commerce workflows.

## Option A — via MCP (recommended)
Remote MCP endpoint (HTTP, streamable): `https://api.mcp.ai/p_netlicensing?ms=1787291220000`
Add it as a custom/remote MCP connector in your client (Claude, Cursor, VS Code…), then authenticate when prompted. Once connected, ask the agent to use the server's tools (e.g. `netlicensing_check_in_licensee_session`).

## Option B — via direct REST API
Base URL: `https://api.mcp.ai/api/netlicensing`
Auth: `Authorization: Bearer sk_live_…` — create a workspace API key at https://mcp.ai/settings/api-keys
Discover endpoints: `GET https://api.mcp.ai/api/netlicensing/_endpoints`

### Endpoints
- `POST https://api.mcp.ai/api/netlicensing/check/in/licensee/session` — Return and release a NetLicensing floating-license session for a licensee and return the validation results and provider cache TTL when supplied.
  - body: { session_id: string, product_number?: string, licensee_number: string, max_checkout_validity?: integer, product_module_number: string }
- `POST https://api.mcp.ai/api/netlicensing/check/out/licensee/session` — Allocate a NetLicensing floating-license session for a licensee and return the validation results with their cache TTL.
  - body: { session_id: string, product_number?: string, licensee_number: string, max_checkout_validity?: integer, product_module_number: string }
- `POST https://api.mcp.ai/api/netlicensing/create/bundle` — Create a purchasable NetLicensing bundle from existing license templates.
  - body: { name: string, price?: number, active: boolean, number?: string, currency?: string, description?: string, license_template_numbers: string[] }
- `POST https://api.mcp.ai/api/netlicensing/create/license` — Assign a license from a license template to a licensee.
  - body: { name?: string, price?: number, active: boolean, hidden?: boolean, number?: string, currency?: string, quantity?: integer, start_date?: string, time_volume?: integer, used_quantity?: integer, parent_feature?: string, licensee_number: string, time_volume_period?: string, license_template_number: string }
- `POST https://api.mcp.ai/api/netlicensing/create/license/template` — Create a license template under a product module using a supported license type.
  - body: { name: string, price?: number, quota?: integer, active: boolean, hidden?: boolean, number?: string, currency?: string, quantity?: integer, automatic?: boolean, time_volume?: integer, license_type: string, max_sessions?: integer, hide_licenses?: boolean, time_volume_period?: string, product_module_number: string }
- `POST https://api.mcp.ai/api/netlicensing/create/licensee` — Create a licensee under a product so licenses can be assigned and validated.
  - body: { name?: string, active: boolean, number?: string, product_number: string, custom_properties?: object, marked_for_transfer?: boolean }
- `POST https://api.mcp.ai/api/netlicensing/create/licenses/from/bundle` — Create one or more licenses for a licensee from the license templates associated with a bundle.
  - body: { bundle_number: string, licensee_number: string }
- `POST https://api.mcp.ai/api/netlicensing/create/product` — Create a NetLicensing product that can contain product modules and licensees.
  - body: { name: string, active: boolean, number?: string, version: string, vat_mode?: string, discounts?: object[], description?: string, licensing_info?: string, licensee_auto_create?: boolean }
- `POST https://api.mcp.ai/api/netlicensing/create/product/module` — Create a licensing-model-specific module under a NetLicensing product.
  - body: { name: string, active: boolean, number?: string, red_threshold?: integer, product_number: string, licensing_model: string, yellow_threshold?: integer, custom_properties?: object, node_secret_modes?: string[], max_checkout_validity?: integer, license_template_types?: string[] }
- `POST https://api.mcp.ai/api/netlicensing/delete/resource` — Permanently delete a product, product module, license template, licensee, license, or bundle by number. Optional cascade deletion is limited to supported resource types.
  - body: { force_cascade?: boolean, resource_type: string, resource_number: string }
- `POST https://api.mcp.ai/api/netlicensing/get/resource` — Get one product, product module, license template, licensee, license, transaction, or bundle by its NetLicensing number.
  - body: { resource_type: string, resource_number: string }
- `POST https://api.mcp.ai/api/netlicensing/list/licensing/options` — Return the supported licensing models and license types used when configuring product modules and license templates.
- `POST https://api.mcp.ai/api/netlicensing/list/resources` — List one page of products, product modules, license templates, licensees, licenses, transactions, or bundles for the connected vendor.
  - body: { next_cursor?: string, resource_type: string }
- `POST https://api.mcp.ai/api/netlicensing/transfer/licenses` — Irreversibly transfer all eligible licenses from a source licensee marked for transfer to a target licensee in the same product.
  - body: { source_licensee_number: string, target_licensee_number: string }
- `POST https://api.mcp.ai/api/netlicensing/update/bundle` — Update selected bundle details or replace its complete set of license templates. At least one mutable field is required.
  - body: { name?: string, price?: number, active?: boolean, currency?: string, new_number?: string, description?: string, bundle_number: string, license_template_numbers?: string[] }
- `POST https://api.mcp.ai/api/netlicensing/update/license` — Update a license's identity/number, name, parent-feature relationship, status, timing, pricing, visibility, or quantity. At least one mutable field is required.
  - body: { name?: string, price?: number, active?: boolean, hidden?: boolean, currency?: string, quantity?: integer, new_number?: string, start_date?: string, time_volume?: integer, used_quantity?: integer, license_number: string, parent_feature?: string, time_volume_period?: string }
- `POST https://api.mcp.ai/api/netlicensing/update/license/template` — Update selected pricing, visibility, limits, or license behavior on a license template. At least one mutable field is required.
  - body: { name?: string, price?: number, quota?: integer, active?: boolean, hidden?: boolean, currency?: string, quantity?: integer, automatic?: boolean, new_number?: string, time_volume?: integer, license_type?: string, max_sessions?: integer, hide_licenses?: boolean, time_volume_period?: string, license_template_number: string }
- `POST https://api.mcp.ai/api/netlicensing/update/licensee` — Update selected status, identity, transfer, or non-secret custom properties of a licensee. At least one mutable field is required.
  - body: { name?: string, active?: boolean, new_number?: string, licensee_number: string, custom_properties?: object, marked_for_transfer?: boolean }
- `POST https://api.mcp.ai/api/netlicensing/update/product` — Update selected properties of an existing product; supplying discounts replaces the complete discount set, and an empty discounts list clears all discounts by sending one empty discount field. At leas
  - body: { name?: string, active?: boolean, version?: string, vat_mode?: string, discounts?: object[], new_number?: string, description?: string, licensing_info?: string, product_number: string, licensee_auto_create?: boolean }
- `POST https://api.mcp.ai/api/netlicensing/update/product/module` — Update selected properties and model-specific settings of a product module. At least one mutable field is required. When provided, non-empty node_secret_modes and license_template_types arrays each re
  - body: { name?: string, active?: boolean, new_number?: string, red_threshold?: integer, licensing_model?: string, yellow_threshold?: integer, custom_properties?: object, node_secret_modes?: string[], max_checkout_validity?: integer, product_module_number: string, license_template_types?: string[] }
- `POST https://api.mcp.ai/api/netlicensing/validate/licensee` — Validate a NetLicensing licensee's active licenses and return the validation results with their cache TTL. Depending on the configured product, validation may auto-create the licensee when licensee_na
  - body: { licensee_name?: string, product_number?: string, licensee_number: string, product_modules?: object[] }

## Example prompts
- "What can I do in NetLicensing?"
- "Show me a summary of my NetLicensing account"

## More
- Page: https://mcp.ai/netlicensing
- Agent spec (llms.txt): https://mcp.ai/netlicensing/llms.txt
- Postman collection: https://mcp.ai/netlicensing/postman.json
