Skip to main content
Glama
darthzen

fossa-mcp

by darthzen

fossa_bulk_assign_package_label

Assign one package label to many packages in a single API call. Targets exact locators, with optional apply-to-all-versions behavior.

Instructions

Assign one package label to many packages in a single call.

WRITES TO FOSSA. Requires FOSSA_ALLOW_WRITES=true.

Additive, and every target is named: this endpoint has no "all packages matching a filter" mode, so the label reaches exactly the locators listed. Each locator must include its version, as in npm+lodash$4.17.21. With apply_to_all_versions=true the version part is ignored and the label is assigned to every version of each named package instead.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
scopeYes
label_idYes
scope_idNo
package_locatorsYes
apply_to_all_versionsNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior5/5

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

Beyond the annotations (readOnlyHint=false), the description reveals crucial behavioral details: it writes to FOSSA and requires an environment variable, it is additive (doesn't remove existing labels), it has no 'all matching' mode (exactly the listed locators get the label), and it explains the version requirement and how apply_to_all_versions changes the target set. This is far more than annotations provide.

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 four sentences, each carrying essential information without redundancy. It front-loads the action, then covers write-safety, additive/filter semantics, and version handling. Every sentence earns its place; no fluff.

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

Completeness4/5

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

For a bulk-write tool with five parameters and an output schema, the description covers the key operational semantics: side effects, prerequisites, no-filter guarantee, and locator format. It does not describe return values (but an output schema exists) or error conditions, which keeps it from a top score, but it is adequate for an agent to use it correctly.

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

Parameters3/5

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

The input schema has 0% description coverage, so the description must compensate. It does clarify the most complex parameters: package_locators must include version (with example) and apply_to_all_versions overrides version matching. However, it leaves scope and scope_id to be inferred from their names and the enum, and label_id is not described. Since compensation is partial, the score is below ideal.

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 opens with 'Assign one package label to many packages in a single call,' a specific verb and resource that clearly states the tool's function. This distinguishes it from sibling tools like fossa_assign_package_labels (which may assign multiple labels) or fossa_unassign_package_labels, while the 'bulk' nature is explicit.

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 strong usage context by explaining that the operation is additive, requires explicit named locators (no filter mode), and that every target is individually listed. It also mentions the write prerequisite (FOSSA_ALLOW_WRITES=true). However, it does not explicitly compare to alternatives like fossa_set_package_label_assignments or fossa_apply_project_label, so it misses a direct when-to-use-this-vs-that statement.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/darthzen/fossa-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server