mcp-ntopng

mcp-ntopng

site icon
2025.03.26 0
Python网络监控其它
mcp-ntopng 是一个用于网络监控软件 ntopng 的 MCP 服务器。它提供了与 ntopng 数据库交互的能力,允许用户通过查询语句获取网络监控数据。该服务支持两种传输类型:stdio 和 sse,并提供了详细的日志记录功能,便于调试。
View on GitHub

Overview

基本能力

产品定位

mcp-ntopng 是一个用于网络监控软件 ntopng 的 MCP 服务器,主要用于与 ntopng 数据库交互,获取网络监控数据。

核心功能

  1. 支持与 ntopng 数据库交互,允许用户通过 SELECT 语句查询数据。
  2. 提供两种传输类型:stdio 和 sse。
  3. 详细的日志记录功能,便于调试。

适用场景

  1. 网络监控数据的查询和分析。
  2. 网络异常检测和警报管理。

工具列表

  1. query_ntopng_database:用于查询 ntopng 数据库的工具,支持 SELECT 语句。

常见问题解答

  1. 如何切换传输类型?
  2. 在 MCP Inspector 中可以自由切换 stdiosse 传输类型。
  3. 如何调试?
  4. 运行服务器时,终端会显示完整的活动日志,便于调试。

使用教程

使用依赖

  1. 前置条件
  2. Python 3.13 或更高版本。
  3. uv 包管理器(安装指南)。

  4. 克隆仓库

git clone https://github.com/marcoeg/mcp-nvd
cd mcp-nvd
  1. 设置环境变量
  2. 在项目根目录创建 .env 文件,包含以下环境变量:
NTOPNG_HOST=localhost
NTOPNG_PORT=9000
NTOPNG_USER=default
NTOPNG_PASSWORD=
  1. 安装依赖
uv sync
uv pip install -e .

安装教程

  1. 运行 MCP Inspector
cd /path/to/the/repo
source .env

CLIENT_PORT=8077 SERVER_PORT=8078 npx @modelcontextprotocol/inspector uv \
    --directory /path/to/repo/mcp-ntopng run mcp-ntopng
  • 打开浏览器访问 MCP Inspector 提供的 URL,通常是 http://localhost:8077?proxyPort=8078
  • 连接后,选择 query_ntopng_database 工具,输入查询语句如 SELECT * FROM host_alerts_view LIMIT 2

  • 运行服务器(SSE 传输)

cd /path/to/the/repo
source .env

uv run mcp-ntopng --transport sse --port 9090
  • 默认使用 SSE 传输,运行在端口 9090

调试方式

  • 运行服务器时,终端会显示完整的活动日志,便于调试。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。