mcp-ntopng

by marcoeg
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Enables querying the ntopng Clickhouse database to access historical network flows and alerts for network monitoring data analysis.

mcp-server-ntopng

NTOPNG 모델 컨텍스트 프로토콜 서버

NTOPNG 데이터베이스를 사용하여 AI 에이전트가 네트워크 모니터링 데이터를 쿼리할 수 있도록 하는 NTOPNG모델 컨텍스트 프로토콜 서버 구현입니다.

이 MCP 서버는 ntopng 가 ClickHouse를 사용하여 과거 흐름과 알림을 저장한다고 가정합니다. ntopng ClickHouse를 확인하세요.

도구

  • fetch_ntopng_all_ifids
  • ntopng에서 사용 가능한 모든 인터페이스 ID를 검색합니다.
  • get_ntopng_hosts_location
  • 호스트의 지리적 위치와 추가 정보를 가져옵니다.
  • fetch_ntopng_top_local_talkers
  • 지정된 인터페이스에 대한 상위 10개 로컬 토커를 검색합니다.
  • fetch_ntopng_top_remote_talkers
  • 지정된 인터페이스에 대한 상위 10개 원격 토커를 검색합니다.
  • get_ntopng_all_alert_stats
  • 모든 알림에 대한 통계를 검색합니다.
  • get_ntopng_flow_alert_stats
  • 흐름 알림에 대한 통계를 검색합니다.
  • get_ntopng_host_alert_stats
  • 호스트 알림에 대한 통계를 검색합니다.
  • get_ntopng_interface_alert_stats
  • 인터페이스 알림에 대한 통계를 검색합니다.
  • get_ntopng_mac_alert_stats
  • MAC 알림에 대한 통계를 검색합니다.
  • get_ntopng_network_alert_stats
  • 네트워크 알림에 대한 통계를 검색합니다.
  • get_ntopng_snmp_device_alert_list
  • SNMP 장치 알림 목록을 검색합니다.
  • get_ntopng_snmp_device_alert_stats
  • SNMP 장치 알림에 대한 통계를 검색합니다.
  • get_ntopng_system_alert_stats
  • 시스템 알림에 대한 통계를 검색합니다.
  • query_ntopng_flows_data
  • ntopng 흐름 데이터베이스에서 자세한 흐름 데이터를 검색합니다.
  • get_ntopng_top-k_flows
  • ntopng 흐름 데이터베이스에서 상위-k 흐름 데이터를 검색합니다.
  • get_ntopng_user_alert_stats
  • 사용자 알림에 대한 통계를 검색합니다.
  • get_ntopng_flow_devices_stats
  • 모든 흐름 장치에 대한 통계를 검색합니다.
  • get_ntopng_sflow_devices_stats
  • 모든 sFlow 장치에 대한 통계를 검색합니다.
  • list_tables_ntopng_database
  • ntopng 데이터베이스의 테이블 구조를 나열합니다.
  • query_ntopng_database
  • ntopng Clickhouse 데이터베이스를 쿼리합니다.

상태

Claude Desktop 앱 및 기타 MCP 호환 호스트와 클라이언트와 호환됩니다.

아직 MCP 리소스프롬프트 에 대한 지원이 없습니다.

구성

  1. 다음 위치에 있는 Claude Desktop 구성 파일을 만들거나 편집하세요.
    • macOS의 경우: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows의 경우: %APPDATA%/Claude/claude_desktop_config.json
  2. 다음을 추가합니다.

지엑스피1

  1. /path/to/your/uv-binary``uv 실행 파일의 절대 경로로 바꾸세요. which uv 있는 경로를 찾으세요. 이렇게 하면 서버를 시작할 때 올바른 버전의 uv 사용됩니다.
  2. 변경 사항을 적용하려면 Claude Desktop을 다시 시작하세요.

개발

  1. 저장소 루트에 있는 .env 파일이나 claude_desktop_config.json 파일에서 환경 변수를 설정합니다.
