check_license
Verify license status and validity by providing a license key, hardware ID, and product details. Ensures proper license management and compliance.
Instructions
Check license status and validity
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| hardware_id | Yes | ||
| license_key | Yes | ||
| product | Yes |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"hardware_id": {
"minLength": 1,
"type": "string"
},
"license_key": {
"minLength": 1,
"type": "string"
},
"product": {
"minLength": 1,
"type": "string"
}
},
"required": [
"license_key",
"hardware_id",
"product"
],
"type": "object"
}
Implementation Reference
- src/license-api-server.ts:262-285 (handler)Executes the tool logic by querying the LicenseSpring API /api/v4/check_license with license_key, hardware_id, and product parameters, returns JSON response or formatted error.}, async ({ license_key, hardware_id, product }) => { try { const queryParams = new URLSearchParams({ license_key, hardware_id, product, }); const response = await apiClient.get(`/api/v4/check_license?${queryParams}`); return { content: [{ type: 'text', text: JSON.stringify(response.data, null, 2), }], }; } catch (error) { return { content: [{ type: 'text', text: `Error checking license: ${handleApiError(error)}`, }], isError: true, }; }
- src/license-api-server.ts:257-261 (schema)Zod schema for input validation in the tool registration.inputSchema: { license_key: z.string().min(1, 'License key is required'), hardware_id: z.string().min(1, 'Hardware ID is required'), product: z.string().min(1, 'Product code is required'), },
- src/license-api-server.ts:254-286 (registration)Registers the 'check_license' tool with MCP server, including title, description, input schema, and handler function.server.registerTool('check_license', { title: 'Check License', description: 'Check license status and validity', inputSchema: { license_key: z.string().min(1, 'License key is required'), hardware_id: z.string().min(1, 'Hardware ID is required'), product: z.string().min(1, 'Product code is required'), }, }, async ({ license_key, hardware_id, product }) => { try { const queryParams = new URLSearchParams({ license_key, hardware_id, product, }); const response = await apiClient.get(`/api/v4/check_license?${queryParams}`); return { content: [{ type: 'text', text: JSON.stringify(response.data, null, 2), }], }; } catch (error) { return { content: [{ type: 'text', text: `Error checking license: ${handleApiError(error)}`, }], isError: true, }; } });
- src/types/index.ts:27-31 (schema)TypeScript interface defining the request parameters for check_license.export interface CheckLicenseRequest { license_key: string; hardware_id: string; product: string; }