Repository navigation
mac-lookup v0.1.0
First release.
Resolve a MAC address or BSSID to its manufacturer — and, before that, to what kind of address it actually is. Offline, from a locally cached copy of the IEEE Registration Authority registries. CLI and local MCP server.
Why it is not just an OUI table
- A randomized MAC has no manufacturer. Phones rotate a locally administered address per network; virtual NICs and containers do the same. Reported as locally administered — vendor lookup does not apply, not as "vendor unknown".
- The first six digits are not enough. IEEE subdivides 24-bit blocks into 28-bit (MA-M) and 36-bit (MA-S/IAB) assignments, so several vendors share one OUI. Matching is longest-prefix-first.
- Some blocks belong to IEEE itself. ~429 MA-L rows are registered to "IEEE Registration Authority" — blocks held for subdivision, reported as OUI subdivided, never as a vendor.
Included
lookup/search/update/status/mcp- Grep-style exit codes for a single address; batch mode for many, stdin, or
--json - MCP tools:
lookup_mac,search_vendor(file-mediated),db_status,update_db,get_usage - Conditional downloads (ETag / Last-Modified); "unchanged upstream" and "IEEE unreachable" are reported distinctly
- No credentials — the IEEE registries are public
- Zero external dependencies (Go standard library only)
Install
brew install nlink-jp/tap/mac-lookup
The darwin/arm64 build is Developer ID signed and Apple-notarized.