Skip to main content
ClaudeWave
wgd5678 avatar
wgd5678

license-sentinel

Ver en GitHub

MCP server that audits Python and npm dependency licenses before you ship

MCP ServersRegistry oficial1 estrellas0 forksPythonMITActualizado today
ClaudeWave Trust Score
87/100
Trusted
Passed
  • Open-source license (MIT)
  • Actively maintained (<30d)
  • Clear description
  • Documented (README)
Last scanned: 9/9/2026
Install in Claude Code / Claude Desktop
Method: UVX (Python) · license-sentinel
Claude Code CLI
claude mcp add license-sentinel -- uvx license-sentinel
claude_desktop_config.json (Claude Desktop)
{
  "mcpServers": {
    "license-sentinel": {
      "command": "uvx",
      "args": ["license-sentinel"]
    }
  }
}
1. Run the command above in your terminal (Claude Code), or paste the JSON config into claude_desktop_config.json (Claude Desktop).
2. Replace any <placeholder> values with your API keys or paths.
3. Restart Claude. The MCP server and its tools appear automatically.
Casos de uso

Resumen de MCP Servers

# license-sentinel

<!-- mcp-name: io.github.wgd5678/license-sentinel -->
<!-- invisible on GitHub; the official MCP Registry validator reads it to prove this package is yours -->

[![wgd5678/license-sentinel MCP server](https://glama.ai/mcp/servers/wgd5678/license-sentinel/badges/score.svg)](https://glama.ai/mcp/servers/wgd5678/license-sentinel)

**Audit Python and npm dependency licenses for compliance before you ship — an MCP server for AI coding agents.**

An AI agent can add `pdf-renderer` to your project in one second. It will not tell you that
`pdf-renderer` is AGPL-3.0 and that shipping it inside a closed-source product is a license
violation. License data and compatibility rules are things a model cannot reliably recall —
packages relicense between versions (MongoDB → SSPL, Redis → BUSL, Elasticsearch → Elastic-2.0),
and "the source is on GitHub" does not mean "free to ship".

`license-sentinel` reads what is actually on your disk and judges it against how **you**
distribute your product.

- Works for **Python and npm in one pass** — existing MCP license tools are npm-only.
- **Runs locally over stdio. No network calls, no telemetry, nothing leaves your machine.**
- Verdicts, not raw data: `CLEAN` / `REVIEW` / `BLOCK`, each with the reason in plain language.

---

## Tools

| Tool | What it does |
|---|---|
| `audit_project(path, context)` | Scan a project's dependencies and return counts plus every BLOCKING and REVIEW item with reasons. |
| `check_package(names, context)` | Check specific packages or messy license strings *before* installing. Accepts `AGPL-3.0`, `BUSL-1.1`, `GPLv3`, `Apache License 2.0`, `MIT OR Apache-2.0`. |
| `generate_notices(path, output)` | Write a `THIRD-PARTY-NOTICES.md` attribution document for client hand-off. |

There is also a `pre_release_license_review` prompt that chains the audit into a go/no-go review.

## Install

```bash
# run without installing (recommended)
uvx --from license-sentinel license-sentinel

# or install
uv pip install license-sentinel
# or
pip install license-sentinel
```

## Configure your client

Claude Desktop / Cursor / Windsurf / VS Code Copilot / Zed all read the same shape:

```json
{
  "mcpServers": {
    "license-sentinel": {
      "command": "uvx",
      "args": ["--from", "license-sentinel", "license-sentinel"]
    }
  }
}
```

If you installed with pip instead, use `"command": "license-sentinel"` with no `args`.
Restart the client and the three tools appear.

## Distribution context

The same dependency is fine in one context and fatal in another, so every tool takes a
`context` argument:

| Context | Meaning | What it blocks |
|---|---|---|
| `proprietary` (default) | Closed-source product you distribute | GPL/AGPL/SSPL, BUSL/Elastic, non-commercial |
| `saas-backend` | Never distributed, only runs on your servers | AGPL/SSPL (network trigger), BUSL/Elastic |
| `permissive` | Your own project is MIT/Apache/BSD | Anything copyleft that would contaminate your terms |
| `copyleft-ok` | Your own project is GPL family | Only source-available and non-commercial |

## What it reads

- Python: `.venv/` / `venv/` / `env/` installed packages (`dist-info/METADATA`), `requirements.txt`, `pyproject.toml` (PEP 621, poetry, dependency-groups)
- npm: `node_modules/*/package.json` (including scoped packages), `package.json` dependencies

If a dependency is declared but not installed, it is reported with an `UNKNOWN` license rather
than silently dropped — an unlicensed dependency is all-rights-reserved by default.

## Privacy

No HTTP client is imported anywhere in this package. The scan is read-only (except
`generate_notices`, which writes the file you name). Nothing is uploaded.

## Limitations

- Not legal advice. It is a fast first pass that catches the expensive mistakes; have counsel
  review anything flagged.
- Transitive dependencies are read from what is installed. If you have no `.venv` and no
  `node_modules`, declared-only dependencies come back `UNKNOWN`.
- The current environment running the server is never scanned, so the server's own packages
  never pollute your report. Set `LICENSE_SENTINEL_SCAN_CURRENT_ENV=1` to change that.

## Development

```bash
uv sync
python tests/smoke_test.py     # 9 tests, no pytest needed
python tests/e2e_check.py      # calls the tools end to end
```

## License

MIT

Lo que la gente pregunta sobre license-sentinel

¿Qué es wgd5678/license-sentinel?

+

wgd5678/license-sentinel es mcp servers para el ecosistema de Claude AI. MCP server that audits Python and npm dependency licenses before you ship Tiene 1 estrellas en GitHub y su última actualización registrada es del 2026-09-08.

¿Cómo se instala license-sentinel?

+

Puedes instalar license-sentinel clonando el repositorio (https://github.com/wgd5678/license-sentinel) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.

¿Es seguro usar wgd5678/license-sentinel?

+

Nuestro agente de seguridad ha analizado wgd5678/license-sentinel y le ha asignado un Trust Score de 87/100 (tier: Trusted). Revisa el desglose completo de comprobaciones superadas y flags en esta página.

¿Quién mantiene wgd5678/license-sentinel?

+

wgd5678/license-sentinel es mantenido por wgd5678. La última actividad registrada en GitHub es del 2026-09-08, con 0 issues abiertos.

¿Hay alternativas a license-sentinel?

+

Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.

Despliega license-sentinel en tu cloud

Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.

¿Mantienes este repo? Añade un badge a tu README

Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.

Featured on ClaudeWave: wgd5678/license-sentinel
[![Featured on ClaudeWave](https://claudewave.com/api/badge/wgd5678-license-sentinel)](https://claudewave.com/repo/wgd5678-license-sentinel)
<a href="https://claudewave.com/repo/wgd5678-license-sentinel"><img src="https://claudewave.com/api/badge/wgd5678-license-sentinel" alt="Featured on ClaudeWave: wgd5678/license-sentinel" width="320" height="64" /></a>

Más MCP Servers

Alternativas a license-sentinel