Skip to main content
Glama

Can these licenses go in my project?

check_compatibility
Read-onlyIdempotent

Determine whether each of up to 100 licenses or SPDX expressions can be included in a project under your license, returning yes, no, or check with OSADL's reason.

Instructions

Whether code under each of up to 100 licenses or SPDX expressions (MIT OR GPL-3.0-only, GPL-2.0-only WITH Classpath-exception-2.0) may be included in a project under yours (an SPDX id, or 'proprietary'): yes, no or check, with OSADL's reason. Worst first.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
projectYesyour project's license
licensesYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
countsYes
projectYes
resultsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, open-world, idempotent, and non-destructive behavior. The description adds useful behavioral details beyond that: it accepts up to 100 licenses, returns yes/no/check with OSADL's reason, and orders results worst first. This gives the agent a clear picture of what the tool will do.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single dense sentence that front-loads the core purpose and packs in limits, examples, output values, and ordering. Every clause earns its place, with no redundant filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists and annotations cover safety and open-world behavior, the description covers the remaining essentials: input formats, cardinality, output categories, reason source, and ordering. An agent has enough to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50%, but the description compensates by explaining both parameters: 'project' is an SPDX id or 'proprietary', and 'licenses' can include SPDX expressions with examples. This adds meaning beyond the schema, especially for the licenses array which lacks a schema description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it checks whether code under each of up to 100 licenses may be included in a project under a given license, returning yes/no/check. This clearly distinguishes it from siblings like license_info and package_licenses by focusing on compatibility rather than information lookup or package scanning.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear context: use this when you need to evaluate whether multiple licenses or SPDX expressions are compatible with a project license. It does not explicitly name alternatives or state when not to use it, but the scenario is specific enough that an agent can infer the intended use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools