
mcp-server-ntopng

2025.03.22
0
Python网络监控数据分析位置服务
mcp-server-ntopng 是一个基于 Model Context Protocol (MCP) 的服务器实现,专门用于与 NTOPNG 网络监控工具集成。它允许 AI 代理通过查询 NTOPNG 数据库来获取网络监控数据。该服务假设 NTOPNG 使用 ClickHouse 存储历史流量和警报数据。
View on GitHub
Overview
基本能力
产品定位
mcp-server-ntopng 是一个网络监控数据查询服务,通过 MCP 协议为 AI 代理提供访问 NTOPNG 数据库的能力。
核心功能
- 提供多种工具查询 NTOPNG 数据库中的网络监控数据
- 支持获取接口 ID、主机地理位置、流量统计、警报统计等信息
- 支持查询详细的流量数据和数据库表结构
适用场景
- 网络监控数据分析
- 网络安全事件调查
- 网络性能优化
- 流量模式分析
工具列表及能力
fetch_ntopng_all_ifids
- 获取所有可用的接口 IDget_ntopng_hosts_location
- 获取主机的物理位置和附加信息fetch_ntopng_top_local_talkers
- 获取指定接口的前 10 个本地通信主机fetch_ntopng_top_remote_talkers
- 获取指定接口的前 10 个远程通信主机- 各种警报统计工具(主机、接口、MAC、网络等)
query_ntopng_flows_data
- 从 NTOPNG 流量数据库获取详细流量数据list_tables_ntopng_database
- 列出 NTOPNG 数据库的表结构query_ntopng_database
- 查询 NTOPNG Clickhouse 数据库
常见问题解答
- 需要确保 NTOPNG 使用 ClickHouse 存储数据
- 需要正确配置环境变量连接数据库
- 支持 TLS 连接但默认禁用
- 连接超时默认为 30 秒,可调整
使用教程
使用依赖
- 需要安装 Python 环境
- 需要安装 uv 工具:
pip install uv
安装教程
- 设置环境变量(在
.env
文件或配置文件中):
NTOPNG_HOST=localhost
NTOPNG_PORT=9000
NTOPNG_USER=default
NTOPNG_PASSWORD=
- 安装依赖:
uv sync
- 激活虚拟环境:
source .venv/bin/activate
- 安装包:
uv pip install -e .
调试方式
- 启动开发服务器:
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
- 检查日志输出
- 验证数据库连接
- 测试各工具功能