mcpField
N
NiFiMCP

NiFiMCP

ローカル
github.com/ms82119データベース349 週間前に更新

NiFiMCP について

NiFiMCP は Apache NiFi 向けの MCP サーバーおよび内蔵チャットボットで、自然言語によるデータフロー操作を可能にします。Cursor AI や Claude Code などのクライアントから stdio 経由で利用するほか、ブラウザーから使うこともできます。内蔵チャットボットには独自の LLM API キーが必要です。

主な機能

  1. 01自然言語による Apache NiFi インスタンスの操作
  2. 02フローの構築、実行、デバッグに使う約 30 のツール
  3. 03MCP 対応クライアントから使える stdio エントリーポイント
  4. 04FastAPI ベースの内蔵チャット UI
  5. 05フローのドキュメント生成ワークフロー

活用シーン

  1. 01仕様書からの NiFi フローの作成
  2. 02既存フローの問題の診断と修正
  3. 03NiFi フローのドキュメント作成

MCP 対応

本プロジェクトは MCP サーバーとして、NiFi 操作ツールを stdio 経由で Cursor AI や Claude Code などの MCP クライアントに公開します。内蔵チャットボットも同じバックエンドに接続します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

NiFi MCP(Model Context Protocol)

このリポジトリには、NiFi MCP プロジェクトが含まれています。次のいずれかの方法で使用できます。

  • Cursor AI、Claude Code、Antigravity などのツールが stdio 経由で接続する、通常の MCP サーバーとして使用する
  • または、このリポジトリに組み込まれたチャットボットを使用し、ブラウザーから接続する

どちらの方法でも、自然言語を使って Apache NiFi インスタンスを操作できます。現在、NiFi フローの構築、更新、実行、デバッグ、ドキュメント作成をカバーする約 30 個のツールを利用できます。NiFi バージョン 1.23 および 1.28 でテスト済みですが、NiFi REST API の一貫性が保たれていれば、2.x などの他のバージョンでも動作するはずです。

組み込みのチャットボットを使用するには、ご自身の LLM API キーが必要です。より高性能なモデルを使うと、より良い結果が得られます。また、より大きなトークンコンテキストを選択すると、役立つ場合があります。ただし、Cursor AI を Auto モードで使用したときに、最高のパフォーマンスと結果が得られることがわかりました。自分で構築できるチャットボットよりも、はるかに優れたインターフェースでした。そのため、他に選択肢がない場合に限り、組み込みのチャットボットをおすすめします。

会話例(組み込みのチャットボットを使用)

最近の更新

バージョン 2.0 - UI の大幅な刷新

  • Cursor AI などの IDE 向けに、MCP サーバーの直接サポートを追加(最もおすすめの方法)
  • 組み込みチャットボットを強化
    • パフォーマンスとユーザーエクスペリエンスを向上させるため、Streamlit から FastAPI/JavaScript クライアントに移行
    • ワークフローのステータスをより適切に更新できるよう、リアルタイム WebSocket 通信を強化
    • メッセージ処理と重複メッセージの防止を改善
    • アクセシビリティとモバイル対応を強化した、モダンでレスポンシブな UI
    • フローのドキュメント作成を支援する、新しいワークフロー「Flow Documentation」を追加

最新の更新情報とリリースノートについては、GitHub Releases ページをご覧ください。

セットアップ手順

注: 新しいパッケージ要件が追加されている場合があるため、新しいバージョンをプルした後も、これらの手順に従ってください。

共通セットアップ手順(すべてのバージョン)
  1. リポジトリをクローンする:

    git clone [email protected]:ms82119/NiFiMCP.git
    cd NiFiMCP
    
  2. 仮想環境をセットアップする: 依存関係を管理するため、仮想環境の使用をおすすめします。venv を使って作成できます。

    python3 -m venv .venv
    
  3. 仮想環境を有効化する:

    • macOS および Linux の場合:
      source .venv/bin/activate
      
    • Windows の場合:
      .venv\Scripts\activate
      
  4. 依存関係をインストールする: uv を使って、pyproject.toml と uv.lock に基づき依存関係をインストールします。

    uv sync
    
  5. config.yaml ファイルに NiFi サーバーの詳細と LLM API キーを設定する 書式と構成については、config.example.yaml を参考にしてください。 組み込みクライアントを使用する場合に限り、LLM API キーが必要です。

NiFi MCP サーバーの使用(stdio、任意の MCP クライアント)

REST サーバーやチャット UI を起動せずに、任意の MCP 対応クライアントから stdio 経由で NiFi MCP ツールを使用できます。ホストを設定し、config.yaml に少なくとも 1 つの NiFi サーバーを登録したうえで、リポジトリのルートディレクトリからサーバーを実行してください。

ポータブルなエントリーポイント(uv sync の実行後):

{
  "command": "uv",
  "args": ["run", "python", "-m", "nifi_mcp_server.stdio_server"],
  "env": {}
}

任意:env に NIFI_SERVER_ID を設定し、config.yaml の id を指定します。省略した場合は、そのファイルに記載された最初のサーバーが使用されます。

組み込みチャットボットの使用

2 つの独立したターミナルプロセス(異なる Python アプリ)が必要です。クライアントはブラウザーのみです。チャット URL を一度開いてください。同じポートで api.main の 2 つ目のインスタンスを起動しないでください。

プロセスアプリポート(例)役割
1nifi_mcp_server.server:app8000 または 8001MCP / NiFi バックエンド(REST + UI が呼び出すツール)
2api.main:app3000 または 3001チャットの Web UI を提供し、プロセス 1 と通信

MCP_SERVER_PORT はプロセス 1 がリッスンするポートと一致させる必要があります(プロセス 2 に MCP サーバーの場所を知らせます)。

1. MCP バックエンド(最初に実行):

uvicorn nifi_mcp_server.server:app --reload --port 8000

ポート 8000 が使用中の場合は、別のポートを選び、MCP_SERVER_PORT に同じ値を設定してください:

MCP_SERVER_PORT=8001 uvicorn nifi_mcp_server.server:app --reload --port 8001

2. チャット UI Web サーバー(2 つ目のターミナル):

uvicorn api.main:app --reload --port 3000

MCP サーバーが 8001 を使用する場合は、UI の接続先を指定してください:

MCP_SERVER_PORT=8001 uvicorn api.main:app --reload --port 3000

3000 が使用中の場合は、別の UI ポート(例:--port 3001)を使用できます。このポートを使用できる api.main プロセスは1 つだけです。

3. ブラウザーで開く:
http://localhost:3000(または api.main に選んだポート。例:http://localhost:3001)。

使用上のヒント

詳しい使用方法、ヒント、UI 機能については、使用ガイドを参照してください。

自動テストの実行

テストの詳しい情報と例については、テストガイドを参照してください。

ライセンス

このプロジェクトは、Apache License 2.0 のもとでライセンスされています。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。