nifi-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| nifi_aboutA | Version, build, and identity information for the connected NiFi instance. Backed by GET /flow/about and /flow/current-user. Use this first to confirm connectivity and learn which NiFi generation you are talking to. |
| nifi_system_diagnosticsA | JVM heap, thread counts, repository disk usage, and uptime. Backed by GET /system-diagnostics. Use when diagnosing performance or memory pressure rather than flow logic. |
| nifi_flow_statusA | Aggregate controller status: running/stopped/invalid counts, queued data, bulletins. Backed by GET /flow/status and /flow/bulletin-board. The fastest way to answer "is anything wrong right now?". |
| nifi_flow_treeA | Recursive process-group tree with processors and connections. Backed by GET /flow/process-groups/{id}. |
| nifi_get_process_groupB | A process group's identity, component-state counts, and version-control state. Backed by GET /process-groups/{id}. Pass "root" for the top-level group. |
| nifi_get_process_group_contentsA | The direct contents of one process group: children, processors, connections, ports. Backed by GET /flow/process-groups/{id}. Unlike nifi_flow_tree this does not recurse, so it is the cheaper choice when inspecting a single group. |
| nifi_process_group_statusA | Throughput and queue statistics for a process group, recursively. Backed by GET /flow/process-groups/{id}/status. |
| nifi_list_processorsB | Processors in a process group with run status, validity, and throughput. Backed by GET /process-groups/{id}/processors. |
| nifi_get_processorA | One processor in full: properties, scheduling, relationships, validation errors. Backed by GET /processors/{id}. Sensitive property values are masked. |
| nifi_get_property_descriptorA | Descriptor for one processor property: type, default, and allowable values. Backed by GET /processors/{id}/descriptors. Use this before setting a property whose valid values you are unsure of. |
| nifi_list_connectionsA | Connections in a process group with queue depth and backpressure settings. Backed by GET /process-groups/{id}/connections. |
| nifi_get_connectionC | One connection: endpoints, routed relationships, queue depth, prioritizers. Backed by GET /connections/{id}. |
| nifi_searchA | Search the flow for components by name, id, property value, or comment. Backed by GET /flow/search-results — the same search the NiFi UI uses. |
| nifi_list_bulletinsA | Recent bulletins — NiFi's warning and error notices. Backed by GET /flow/bulletin-board. The first place to look when a processor is failing but its configuration looks correct. |
| nifi_find_component_typesA | Search the catalogue of installable component types by name, tag, or description. Backed by GET /flow/processor-types and /flow/controller-service-types.
|
| nifi_list_controller_servicesB | Controller services visible to a process group, with state and referencing components. Backed by GET /flow/process-groups/{id}/controller-services. |
| nifi_get_controller_serviceB | One controller service: properties, state, and what references it. Backed by GET /controller-services/{id}. Sensitive values are masked. |
| nifi_list_parameter_contextsA | All parameter contexts and their parameters. Sensitive values are masked. Backed by GET /flow/parameter-contexts. |
| nifi_get_parameter_contextB | One parameter context with its parameters and bound process groups. Backed by GET /parameter-contexts/{id}. |
| nifi_queue_listingB | List the flowfiles currently queued on a connection. Backed by POST /flowfile-queues/{id}/listing-requests, polled to completion. This reads state only; it does not modify the queue. |
| nifi_get_flowfileB | Metadata and attributes for one queued flowfile. Backed by GET /flowfile-queues/{id}/flowfiles/{uuid}. |
| nifi_get_flowfile_contentA | Content of one queued flowfile, truncated to Backed by GET /flowfile-queues/{id}/flowfiles/{uuid}/content. Binary content is
returned base64-encoded, indicated by the |
| nifi_provenance_queryA | Search provenance events to trace what happened to data. Backed by POST /provenance, polled to completion. Dates use NiFi's
|
| nifi_get_provenance_eventB | One provenance event with its full before/after attribute set. Backed by GET /provenance-events/{id}. |
| nifi_get_lineageA | Lineage graph for a flowfile, as nodes and links. Backed by POST /provenance/lineage, polled to completion. Supply either
|
| nifi_list_registry_clientsB | NiFi Registry clients configured on this instance. Backed by GET /controller/registry-clients. |
| nifi_get_version_infoB | Version-control state of a process group: registry, bucket, flow, and version. Backed by GET /process-groups/{id}. |
| nifi_countersB | Flow counters and their current values. Backed by GET /counters. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 28 tools
Most tools target distinct NiFi resources and the descriptions explicitly differentiate overlapping process-group views (tree vs contents vs status). However several status/diagnostic tools (flow_status, process_group_status, get_process_group) and provenance/lineage tools share enough conceptual ground that misselection is possible for less careful agents.
All tools use a consistent nifi_ prefix and snake_case. The dominant pattern is verb_noun (get_, list_, search_, find_, query_), with a few noun-only deviations (about, counters, flow_status, flow_tree, system_diagnostics) that are still readable.
28 tools exceed the 25-tool threshold for 'too many' per the rubric, especially given the apparent read-only scope. While they cover many subresources, the set could be consolidated or split into focus modes.
The surface is almost entirely read-only: no create/update/delete/start/stop tools for processors, connections, controller services, or process groups. Descriptions even reference nifi_create_processor and setting processor properties, which are absent, indicating significant gaps for flow management.