CN

cloudera/nifi-mcp-server

浏览器自动化

本页由 AI 翻译,技术细节请以原文为准。 查看原文

7 stars 10 forks 质量 70 趋势 15Apache-2.0

Model Context Protocol server providing selectable read and write access to Apache NiFi via Apache Knox.

概览

Model Context Protocol server providing selectable read and write access to Apache NiFi via Apache Knox. - automatic version detection and adaptation. - - Detects NiFi 1.x vs 2.x and adapts behavior - - Supports Bearer tokens, cookies, and passcode tokens for CDP deployments - - Safe exploration of NiFi flows and configuration - - Pattern recognition and requirements gathering for complex flows - for exploring NiFi: - get_nifi_version() - Version and build information - get_root_process_group() - Root process group details - list_processors(process_group_id) - List processors in a process group - list_connections(process_group_id) - List connections in a process group - get_bulletins(after_ms?) - Recent bulletins and alerts - list_parameter_contexts() - Parameter contexts - get_controller_services(process_group_id?

README

以下为原文 README 节选,完整内容请查看原文。

NiFi MCP Server (via Knox)

Model Context Protocol server providing selectable read and write access to Apache NiFi via Apache Knox.

Works with both NiFi 1.x and 2.x - automatic version detection and adaptation.

Features

  • Automatic version detection - Detects NiFi 1.x vs 2.x and adapts behavior
  • Knox authentication - Supports Bearer tokens, cookies, and passcode tokens for CDP deployments
  • Read-only by default - Safe exploration of NiFi flows and configuration
  • Intelligent flow building - Pattern recognition and requirements gathering for complex flows
  • 24 read-only MCP tools for exploring NiFi:
    • get_nifi_version() - Version and build information
    • get_root_process_group() - Root process group details
    • list_processors(process_group_id) - List processors in a process group
    • list_connections(process_group_id) - List connections in a process group
    • get_bulletins(after_ms?) - Recent bulletins and alerts
    • list_parameter_contexts() - Parameter contexts
    • get_controller_services(process_group_id?) - Controller services
    • get_processor_types() - Available processor types for flow building
    • search_flow(query) - Search for components in the flow
    • get_connection_details(connection_id) - Detailed connection information
    • get_processor_details(processor_id) - Detailed processor configuration
    • list_input_ports(process_group_id) - Input ports for a process group
    • list_output_ports(process_group_id) - Output ports for a process group
    • get_processor_state(processor_id) - Quick processor state check
    • check_connection_queue(connection_id) - Queue size (flowfiles + bytes)
    • get_flow_summary(process_group_id) - Flow statistics and health overview
    • analyze_flow_build_request(user_request) - Intelligent pattern recognition and requirements gathering
    • get_parameter_context_details(context_id) - Get parameter context with all parameters
    • get_flow_health_status(process_group_id) - Comprehensive flow health check (processors, services, connections, errors)
    • find_controller_services_by_type(process_group_id, service_type) - Search for existing controller services by type (prevents 409 conflicts)
    • check_configuration() - Validate current environment configuration
    • get_setup_instructions() - Interactive setup guidance for NiFi MCP Server
    • get_best_practices_guide() - Best practices for building NiFi flows
    • get_recommended_workflow(flow_type) - Step-by-step guidance for common flow patterns
  • 42 write operations (when NIFI_READONLY=false):
    • start_processor(processor_id, version) - Start a processor
    • stop_processor(processor_id, version) - Stop a processor
    • create_processor(...) - Create a new processor
    • update_processor_config(...) - Update processor configuration
    • delete_processor(processor_id, version) - Delete a processor
在 GitHub 查看完整 README

安装

uvx --from git+https://github.com/cloudera/nifi-mcp-server@main run-server
新手?先看 mcpskill.org 教程 →

配置

{ "mcpServers": { "nifi-mcp-server": { "command": "/FULL/PATH/TO/NiFi-MCP-Server/.venv/bin/python", "args": [ "-m", "nifi_mcp_server.server" ], "env": { "MCP_TRANSPORT": "stdio", "NIFI_API_BASE": "https://nifi-2-dh-management0.yourshere.cloudera.site/nifi-2-dh/cdp-proxy/nifi-app/nifi-api", "KNOX_TOKEN": "<your_knox_bearer_token>", "NIFI_READONLY": "true" } } } }