Skip to main content
Glama
newen-systems

nifi-mcp

nifi_delete_component

DestructiveIdempotent

Delete stopped processors, empty connections, disabled services, stopped unconnected ports, empty process groups, or unbound parameter contexts. Confirms the deleted ID, kind, and revision.

Instructions

Delete a stopped processor, empty connection, disabled service, stopped input or output port with no connections, empty process group, or parameter context.

A parameter context can only be deleted once no process group is bound to it. The result confirms the id, kind and the revision NiFi deleted; it does not repeat the deleted entity.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paramsYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
resultYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare destructiveHint=true, idempotentHint=true and readOnlyHint=false, so the safety profile is known. The description adds real value beyond them: the precondition states required for a safe delete and the fact that the result echoes id, kind and revision rather than the deleted entity. Behavior is well disclosed.

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

Conciseness4/5

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

Front-loaded with the deletable scope, then the parameter-context precondition, then the return behavior. Every sentence carries information with no filler, though the two-paragraph split could be tightened.

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?

An output schema exists, so the brief note about the result format is sufficient rather than mandatory, and the destructive/safety profile is covered by annotations. The remaining gap, component_id acquisition and failure modes on precondition violation, is minor for a single-param delete tool.

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?

Schema description coverage is 0%, so the description must compensate. It enumerates the kinds that map to the 'kind' enum values, adding meaningful context there, but says nothing about 'component_id' format or how to obtain it. Partial compensation only.

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 a specific verb (Delete) and enumerates exactly which resource kinds can be removed (processor, connection, controller service, ports, process group, parameter context). This scope precision lets an agent distinguish this from all the create/update/get siblings without opening the schema.

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 states preconditions for each component kind (stopped processor, empty connection, disabled service, ports with no connections, empty process group) and an explicit rule for parameter contexts (no bound process group). That effectively tells the agent when deletion is admissible, though it does not name an alternative tool or clarify failure behavior when preconditions are unmet.

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