
mcp-server-ntopng

2025.05.09
0
Python网络监控流量分析警报统计位置服务位置服务开发效率
mcp-server-ntopng 是一个基于 Model Context Protocol (MCP) 的服务器实现,专为 NTOPNG 网络流量分析工具设计。它允许 AI 代理通过查询 NTOPNG 数据库来获取网络监控数据。该服务特别适用于需要实时或历史网络流量分析、警报统计和主机位置信息的场景。
View on GitHub
Overview
基本能力
产品定位
mcp-server-ntopng 是一个网络流量分析工具的服务端实现,旨在通过 MCP 协议为 AI 代理提供网络监控数据的查询能力。
核心功能
- 查询 NTOPNG 数据库中的网络流量数据
- 获取主机的地理位置信息
- 检索各种类型的警报统计数据
- 支持多种网络设备的统计信息查询
适用场景
- 网络流量监控与分析
- 网络安全警报统计
- 主机位置追踪
- 网络性能优化
工具列表及能力
fetch_ntopng_all_ifids
- 获取所有可用的接口 IDget_ntopng_hosts_location
- 获取主机的地理位置信息fetch_ntopng_top_local_talkers
- 获取指定接口的本地通信量前十的主机fetch_ntopng_top_remote_talkers
- 获取指定接口的远程通信量前十的主机- 多种警报统计工具 - 获取各种类型的警报统计数据
query_ntopng_flows_data
- 查询详细的流量数据list_tables_ntopng_database
- 列出 NTOPNG 数据库的表结构query_ntopng_database
- 直接查询 NTOPNG Clickhouse 数据库
常见问题解答
- 需要确保 NTOPNG 使用 ClickHouse 存储历史流量和警报数据
- 需要正确配置环境变量以连接数据库
- 可能需要调整超时设置以处理长时间运行的查询
使用教程
使用依赖
- 确保已安装 NTOPNG 并配置使用 ClickHouse
- 安装 uv 工具:
# 安装 uv 工具
# 参考 https://docs.astral.sh/uv/
安装教程
- 克隆或下载项目
- 安装依赖:
uv sync
uv pip install -e .
- 配置环境变量(在 .env 文件中或直接设置):
NTOPNG_HOST=localhost
NTOPNG_PORT=9000
NTOPNG_USER=default
NTOPNG_PASSWORD=
调试方式
- 启动开发服务器:
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
- 检查日志输出以确认连接状态
- 使用提供的工具进行测试查询