Observium MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Observium MCP ServerWhat devices are currently down?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Observium MCP Server
A Model Context Protocol (MCP) server that exposes Observium CE network monitoring data to LLMs like Claude, enabling natural language queries about device status, network traffic, sensor readings, alerts, and historical trends.
Features
Device Management: List and query monitored devices with status, uptime, and hardware info
Network Ports: View interface status, traffic rates, and utilization
Sensors: Access temperature, voltage, frequency, and other sensor data
Alerts: Query active and historical alerts with summaries
Trends: Retrieve historical metrics from RRD data (load, CPU, memory)
Related MCP server: NetBox MCP Server
Requirements
Python 3.10+ (required by MCP SDK)
Observium CE installation with MySQL/MariaDB database access
Access to Observium's RRD data directory (for trend data)
rrdtoolandlibrrd-devpackages (for RRD data access)
Installation
1. Clone the repository
git clone https://github.com/kdesch5000/observium-mcp.git
cd observium-mcp2. Create a virtual environment
python3 -m venv venv
source venv/bin/activate3. Install dependencies
pip install -r requirements.txt4. Configure environment
Copy the example configuration and edit with your Observium database credentials:
cp config.example.env .envEdit .env with your settings:
# Database connection (use SSH tunnel if remote)
OBSERVIUM_DB_HOST=localhost
OBSERVIUM_DB_PORT=3306
OBSERVIUM_DB_NAME=observium
OBSERVIUM_DB_USER=observium
OBSERVIUM_DB_PASS=your_database_password
# RRD data path (on the Observium server)
OBSERVIUM_RRD_PATH=/opt/observium/rrd
# Optional: SSH configuration for remote RRD access
# If MCP server runs on a different machine than Observium,
# set these to enable SSH-based RRD file access for trend data
# OBSERVIUM_RRD_SSH_HOST=observium.example.com
# OBSERVIUM_RRD_SSH_USER=pi
# OBSERVIUM_RRD_SSH_PORT=22Usage
With Claude Code
Add to your Claude Code MCP configuration (~/.claude/claude_code_config.json):
{
"mcpServers": {
"observium": {
"command": "python",
"args": ["-m", "observium_mcp.server"],
"cwd": "/path/to/observium-mcp/src",
"env": {
"OBSERVIUM_DB_HOST": "localhost",
"OBSERVIUM_DB_NAME": "observium",
"OBSERVIUM_DB_USER": "observium",
"OBSERVIUM_DB_PASS": "your_password",
"OBSERVIUM_RRD_PATH": "/opt/observium/rrd"
}
}
}
}With Claude Desktop
Add to your Claude Desktop configuration:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"observium": {
"command": "python",
"args": ["-m", "observium_mcp.server"],
"cwd": "/path/to/observium-mcp/src",
"env": {
"OBSERVIUM_DB_HOST": "your_observium_host",
"OBSERVIUM_DB_NAME": "observium",
"OBSERVIUM_DB_USER": "observium",
"OBSERVIUM_DB_PASS": "your_password",
"OBSERVIUM_RRD_PATH": "/opt/observium/rrd"
}
}
}
}Standalone
cd src
python -m observium_mcp.serverAvailable Tools
Tool | Description |
| List all monitored devices with status |
| Get detailed info for a specific device |
| List network interfaces for a device |
| Get traffic stats for a specific port |
| List sensor readings (temp, voltage, etc.) |
| List active or historical alerts |
| Get alert count summary |
| Get historical metric data |
| List available RRD metrics for a device |
Example Queries
Once connected, you can ask Claude questions like:
"What devices are currently down?"
"Show me the temperature sensors on the main switch"
"What's the CPU load trend for the firewall over the past week?"
"Are there any active alerts?"
"Which ports on the core switch have errors?"
"What's the uptime of all my Linux servers?"
Remote Access
If your Observium instance is on a remote server, you have several options:
Option 1: SSH Tunnel
# Create SSH tunnel to forward MySQL port
ssh -L 3306:localhost:3306 user@observium-server
# Then configure .env with localhost
OBSERVIUM_DB_HOST=localhostOption 2: Install on Observium Server
Install the MCP server directly on the Observium host and configure Claude to connect via SSH.
Option 3: Network Access
If MySQL is accessible on the network (not recommended for security):
OBSERVIUM_DB_HOST=observium.example.comSecurity Considerations
Database credentials are stored in
.envwhich is gitignoredThe server only performs SELECT queries (read-only)
Consider using a read-only MySQL user for additional safety
RRD access is read-only via
rrdtool fetch
Creating a Read-Only Database User
For additional security, create a dedicated read-only MySQL user:
CREATE USER 'observium_mcp'@'localhost' IDENTIFIED BY 'secure_password';
GRANT SELECT ON observium.* TO 'observium_mcp'@'localhost';
FLUSH PRIVILEGES;Troubleshooting
Connection refused
Verify MySQL is running and accessible
Check database credentials in
.envEnsure the MySQL user has SELECT permissions
No RRD data / Trend tools failing
Verify
OBSERVIUM_RRD_PATHpoints to the correct directory on the Observium serverIf running MCP on a different machine, configure SSH access:
Set
OBSERVIUM_RRD_SSH_HOSTto the Observium server hostnameSet
OBSERVIUM_RRD_SSH_USERto a user with SSH accessEnsure SSH key-based authentication is configured
Ensure
rrdtoolis installed on the Observium server (for remote) or locallyCheck file permissions on the RRD directory
Module not found
Make sure you're running from the src directory or have installed the package:
cd /path/to/observium-mcp/src
python -m observium_mcp.serverContributing
Contributions are welcome! Please feel free to submit issues and pull requests.
License
MIT License - see LICENSE for details.
Acknowledgments
Observium - Network monitoring platform
Model Context Protocol - The MCP specification
Anthropic - Claude and MCP development
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kdesch5000/observium-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server