World Monitor
Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 97 tools.
Evidence-backed, read-only Apache NiFi investigation: cited evidence and reviewable flow drafts
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
검사 3/3 통과 · 내 컴퓨터에서 실행돼요 · ✓ 명령 확인 2026년 11월 13일
먼저: 어떤 AI를 쓰시나요?
쓰는 앱을 고르면 아래에 단계가 나옵니다.
Claude에 연결할 수 있지만 먼저 준비가 필요해요
먼저 컴퓨터에 Python (uv)를 설치하세요 (한 번만) · 컴퓨터용 Claude 앱(Windows 또는 Mac)에서만 되고 웹이나 모바일은 안 돼요
이 메시지를 Claude 채팅에 붙여 넣으세요. AI가 컴퓨터를 확인하고 어떤 파일을 바꿀지 알려 준 뒤 매번 동의를 기다립니다.
이 컴퓨터의 Claude에 MCP server NiFiMCP을 설치해 주세요. 순서대로: 1) uv --version로 uv가 있는지 확인. 없으면 https://docs.astral.sh/uv/getting-started/installation/에서 설치하라고 알려 주고 직접 설치하지 마세요. 2) 이 설정만 사용하세요(PopNx MCP 확인 완료): { "mcpServers": { "nifimcp": { "command": "uvx", "args": [ "nifimcp-server", "serve", "--config", "your-value" ] } } } 3) 바꿀 파일의 전체 경로나 실행할 명령을 알려 주고 제 동의를 기다리세요. 4) 키는 필요 없습니다. 5) 합의한 대로 실행한 뒤 NiFiMCP의 도구가 실제로 보이는지 확인하세요.이 메시지에는 키가 없습니다. 키가 필요하면 AI가 파일이나 앱 입력란에 직접 붙여 넣으라고 안내합니다.
이미 설치했나요? 먼저 확인 · 터미널을 열고 이 명령을 입력한 뒤 Enter
uv --versionMac: ⌘ + Space를 누르고 Terminal 입력 후 Enter
Windows: 시작 메뉴를 열고 Windows PowerShell 입력 후 "열기"
아직 설치하지 않았다면: uv에는 클릭형 설치 파일이 없습니다. uv 공식 페이지에서 내 시스템(macOS 또는 Windows)용 한 줄 명령을 복사해 터미널에 붙여 넣으세요 · Python을 따로 설치할 필요 없이 uv가 필요할 때 자동으로 내려받습니다
설치가 끝나면 터미널을 닫았다가 다시 열고 같은 명령을 실행하세요. 버전 번호가 나와야 합니다: uv --version
한 번 설치하면 uv가 필요한 모든 도구에서 쓸 수 있습니다
SettingsDeveloperEdit Config
{
"mcpServers": {
"nifimcp": {
"command": "uvx",
"args": [
"nifimcp-server",
"serve",
"--config",
"your-value"
]
}
}
}NiFiMCP을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude가 NiFiMCP을 쓰고 있다고 하거나 답에 NiFiMCP 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
ChatGPT는 아직 NiFiMCP에 연결할 수 없어요
NiFiMCP는 내 컴퓨터에 설치해서 쓰지만 ChatGPT는 웹에서 도는 서버만 연결할 수 있어요
A · NiFiMCP에 연결되는 앱 쓰기
B · 기타에서 ChatGPT에 연결되는 다른 서버
같은 분류에서 많이 쓰는 것 중 키 없이 주소만으로 연결되는 것을 골랐어요
Claude Code에 연결할 수 있지만 먼저 준비가 필요해요
먼저 컴퓨터에 Python (uv)를 설치하세요 (한 번만)
이 메시지를 Claude Code 채팅에 붙여 넣으세요. AI가 컴퓨터를 확인하고 어떤 파일을 바꿀지 알려 준 뒤 매번 동의를 기다립니다.
이 컴퓨터의 Claude Code에 MCP server NiFiMCP을 설치해 주세요. 순서대로: 1) uv --version로 uv가 있는지 확인. 없으면 https://docs.astral.sh/uv/getting-started/installation/에서 설치하라고 알려 주고 직접 설치하지 마세요. 2) 이 설정만 사용하세요(PopNx MCP 확인 완료): claude mcp add --scope user nifimcp -- uvx nifimcp-server serve --config your-value 3) 바꿀 파일의 전체 경로나 실행할 명령을 알려 주고 제 동의를 기다리세요. 4) 키는 필요 없습니다. 5) 합의한 대로 실행한 뒤 NiFiMCP의 도구가 실제로 보이는지 확인하세요.이 메시지에는 키가 없습니다. 키가 필요하면 AI가 파일이나 앱 입력란에 직접 붙여 넣으라고 안내합니다.
이미 설치했나요? 먼저 확인 · 터미널을 열고 이 명령을 입력한 뒤 Enter
uv --versionMac: ⌘ + Space를 누르고 Terminal 입력 후 Enter
Windows: 시작 메뉴를 열고 Windows PowerShell 입력 후 "열기"
아직 설치하지 않았다면: uv에는 클릭형 설치 파일이 없습니다. uv 공식 페이지에서 내 시스템(macOS 또는 Windows)용 한 줄 명령을 복사해 터미널에 붙여 넣으세요 · Python을 따로 설치할 필요 없이 uv가 필요할 때 자동으로 내려받습니다
설치가 끝나면 터미널을 닫았다가 다시 열고 같은 명령을 실행하세요. 버전 번호가 나와야 합니다: uv --version
한 번 설치하면 uv가 필요한 모든 도구에서 쓸 수 있습니다
Mac: Command+스페이스를 누르고 Terminal 입력 · Windows: PowerShell 열기
claude mcp add --scope user nifimcp -- uvx nifimcp-server serve --config your-valueNiFiMCP이 목록에 있고 연결됨으로 보이면 돼요
NiFiMCP을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Claude Code가 NiFiMCP을 쓰고 있다고 하거나 답에 NiFiMCP 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Anthropic 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Cursor에 연결할 수 있지만 먼저 준비가 필요해요
먼저 컴퓨터에 Python (uv)를 설치하세요 (한 번만) · 한 번에 설치하는 버튼이 없어요. 설정을 붙여 넣고 값을 직접 채우세요
이 메시지를 Cursor 채팅에 붙여 넣으세요. AI가 컴퓨터를 확인하고 어떤 파일을 바꿀지 알려 준 뒤 매번 동의를 기다립니다.
이 컴퓨터의 Cursor에 MCP server NiFiMCP을 설치해 주세요. 순서대로: 1) uv --version로 uv가 있는지 확인. 없으면 https://docs.astral.sh/uv/getting-started/installation/에서 설치하라고 알려 주고 직접 설치하지 마세요. 2) 이 설정만 사용하세요(PopNx MCP 확인 완료): { "mcpServers": { "nifimcp": { "command": "uvx", "args": [ "nifimcp-server", "serve", "--config", "your-value" ] } } } 3) 바꿀 파일의 전체 경로나 실행할 명령을 알려 주고 제 동의를 기다리세요. 4) 키는 필요 없습니다. 5) 합의한 대로 실행한 뒤 NiFiMCP의 도구가 실제로 보이는지 확인하세요.이 메시지에는 키가 없습니다. 키가 필요하면 AI가 파일이나 앱 입력란에 직접 붙여 넣으라고 안내합니다.
이미 설치했나요? 먼저 확인 · 터미널을 열고 이 명령을 입력한 뒤 Enter
uv --versionMac: ⌘ + Space를 누르고 Terminal 입력 후 Enter
Windows: 시작 메뉴를 열고 Windows PowerShell 입력 후 "열기"
아직 설치하지 않았다면: uv에는 클릭형 설치 파일이 없습니다. uv 공식 페이지에서 내 시스템(macOS 또는 Windows)용 한 줄 명령을 복사해 터미널에 붙여 넣으세요 · Python을 따로 설치할 필요 없이 uv가 필요할 때 자동으로 내려받습니다
설치가 끝나면 터미널을 닫았다가 다시 열고 같은 명령을 실행하세요. 버전 번호가 나와야 합니다: uv --version
한 번 설치하면 uv가 필요한 모든 도구에서 쓸 수 있습니다
~/.cursor/mcp.json
이 설정을 붙여 넣고 빈 값을 채운 뒤 저장
{
"mcpServers": {
"nifimcp": {
"command": "uvx",
"args": [
"nifimcp-server",
"serve",
"--config",
"your-value"
]
}
}
}NiFiMCP을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ Cursor가 NiFiMCP을 쓰고 있다고 하거나 답에 NiFiMCP 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 Cursor 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
VS Code에 연결할 수 있지만 먼저 준비가 필요해요
먼저 컴퓨터에 Python (uv)를 설치하세요 (한 번만) · 한 번에 설치하는 버튼이 없어요. 설정을 붙여 넣고 값을 직접 채우세요
이 메시지를 VS Code 채팅에 붙여 넣으세요. AI가 컴퓨터를 확인하고 어떤 파일을 바꿀지 알려 준 뒤 매번 동의를 기다립니다.
이 컴퓨터의 VS Code에 MCP server NiFiMCP을 설치해 주세요. 순서대로: 1) uv --version로 uv가 있는지 확인. 없으면 https://docs.astral.sh/uv/getting-started/installation/에서 설치하라고 알려 주고 직접 설치하지 마세요. 2) 이 설정만 사용하세요(PopNx MCP 확인 완료): { "servers": { "nifimcp": { "type": "stdio", "command": "uvx", "args": [ "nifimcp-server", "serve", "--config", "your-value" ] } } } 3) 바꿀 파일의 전체 경로나 실행할 명령을 알려 주고 제 동의를 기다리세요. 4) 키는 필요 없습니다. 5) 합의한 대로 실행한 뒤 NiFiMCP의 도구가 실제로 보이는지 확인하세요.이 메시지에는 키가 없습니다. 키가 필요하면 AI가 파일이나 앱 입력란에 직접 붙여 넣으라고 안내합니다.
이미 설치했나요? 먼저 확인 · 터미널을 열고 이 명령을 입력한 뒤 Enter
uv --versionMac: ⌘ + Space를 누르고 Terminal 입력 후 Enter
Windows: 시작 메뉴를 열고 Windows PowerShell 입력 후 "열기"
아직 설치하지 않았다면: uv에는 클릭형 설치 파일이 없습니다. uv 공식 페이지에서 내 시스템(macOS 또는 Windows)용 한 줄 명령을 복사해 터미널에 붙여 넣으세요 · Python을 따로 설치할 필요 없이 uv가 필요할 때 자동으로 내려받습니다
설치가 끝나면 터미널을 닫았다가 다시 열고 같은 명령을 실행하세요. 버전 번호가 나와야 합니다: uv --version
한 번 설치하면 uv가 필요한 모든 도구에서 쓸 수 있습니다
MCP: Open User Configuration
이 설정을 붙여 넣고 빈 값을 채운 뒤 저장
{
"servers": {
"nifimcp": {
"type": "stdio",
"command": "uvx",
"args": [
"nifimcp-server",
"serve",
"--config",
"your-value"
]
}
}
}NiFiMCP을 써서 나에게 무엇을 해 줄 수 있는지 알려 주고, 하나 해 봐✓ VS Code가 NiFiMCP을 쓰고 있다고 하거나 답에 NiFiMCP 도구 이름이 나오면 연결된 거예요
메뉴 이름은 2026년 11월 11일에 VS Code 도움말에서 확인 · 앱 버전에 따라 화면이 조금 다를 수 있어요
Claude Code
claude mcp add --scope user nifimcp -- uvx nifimcp-server serve --config your-valueClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"nifimcp": {
"command": "uvx",
"args": [
"nifimcp-server",
"serve",
"--config",
"your-value"
]
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"nifimcp": {
"command": "uvx",
"args": [
"nifimcp-server",
"serve",
"--config",
"your-value"
]
}
}
}VS Code (mcp.json)
{
"servers": {
"nifimcp": {
"type": "stdio",
"command": "uvx",
"args": [
"nifimcp-server",
"serve",
"--config",
"your-value"
]
}
}
}이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
pypi: nifimcp-server이 서버의 연결 방식과 각 앱의 공식 문서를 바탕으로 했어요. 2026년 11월 10일 확인.
내 컴퓨터에서 실행하는 앱
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 15일 점검
레지스트리 이름이 GitHub 계정 nifimcp 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
코드 마지막 변경: 16일 전
Apache-2.0 사용
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
아직 확인하지 않았습니다
질문하고, 팁을 나누고, 안 되는 점을 알려 주세요. "도움이 됨"이 많은 순서예요.
아직 리뷰가 없어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 3개 중 3개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 16일 전 변경됐고, 최신 버전(0.1.0-rc.1)은 16일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Python (uv)도 있어야 해요.
같은 카테고리에는: World Monitor, openstatus, Oh My Posh Validator, Strata, Jitsu
같은 카테고리, 다른 제작자, 명령 확인 완료. 공식이 먼저, 그다음 스타 순.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Real-time global intelligence on conflict, markets, energy, trade, shipping and cyber. 97 tools.
Manage monitors, status pages, incidents and maintenances in your openstatus workspace.
Validate oh-my-posh configurations and segment snippets against the official schema.
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Manage Jitsu data pipelines: destinations, streams, connections, functions, live events.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
Give AI the context to understand your NiFi flows, investigate failures with cited evidence, and draft what comes next.
Explore NiFiMCP · How it works · Bring us one critical NiFi workflow
NiFiMCP is an open-source Model Context Protocol server for evidence-backed Apache NiFi investigation. It reads; it does not change your NiFi.
Public preview 0.1.0rc1. Tested on Linux x86_64 with Python 3.12 against stock Apache NiFi 2.12.0
(single node, certificate authentication) and Claude Code. Live NiFi access is read-only; a flow draft is a
local file that an authorized person imports separately. Anything outside that boundary is listed as
untested or unsupported in the capability matrix. Expect rough edges and report them.
NiFiMCP is an independent project for Apache NiFi, founded and maintained by Lloyd Clark. It is not affiliated with, sponsored by or endorsed by the Apache Software Foundation or Cloudera. Apache NiFi and NiFi are trademarks of the Apache Software Foundation. Website: nifimcp.com.
The demo needs no NiFi, no model and no account. It replays evidence captured from a real NiFi 2.12.0 instance running a synthetic flow. With uv installed:
uvx --from nifimcp-server==0.1.0rc1 nifimcp demo --output ./nifimcp-demo
Open nifimcp-demo/report.html. Every statement in it links to the exact source bytes it came from.
NiFiMCP needs Python 3.12. The package on PyPI is nifimcp-server and it installs the nifimcp command (nifi-mcp is an unrelated project, and PyPI treats nifimcp as the same name). 0.1.0rc1 is a pre-release, so pin the version:
uv tool install nifimcp-server==0.1.0rc1 # installs the nifimcp command
nifimcp --version
or, with pip in a Python 3.12 virtual environment, pip install nifimcp-server==0.1.0rc1.
From source, for development or to run the test suites:
git clone https://github.com/nifimcp/nifimcp.git
cd nifimcp uv sync --frozen uv run nifimcp demo --output ./nifimcp-demo
For machines without internet access, use the offline kit (hash-locked wheels, SBOM and licenses) from the GitHub release and follow docs/OFFLINE_INSTALL.md.
NiFiMCP works in three modes:
| Mode | Reads from | Use it for |
|---|---|---|
demo | the bundled synthetic capture | trying it out |
bundle | flow definitions and evidence bundles you register | air-gapped review, sharing a case |
live | one NiFi 2.12.0 origin over HTTPS with mutual TLS | investigating a running system |
For live mode, create a dedicated NiFi identity (a client certificate) and give it read-only access to the process groups you want the assistant to see, nothing more:
| NiFi policy | Needed for |
|---|---|
view the user interface (/flow) | every live call |
| view the component, on each scoped process group | describe and health |
query provenance (/provenance) and view provenance, on each scoped group | trace_feed, unmatched history |
| view the data, on each scoped group | provenance queries and queue metadata sampling (NiFi 2.12.0 requires it for both) |
NiFi's "view the data" policy would also let this identity open FlowFile content in the NiFi UI. NiFiMCP has no route to content, attribute dumps or replay, and only allowlisted attribute values leave the server. Without that policy, describe and health still work, and provenance and sampling return a permission error that names the missing policy.
Never grant write policies. NiFiMCP has no tool that modifies NiFi, and the scoped identity is your second line of defense. Then write an operator config (docs/CONFIGURATION.md) and check it:
nifimcp doctor --config operator.json
Add the server to your MCP host:
{
"mcpServers": { "nifimcp": { "command": "uvx", "args": ["--from", "nifimcp-server==0.1.0rc1", "nifimcp", "serve", "--config", "/path/to/operator.json"] } } }
The recorded Claude Code sessions in evidence/host/ used the source-checkout form of the same command (uv run --frozen --project /path/to/nifimcp nifimcp serve --config ...). Other MCP hosts that launch stdio servers should work with the same command but have not been tested.
orders-intake for an on-call operator who did not build it. Cite evidence and list unknowns." . Investigate the last hour and separate observed facts, plausible explanations and missing evidence." through scope orders-intake between 09:00 and 10:00 UTC. Where did it go and what can't you see?"before and after. What changed in routing and queue settings?"status=critical to out_critical, standard to out_standard and everything else to out_unmatched. Validate it and give me labeled test cases."The server also ships three MCP prompts: explain_this_flow, investigate_this_feed and draft_bounded_routing_flow.
| Tool | What it returns |
|---|---|
get_capabilities | mode, scopes, limits, NiFi version and which features are available |
describe_flow | bounded graph, parameters, services and fixed-rule configuration findings |
get_flow_health | timestamped status, queues, bulletins and labeled hypotheses |
trace_feed | provenance timeline for one exact FlowFile UUID, filename or approved indexed attribute (max 24 h) |
inspect_unmatched | what feeds an unmatched route, its recent events and an optional metadata sample |
compare_flow_snapshots | value-safe structural diff of two registered snapshots |
export_investigation | the investigation as JSON or a self-contained HTML report |
get_processor_catalog | the pinned NiFi 2.12.0 processor catalog used for drafts |
validate_flow_plan | static checks of a proposed subflow |
draft_flow | a stopped, local NiFi flow definition plus a review page and receipt |
Every result uses one envelope: status, scope, source version, collection time, evidence records (source hash plus JSON pointer), findings labeled as *observed*, *static rule*, *hypothesis* or *operator note*, explicit gaps, and the limits that were applied.
A non-AI command line covers the same ground: nifimcp describe, investigate, report, draft, register, unregister and catalog. Run nifimcp --help. For a sample subflow plan, run nifimcp draft --example attribute_router > plan.json, then nifimcp draft --plan plan.json --output ./draft.
| Step | Who writes to NiFi | Identity | Where |
|---|---|---|---|
Investigate (describe_flow, get_flow_health, trace_feed, inspect_unmatched, export_investigation) | nobody | your read-only observer certificate | your NiFi, over 14 allowlisted read endpoints |
Draft (validate_flow_plan, draft_flow) | nobody | none; no NiFi connection is used | local files in the artifact directory |
Verify a draft (scripts/lab_verify_draft.py, optional) | the separate lab CLI | the lab's own admin certificate, which exists only inside the disposable container the lab created | a throwaway NiFi container on 127.0.0.1, deleted afterward |
In the recorded Claude Code session the assistant drafted a router with draft_flow, which wrote files and touched no NiFi. The import you see in evidence/host/*/lab-verification/ was done afterward by the lab CLI with the lab admin certificate (CN=nifimcp-lab-admin) through NiFi's upload endpoint, into a scratch group of a container that was then destroyed. The MCP server has no upload, start or deploy route, and the observer identity holds no write policy. Execution against a real NiFi is not part of this release. It is planned as a separate, approval-controlled component.
NiFi names, messages and attributes are treated as untrusted text. Your MCP host's model still decides what to say; check its claims against the cited evidence.
Three acceptance gates are BLOCKED, not passed, and they matter in practice:
| Gate | What it means for you |
|---|---|
| Clusters | A clustered NiFi is detected and refused in live mode (UNSUPPORTED_TOPOLOGY). Bundle mode still reviews exported flow definitions from any NiFi. Safe read-only cluster support is the first roadmap item. |
| Other platforms | Only Linux x86_64 has run the test suites. macOS, Windows and ARM are untested; the code is pure Python and may well run, but nobody has checked file p