NTOPNG_HOST=localhost NTOPNG_PORT=9000 NTOPNG_USER=default NTOPNG_PASSWORD=
  1. uv sync 실행하여 종속성을 설치하세요. uv 설치하려면 여기의 지침을 따르세요. 그런 다음 source .venv/bin/activate 실행하세요.
  2. 프로젝트 메인 디렉토리에서 uv pip install -e . 사용하여 mcp-ntopng 패키지를 설치합니다.
  3. 간편한 테스트를 위해 mcp dev mcp_ntopng/mcp_server.py 실행하여 MCP 서버를 시작할 수 있습니다. 적절한 채팅 클라이언트로 변경하세요.

환경 변수

다음 환경 변수는 데이터베이스 연결을 구성하는 데 사용됩니다.

  • NTOPNG_HOST : ntopng 서버의 호스트 이름
  • NTOPNG_DBUSER : Clickhouse DB 인증을 위한 사용자 이름
  • NTOPNG_DBPASSWORD : Clickhouse DB 인증을 위한 비밀번호
  • NTOPNG_API_KEY : ntopng 인증 토큰.

선택 과목

  • NTOPNG_DBPORT : ntopng 서버의 Clickhouse DB 포트 번호
    • 기본값: HTTPS가 활성화된 경우 9000 , 비활성화된 경우 8123
    • 비표준 포트를 사용하지 않는 한 일반적으로 설정할 필요가 없습니다.
  • NTOPNG_SECURE : TLS 연결을 활성화/비활성화합니다.
    • 기본값: false
    • 보안 TLS 연결의 경우 true 로 설정
  • NTOPNG_VERIFY : SSL 인증서 검증을 활성화/비활성화합니다.
    • 기본값: true
    • 인증서 검증을 비활성화하려면 `false`로 설정합니다(프로덕션에는 권장하지 않음).
  • NTOPNG_CONNECT_TIMEOUT : 연결 시간 초과(초)
    • 기본값: `30
    • 연결 시간 초과가 발생하면 이 값을 늘리십시오.
  • NTOPNG_SEND_RECEIVE_TIMEOUT : 송수신 시간 초과(초)
    • 기본값: 300
    • 장기 실행 쿼리의 경우 이 값을 늘리십시오.

Clickhouse에 대한 TLS 연결을 설정하는 방법에 대한 자세한 내용은 ntopng 설명서의 TLS 설정을 확인하세요.

개발

로컬 컴퓨터에 패키지를 설치합니다.

$ uv sync $ uv pip install -e .

MCP 검사기 실행

$ cd mcp_ntopng $ source .env $ CLIENT_PORT=8077 SERVER_PORT=8078 mcp dev run_mcp_ntopng.py --with clickhouse-driver --with python-dotenv --with uvicorn --with pip-system-certs

Claude Desktop에서 지역 도서관을 이용하세요.

찾기: /Users/marco/Library/Application\ Support/Claude/claude_desktop_config.json

claude_desktop_config.json을 편집하여 로컬 경로를 변경합니다.

{ "mcpServers": { "mcp-ntopng": { "command": "/Users/marco/Development/claude/mcp-server-ntopng/.venv/bin/python", "args": [ "/Users/marco/Development/claude/mcp-server-ntopng/run_mcp_ntopng.py" ], "env": { "NTOPNG_HOST": "marcoeg-nod004.ntoplink.com", "NTOPNG_DBPORT": "9000", "NTOPNG_DBUSER": "default", "NTOPNG_DBPASSWORD": "", "NTOPNG_SECURE": "false", "NTOPNG_VERIFY": "false", "NTOPNG_CONNECT_TIMEOUT": "30", "NTOPNG_SEND_RECEIVE_TIMEOUT": "300", "SELECT_QUERY_TIMEOUT_SECS": "30", "NTOPNG_API_KEY": "NTOPNG_TOKEN" } } } }
-
security - not tested
A
license - permissive license
-
quality - not tested

네트워크 모니터링 소프트웨어 ntopng를 위한 MCP 서버.

  1. Tools
    1. Status
      1. Configuration
        1. Development
          1. Environment Variables
          2. Development
        ID: bahb2ut908