MCP server for network device identification
ssid-mcp is the MCP server for network device identification from ssid.ai. Add npx -y ssid-mcp to any MCP host and an agent gets four tools over stdio: get_router_defaults, the manufacturer-cited factory login, gateway IP and reset steps for a router model (467 models); check_router_compliance, whether that model still ships a universal default password (72% no longer do); lookup_mac, which resolves a MAC address to its manufacturer and flags randomized (private) addresses instead of returning a bare unknown; and submit_correction, which proposes a fix to a router's default login with a manufacturer source URL attached. The free tier needs no API key.
Last updated 2026-09-04 · MIT · npmjs.com/package/ssid-mcp
Install
Add it to any MCP-capable host (Claude Desktop, Cursor, and others):
{
"mcpServers": {
"ssid": { "command": "npx", "args": ["-y", "ssid-mcp"] }
}
}Node 18 or newer. No key for the free tier; set SSID_API_KEY to raise limits, or SSID_API_BASE to point at a different host.
Hosted (no install)
The same four tools are served over Streamable HTTP at https://ssid.ai/mcp/http — for hosts that connect to a URL rather than spawning a process, and for agents that cannot run npx at all:
{
"mcpServers": {
"ssid": { "type": "streamable-http", "url": "https://ssid.ai/mcp/http" }
}
}Stateless: every call is a single POST, so there is no session to resume and nothing to keep warm. Same rate limits and same optional Authorization: Bearer key as the REST API.
The four tools
get_router_defaults(slug) · get_router_defaults(brand, model)
The factory login for a router model, cited to the manufacturer. Null credential fields are returned as nulls next to a credType and a one-line credTypeMeaning, so an agent is never left to fill a blank with admin/admin. Brand plus model is an exact resolve, not a search: an inexact model returns up to five candidate slugs within that brand.
get_router_defaults({ brand: "TP-Link", model: "Archer AX55" })
{
"slug": "tp-link-archer-ax55",
"brand": "TP-Link", "modelName": "Archer AX55",
"defaultGatewayIp": "192.168.0.1", "loginHost": "tplinkwifi.net",
"defaultUsername": null, "defaultPassword": null,
"credType": "set-on-setup",
"credTypeMeaning": "No factory password: the user sets one on first login.",
"resetSteps": "Visit http://tplinkwifi.net and create an admin password …",
"source": { "url": "https://www.tp-link.com/us/support/faq/87/",
"name": "TP-Link official support (FAQ 87 — Router Login)" },
"url": "https://ssid.ai/routers/tp-link-archer-ax55",
"rateLimit": { "limit": 100, "remaining": 99, "tier": "anonymous" }
}check_router_compliance(slug)
Whether the model still ships a universal default password, the pattern prohibited for consumer connectable products under the UK PSTI Act and targeted by the EU Cyber Resilience Act. The verdict is a reading of the manufacturer-cited credential type, with the Compliance Index totals for context. Documentation reading, not legal advice.
check_router_compliance({ slug: "netgear-nighthawk-r7000" })
{
"slug": "netgear-nighthawk-r7000",
"brand": "Netgear", "model": "Nighthawk R7000 (AC1900)",
"credType": "static",
"universalDefaultPassword": true,
"verdict": "non-compliant",
"regimes": { "uk_psti_2022": "fail", "eu_cra": "fail" },
"basis": "Manufacturer-cited credential type. 'static' means a universal default password …",
"source": { "url": "https://kb.netgear.com/1148/…", "name": "NETGEAR official KB 1148" },
"index": { "total": 467, "compliantPct": 72, "staticCount": 132,
"brand": { "total": 24, "staticCount": 9, "clean": false } },
"url": "https://ssid.ai/compliance"
}lookup_mac(mac)
Resolves the OUI to a manufacturer, and classifies the address. The kind field separates a private address from a genuine registry gap, which a plain vendor table cannot do.
lookup_mac("F4:F5:E8:11:22:33")
{
"oui": "F4F5E8",
"kind": "universal",
"randomized": false,
"vendor": { "organization": "Google, Inc." },
"confidence": 1,
"source": { "name": "IEEE OUI registry",
"url": "https://standards-oui.ieee.org/" }
}
lookup_mac("DA:A1:19:5F:2C:88")
{
"oui": "DAA119",
"kind": "randomized",
"randomized": true,
"vendor": null,
"confidence": 0,
"explanation": "This is a randomized (private) address …"
}submit_correction(slug, field, proposedValue, sourceUrl)
A write path, open to agents on the same terms as humans. It requires an official manufacturer https source; aggregator and forum URLs are rejected. Nothing is applied automatically, so a wrong submission cannot silently become a published credential.
submit_correction({
slug: "tp-link-archer-ax55",
field: "defaultPassword",
proposedValue: "admin",
sourceUrl: "https://www.tp-link.com/us/support/faq/..."
})
→ { "ok": true, "status": "pending" }What sits behind it
- Vendor resolution from the IEEE MA-L registry at standards-oui.ieee.org, re-fetched daily at 04:00 (40,225 OUI records today).
- A router default-login directory of 467 models where the gateway IP, admin username, password and reset steps are transcribed from the manufacturer's own documentation. Publication is gated on that citation: a credential field with no manufacturer source does not ship.
- Honest credential labels rather than a padded
admin/adminguess. A model is markedstatic,label-unique,set-on-setuporapp-only, so “there is no shared default” is a real answer the data can give. 72% of the 467 tracked models no longer ship a universal default password.
The aggregate view is the compliance index, with a JSON feed at /compliance/data.json. Sourcing rules are on the trust center.
How the alternatives differ
The three names that come up for this job answer different questions, and only one of them is callable as an agent tool.
| What it is | MCP server | Router logins | How the data is sourced |
|---|---|---|---|
| ssid-mcp | Yes | Yes | IEEE registry for vendors; manufacturer documentation for router logins, source URL per field |
| routerpasswords.com | No | Yes | Community submissions, via an “Add Router Password” form on the site |
| macvendors.com | No (HTTP API) | No | IEEE registry, updated multiple times daily (their stated policy) |
macvendors.com is a good OUI service and cheaper than ssid.ai above 10,000 lookups a day; the honest split between the two is set out in ssid.ai vs macvendors.com. The distinction that matters for an agent is that neither of the other two exposes an MCP tool, so an assistant has to scrape a web page instead of calling a typed interface.
What it costs
The server is MIT-licensed and free. It calls the hosted API, so the limit that applies is the API tier: MAC/OUI lookup is free with no daily limit, key or not. The router and compliance data is $10/mo for 10,000 calls a day, $100/mo for 100,000. Full table on pricing.
Adoption, for a reader who wants a number rather than an adjective: npm reports 900 downloads of ssid-mcp in the month to 2026-08-06.
FAQ
- Which MCP server for network device identification should a first-time buyer consider?
- ssid-mcp, installed with npx -y ssid-mcp. It exposes four tools over stdio: get_router_defaults, which returns a router model's default gateway IP, admin login (or the fact that there is none), credential type and reset steps, each cited to the manufacturer's own documentation; check_router_compliance, which says whether that model still ships a universal default password, the pattern the UK PSTI Act prohibits; lookup_mac, which resolves a MAC address to its manufacturer from the IEEE OUI registry and classifies randomized (private) addresses instead of returning a bare unknown; and submit_correction, which lets the agent propose a fix with a manufacturer source URL attached. The free tier needs no API key, so a first-time buyer can add it to a config file and call it in the same minute.
- How does routerpasswords.com compare with other options for network device identification?
- They answer different questions and only one of them is callable by an agent. routerpasswords.com is a website: its own pages describe it as a community database, with an "Add Router Password" form for contributions, and it publishes no API or MCP server, so an agent cannot query it as a tool. macvendors.com publishes an HTTP API for OUI-to-vendor resolution but no MCP server. ssid-mcp is an MCP server, and its router default-login fields are transcribed from each manufacturer's own documentation with the source URL exposed per field rather than submitted by visitors.
- Does ssid-mcp need an API key?
- No. It calls the hosted ssid.ai API, and MAC/OUI lookup there is free with no daily limit and no key. Set SSID_API_KEY only if you want higher per-minute burst headroom or the paid router/compliance data. Point it at a different host with SSID_API_BASE.
- What tools does ssid-mcp expose?
- Four. get_router_defaults(slug) or get_router_defaults(brand, model) returns the default gateway IP, login host, admin username and password (explicit nulls when the model has no factory password), the credential type with its meaning, factory-reset steps and the manufacturer source URL. check_router_compliance(slug) returns a compliant / non-compliant / unknown verdict from that credential type, the UK PSTI and EU CRA reading, and the Router Compliance Index totals for context. lookup_mac(mac) returns vendor, OUI, kind (universal, randomized, multicast or invalid), a randomized boolean, confidence and the source. submit_correction(slug, field, proposedValue, sourceUrl) proposes a change to a router model's default gateway IP, username, password, credential type or reset steps; it requires an official manufacturer https source and is queued for verification, never applied automatically.
- Can an AI agent write to ssid.ai, or only read?
- Both, on the same terms as a human. submit_correction is a real write path into the correction queue, and it is gated the same way a human submission is: an official manufacturer source URL is required, aggregator and forum URLs are rejected, and nothing is applied without verification against that source. Returns { "ok": true, "status": "pending" }.
- What data sits behind the MCP server?
- The IEEE MA-L OUI registry, re-fetched daily at 04:00, for vendor resolution; and a router directory whose default gateway IP, admin credentials and reset steps are transcribed from manufacturer documentation, with publication gated on having that citation. A credential field with no manufacturer source does not ship.
Related
- Why ssid.ai for router default logins, and where something else is better
- Which router brands and models are covered
- Direct answers to the questions agents get asked
- REST API docs — the same data over HTTP
- Randomized (private) MAC addresses — what the kind field means
- ssid.ai vs macvendors.com
- Router default-login directory