Skip to main content
Glama

Licentia

Licentia is a Czech web and desktop application for working with the SPDX License List 3.28.0 catalog. It helps you quickly find a license, compare its metadata, and understand obligations without having to go through hundreds of texts manually.

The guide is an indicative decision-making aid, not legal advice.

Features

  • offline catalog of 727 licenses and 84 license exceptions;

  • full-text search by name, SPDX ID, and full text;

  • filtering by record type, currency, OSI/FSF metadata, and license profile;

  • detailed view of the canonical text and obligations;

  • license comparison and saving items to a personal workspace;

  • six-step guide for selecting a common license direction;

  • public REST API /v1;

  • Streamable HTTP MCP endpoint /mcp;

  • SPDX expression validation, indicative compatibility checking, and SPDX/CycloneDX SBOM analysis;

  • web, Tauri desktop, and shared Apache/PHP variants.

Related MCP server: gridwork-license

Application screenshots

License catalog

Licentia catalog

Selection guide

License selection guide

MIT license search

Web application development

Required Node.js: >=22.13.0.

npm install
npm run dev

Production build:

npm run build

Style and static rules check:

npm run lint

Desktop: Linux, Windows and macOS

The desktop uses Tauri 2 and a separate static Vite build with the same React components and a local copy of all data.

npm run dev:desktop
npm run tauri:dev
npm run tauri:build

Installers are built on the target system. Linux needs WebKitGTK 4.1, macOS Xcode Command Line Tools, and Windows Microsoft C++ Build Tools plus WebView2. The exact current requirements are in the official Tauri documentation.

Shared Apache hosting

Requirements: Apache 2.4 with mod_rewrite, HTTPS, PHP 8.2+, PDO SQLite extension (or PDO MySQL), cURL, and JSON.

npm run build:apache

Upload the resulting apache-dist/ directory to the web root. For Google/GitHub login, copy api/config.example.php as api/config.php, fill in the OAuth keys, and set the callback to:

https://vase-domena.cz/api/auth/oauth/callback

Without OAuth configuration, accounts work via email and password. The database is created on the first request in api/var/; the directory must be writable by PHP.

After uploading, verify /v1, /v1/licenses?q=MIT, and MCP initialization via POST /mcp. The checksums.sha256 file allows you to verify the completeness of the transfer.

Data updates

The generator expects checkouts of the pinned versions of spdx/license-list-data and github/choosealicense.com:

node scripts/build-app-data.mjs /cesta/license-list-data /cesta/choosealicense public/data

The output contains a metadata catalog, detailed JSON for each item, and a full-text index. The desktop app bundles it directly; the web serves it as versioned static data.

Structure

  • app/ — web entry point for Sites/Vinext;

  • components/ and lib/ — shared user interface and rules engine;

  • desktop/ — static Vite entry point for Tauri;

  • src-tauri/ — native wrapper and package configuration;

  • public/data/ — offline catalog;

  • docs/ECOSYSTEM.md — API, MCP, and related tools;

  • docs/screenshots/ — screenshots of the current desktop web build;

  • apache-server/ — PHP runtime and security configuration for shared hosting;

  • apache-dist/ — artifact created by the npm run build:apache command.

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    Analyzes software licenses using Scancode data to help users identify problematic licenses, affected files, and compliance issues through the Model Context Protocol.
    5
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables lookup, search, and retrieval of open-source license information using the SPDX license list, with tools for finding licenses by ID or keyword and fetching full license text.
    1 npm
    MIT