Skip to main content
Glama

generate_notices

Read-onlyIdempotent

Draft a THIRD-PARTY-NOTICES.md from project dependencies as text, with package name, version, license source, copyright lines, and grouped unknown licenses.

Instructions

Draft a THIRD-PARTY-NOTICES.md for the project's dependencies, returned as text (nothing is written).

One entry per package: name, version, license, where the license came from, and copyright lines found in the package's installed LICENSE/COPYING files (or 'not found'). Packages with an UNKNOWN license are grouped under a heading so they cannot be missed. License texts are not embedded - copy them from the packages' own files (see find_license_files). Same license sources as license_inventory; copyright lines only exist for packages that are installed.

Input Schema

NameRequiredDescriptionDefault
pathNo.
onlineNo
pythonNo

Output Schema

NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4/5.0
Behavior4/5

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

The annotations already declare read-only, non-destructive, idempotent, and open-world behavior. The description adds important operational detail: output is text only, UNKNOWN licenses are grouped prominently, license texts are not embedded, and copyright lines exist only for installed packages.

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 front-loaded with the core action and output artifact, then adds only relevant constraints and cross-references. Sentences are dense but purposeful, with no obvious filler.

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

Completeness3/5

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

An output schema exists, so the description need not explain return structure, and it does cover output content and key caveats well. However, for a tool with three inputs and 0% schema description coverage, the complete absence of parameter guidance is a meaningful gap.

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

Parameters2/5

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

Schema description coverage is 0% for three parameters, and the description never mentions path, online, or python. Contextual wording about the project and installed packages loosely hints at path or interpreter context, but the inputs remain essentially unexplained.

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 artifact: draft a THIRD-PARTY-NOTICES.md for project dependencies, returned as text with nothing written. It distinguishes the tool from license_inventory by outputting notices and from find_license_files by explicitly not embedding license texts.

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?

It gives clear usage context: generate notice text, use find_license_files to copy license texts, and note that license sources match license_inventory. It stops short of explicit when-not guidance or direct selection advice versus check_policy and compatibility.

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