Open source · SNMP v1 / v2c / v3 network mapping

Map your entire network — automatically, and now with AI.

PHPNetMap discovers your topology straight from switch CAM and ARP tables, tracks port and VLAN status in real time, and exposes it all to AI agents through a built-in MCP server.

SNMP v1 / v2c / v3 Docker multi-arch (amd64/arm64) MCP-ready for AI agents
PHPNetMap network map showing switches, servers and an access point automatically discovered and connected
Why phpnetmap

Your network outgrew the spreadsheet

If any of this sounds familiar, an automated map pays for itself fast.

🗂️

Spreadsheets drift from reality

The moment someone re-patches a cable, your inventory is already wrong — and nobody notices until something breaks.

🕸️

Device lists aren't topology

Knowing every switch exists isn't the same as knowing how they're actually wired together, port by port.

🔒

SNMP data stays locked away

CAM tables, ARP tables and port status live inside each device — until something pulls them out and makes them queryable.

The differentiator

Let an AI agent manage your network for you

PHPNetMap ships a built-in MCP server exposing 25+ tools across hosts, connections, VLANs, SNMP templates and live diagnostics. Point Claude — or any MCP-compatible client — at it, generate a token, and ask it to map a new switch, audit VLAN usage, or trace a broken link, in plain language.

  • List and search every host, connection and VLAN through natural-language queries
  • Create, update and delete hosts, connections, VLANs and SNMP templates
  • Pull live CAM/ARP tables and port status straight off a device on demand
  • Scope each token to read-only or read-write — you decide how much control an agent gets
🤖 Read the MCP docs
MCP Tokens admin page showing a Claude Desktop token in read-write mode
Features

Everything a network map needs

Built for real SNMP gear, not a toy demo.

🗺️

Live topology mapping

A D3-powered map built straight from switch CAM and ARP tables — no manual diagramming, ever.

🔌

Port & Spanning-Tree status

See admin/operator status and STP state per port, and flip ifAdminStatus or set ifAlias straight from the browser.

🏷️

Color-coded VLANs

Tag, name and color every VLAN so it's instantly recognizable across the whole map.

🤖

MCP server built in

25+ tools for AI agents, with per-token read-only or read-write control.

See how it works →
🐳

Multi-arch Docker images

SemVer-tagged amd64/arm64 images on ghcr.io, with latest always pointing at the newest release.

🌓

Modern, accessible UI

Rebuilt on Bootstrap 5 — light/dark theme, sortable grids, and an advanced search on every list.

See it in action

Every screen, redesigned

All screenshots below are from the current release — nothing here is a mockup.

Host detail page with a port panel open, showing admin/operator status and a Create connection button
Host detail

Every port, one click away

Click into any port to see its admin/operator status, Spanning Tree state, live traffic, and who's on the other end of the cable — with a one-click shortcut to start a new connection from it.

Hosts admin grid with a collapsible advanced search and sortable uppercase column headers
Advanced search & sortable grids

Find anything, fast

Every resource list — hosts, VLANs, connections, SNMP templates — ships with a collapsible advanced search and sortable, uppercase column headers, all rebuilt on Bootstrap 5.

The same hosts admin grid in dark mode
Light or dark

Your call, remembered

A theme toggle lives right in the header and remembers your preference across sessions — no flash of the wrong theme on reload.

Install

Up and running in three commands

The Docker image ships everything it needs — Apache, PHP, SNMP tooling, SQLite. Nothing to install by hand.

Pull the image

Multi-arch, built for both amd64 and arm64.

docker pull ghcr.io/marcelofmatos/phpnetmap:latest

Run it

Set your own admin password on first run.

docker run -d -p 80:80 \
  -e ADMIN_PASSWORD=yourpassword \
  ghcr.io/marcelofmatos/phpnetmap

Open & log in

Visit your server, log in as admin with the password you set above, and start adding hosts.

http://localhost
📄

Running without Docker?

The repository includes a full STANDALONE_INSTALLATION_GUIDE.md — a step-by-step walkthrough for installing PHPNetMap on a bare Apache/PHP/SQLite server, no containers involved. Docker is still the recommended path, but the standalone guide is there if you need it.

By the numbers

Built for production, tested to prove it

3
SNMP versions supported
25+
MCP tools for AI agents
90
Automated tests, all green
2
CPU architectures (amd64/arm64)

Ready to see your network mapped?

Clone the repo, pull the Docker image, or point an AI agent at it — pick your starting point.