mcp-server-ntopng
ntopng Model Context Protocol Server
Documentation
mcp-server-ntopng
NTOPNG Model Context Protocol Server
A Model Context Protocol server implementation for NTOPNG that enables AI agents to query networks monitoring data using the NTOPNG database.
This MCP Server assumes that `ntopng` is using ClickHouse to store historical flows and alert. Check ntopng Clickhouse
Tools
- `fetch_ntopng_all_ifids`
- Retrieve all available interface IDs from ntopng.
- `get_ntopng_hosts_location`
- Fetch geographical location and additional info for hosts.
- `fetch_ntopng_top_local_talkers`
- Retrieve the top 10 local talkers for a specified interface.
- `fetch_ntopng_top_remote_talkers`
- Retrieve the top 10 remote talkers for a specified interface.
- `get_ntopng_all_alert_stats`
- Retrieve statistics for all alerts.
- `get_ntopng_flow_alert_stats`
- Retrieve statistics for flow alerts.
- `get_ntopng_host_alert_stats`
- Retrieve statistics for host alerts.
- `get_ntopng_interface_alert_stats`
- Retrieve statistics for interface alerts.
- `get_ntopng_mac_alert_stats`
- Retrieve statistics for MAC alerts.
- `get_ntopng_network_alert_stats`
- Retrieve statistics for network alerts.
- `get_ntopng_snmp_device_alert_list`
- Retrieve a list of SNMP device alerts.
- `get_ntopng_snmp_device_alert_stats`
- Retrieve statistics for SNMP device alerts.
- `get_ntopng_system_alert_stats`
- Retrieve statistics for system alerts.
- `query_ntopng_flows_data`
- Retrieve detailed flows data from the ntopng flows database.
- `get_ntopng_top-k_flows`
- Retrieve top-k flows data from the ntopng flows database.
- `get_ntopng_user_alert_stats`
- Retrieve statistics for user alerts.
- `get_ntopng_flow_devices_stats`
- Retrieve statistics for all flow dev`ices.
- `get_ntopng_sflow_devices_stats`
- Retrieve statistics for all sFlow devices.
- `list_tables_ntopng_database`
- List tables structure of the ntopng database.
- `query_ntopng_database`
- Query the ntopng Clickhouse database.
Status
Works with Claude Desktop app and other MCP compliant hosts and clients.
No support for MCP resources or prompts yet.
Configuration
1. Create or edit the Claude Desktop configuration file located at:
2. Add the following:
{
"mcpServers": {
"mcp-ntopng": {
"command": "/path/to/your/uv-binary",
"args": ["run", "--with", "mcp-ntopng", "--python", "3.13", "mcp-ntopng"]
"env": {
"NTOPNG_HOST": "",
"NTOPNG_DBPORT": "",
"NTOPNG_DBUSER": "",
"NTOPNG_DBPASSWORD": "",
"NTOPNG_SECURE": "true",
"NTOPNG_VERIFY": "true",
"NTOPNG_CONNECT_TIMEOUT": "30",
"NTOPNG_SEND_RECEIVE_TIMEOUT": "300",
"NTOPNG_API_KEY": "NTOPNG_TOKEN"
}
}
}
}3. Replace `/path/to/your/uv-binary` with the absolute path to the `uv` executable. Find the path with `which uv`. This ensures that the correct version of `uv` is used when starting the server.
4. Restart Claude Desktop to apply the changes.
Development
1. Set the environmental variables either in the `claude_desktop_config.json` file or in a `.env` file in the root of the repository.
NTOPNG_HOST=localhost
NTOPNG_PORT=9000
NTOPNG_USER=default
NTOPNG_PASSWORD=3. Run `uv sync` to install the dependencies. To install `uv` follow the instructions here. Then do `source .venv/bin/activate`.
4. Install the `mcp-ntopng` package with `uv pip install -e .` from the project main directory.
4. For easy testing, you can run `mcp dev mcp_ntopng/mcp_server.py` to start the MCP server. CHANGE WITH A PROPER CHAT CLIENT
Environment Variables
The following environment variables are used to configure the database connection:
- `NTOPNG_HOST`: The hostname of the `ntopng` server
- `NTOPNG_DBUSER`: The username for Clickhouse DB authentication
- `NTOPNG_DBPASSWORD`: The password for Clickhouse DB authentication
- `NTOPNG_API_KEY`: The `ntopng` authentication token.
Optional
- `NTOPNG_DBPORT`: The port number of the Clickhouse DB in the `ntopng` server
- Default: `9000` if HTTPS is enabled, `8123` if disabled
- Usually doesn't need to be set unless using a non-standard port
- `NTOPNG_SECURE`: Enable/disable a TLS connection
- Default: `false`
- Set to `true` for a secure TLS connections
- `NTOPNG_VERIFY`: Enable/disable SSL certificate verification
- Default: `true`
- Set to `false to disable certificate verification (not recommended for production)
- `NTOPNG_CONNECT_TIMEOUT`: Connection timeout in seconds
- Default: `30
- Increase this value if you experience connection timeouts
- `NTOPNG_SEND_RECEIVE_TIMEOUT`: Send/receive timeout in seconds
- Default: `300`
- Increase this value for long-running queries
> Check TLS Setup in the `ntopng` documentation for details about setting up a TLS connection to Clickhouse.
Development
Install the package on the local machine:
$ uv sync
$ uv pip install -e .Run the MCP Inspector
$ 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-certsUse the local library in Claude Desktop.
Find: /Users/marco/Library/Application\ Support/Claude/claude_desktop_config.json
Edit the claude_desktop_config.json changing the local paths:
{
"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"
}
}
}
}Frequently asked questions
What is mcp-server-ntopng?
mcp-server-ntopng is ntopng Model Context Protocol Server
How do I install mcp-server-ntopng?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is mcp-server-ntopng open source?
Yes — it is hosted on GitHub at https://github.com/marcoeg/mcp-server-ntopng and has 1 stars.
Related MCP tools
🙌 OpenHands: Code Less, Make More for the Model Context Protocol. Enhance AI assistants with powerful integrations. Python-based implementation.
Universal memory layer for AI Agents; Announcing OpenMemory MCP - local and secure memory management. Python-based implementation.
基于大模型搭建的聊天机器人,同时支持 微信公众号、企业微信应用、飞书、钉钉 等接入,可选择ChatGPT/Claude/DeepSeek/文心一言/讯飞星火/通义千问/ Gemini/GLM-4/Kimi/LinkAI,能处理文本、语音和图片,访问操作系统和互联网,支持基于自有知识库进行定制企业智能客服。
An LLM agent that conducts deep research (local and web) on any given topic and generates a long report with citations. Built for the Model Context Protocol to
🚀 The fast, Pythonic way to build MCP servers and clients Trusted by 19900+ developers. Trusted by 19900+ developers. Trusted by 19900+ developers.
🔥 MaxKB is an open-source platform for building enterprise-grade agents. MaxKB 是强大易用的开源企业级智能体平台。 for the Model Context Protocol. Enhance AI assistants with po
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP