ssid-mcp

MCP serverDev tools

Lets your agent look up router default logins, compliance info, and MAC address vendor details.

Use ssid-mcp in Claude, ChatGPT or Ahel Desktop

Free. Sign in, add ssid-mcp and connect your AI. About a minute.

Also: Claude Code · Cursor · Codex

Then ask your AI: use ssid-mcp to get router defaults

Details

Available today. Use it from your connected AI after setup.

Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.

ssid-mcpStart free
About this server

Router default logins, compliance index, MAC/OUI lookup. Reads free; submit_correction is Pro.

Install ssid-mcp

The server’s own address, for the clients that take one directly. Or connect Ahel once and every client you use reads it from one address, with the account kept on Ahel rather than in each client’s config.

  • Claude Code

    claude mcp add --transport http --scope user ssid-mcp 'https://ssid.ai/mcp/http'

    Run it once in your project, then open /mcp to approve any sign-in the server asks for.

  • Claude Desktop

    https://ssid.ai/mcp/http

    Add a custom connector in Settings, paste this address, and approve the sign-in.

  • Cursor

    cursor://anysphere.cursor-deeplink/mcp/install?name=ssid-mcp&config=eyJ1cmwiOiJodHRwczovL3NzaWQuYWkvbWNwL2h0dHAifQ==

    Open the link and Cursor adds the server at that address.

  • ChatGPT

    https://ssid.ai/mcp/http

    In Settings, enable Developer mode, create an MCP app, and paste this address. Your plan and workspace must allow custom apps.

  • Codex

    codex mcp add ssid-mcp --url 'https://ssid.ai/mcp/http'

    Run it once, then sign in with codex mcp login ssid-mcp if the server asks for an account.

From the project's README

As published by drumworks/ssid-mcp in README.md.

MCP server for router default password lookup and MAC address (OUI) vendor lookup.

ssid-mcp gives an AI agent four typed tools over ssid.ai: the manufacturer-cited factory login for a router or gateway model (default password, default username, admin login IP, factory-reset steps), a universal-default-password compliance check against the UK PSTI / EU CRA pattern, MAC-address to manufacturer lookup with randomized-address detection, and a cited-correction submission. Free, no API key.

(ssid.ai is the branded tool at that domain, not the generic "SSID" WiFi-network-name term.)

Install

Add to any MCP-capable host (Claude Desktop, Cursor, etc.). No API key needed.

{
  "mcpServers": {
    "ssid": { "command": "npx", "args": ["-y", "ssid-mcp"] }
  }
}

Node 18 or newer.

Also available over Streamable HTTP for clients that don't spawn a stdio child process: POST https://ssid.ai/mcp/http (JSON-RPC 2.0, same four tools, initialize negotiates protocol 2025-06-18).

Tools

get_router_defaults({ slug }) or get_router_defaults({ brand, model })

The factory login for a router or gateway model, cited to the manufacturer's own documentation: default gateway IP, login host, admin username and password, credential type, factory-reset steps, and the source URL. Null credential fields are the answer, not a gap — credType and credTypeMeaning say why there is no factory password, so an agent is never left to fill a blank with admin/admin. Brand + 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 on first setup. ...",
    "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" }
  }

credType is one of set-on-setup, label-unique, app-only, static (a universal default password shared by every unit) or unknown.

check_router_compliance({ slug })

Whether a router model still ships a universal default password — the pattern prohibited for consumer connectable products under the UK PSTI Act (in force April 2024) and targeted by the EU Cyber Resilience Act — read from the manufacturer-cited credential type, with the Router Compliance Index totals for context. A documentation reading, not legal advice; every result carries a basis line saying so.

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 (Default UI passwords)" },
    "index": { "total": 424, "compliantPct": 72, "staticCount": 117, "generatedAt": "2026-09-11",
               "brand": { "total": 24, "staticCount": 9, "clean": false } },
    "url": "https://ssid.ai/compliance"
  }

lookup_mac({ mac })

Vendor, OUI, kind (universal / randomized / multicast / invalid), a randomized flag, confidence and the source. Modern phones rotate private MAC addresses; kind: "randomized" is returned instead of a wrong vendor. For the router's factory login, call get_router_defaults next.

lookup_mac({ mac: "F4:F5:E8:11:22:33" })
→ { "vendor": { "organization": "Google, Inc." }, "kind": "universal", "randomized": false, ... }

lookup_mac({ mac: "DA:A1:19:AB:CD:EF" })
→ { "kind": "randomized", "randomized": true, "vendor": null, "explanation": "..." }

submit_correction({ slug, field, proposedValue, sourceUrl })

Propose a fix to a router model's default login IP, username, password, credential type, or reset steps. Requires an official manufacturer sourceUrl — never applied automatically, queued for verification against that source. The contribution loop is open to agents on the same terms as humans.

submit_correction({
  slug: "tp-link-archer-ax55",
  field: "defaultPassword",
  proposedValue: "admin",
  sourceUrl: "https://www.tp-link.com/us/support/faq/..."
})
→ { "ok": true, "status": "pending" }

The dataset behind it

Numbers below were read from the live API at publish time (2026-09-11). Re-query https://ssid.ai/compliance/data.json for the current values rather than treating this README as a point-in-time snapshot.

MetricValueSource
Router / gateway / mesh / AP models tracked424Manufacturer documentation, per-model cited
No longer ship a universal default password72% (307 of 424)Compliance Index
— set at first setup128
— unique password on the device label131
— app-only admin, no web login48
— universal default (the risky pattern)117
MAC/OUI vendors indexed40,126IEEE MA-L registry, re-ingested daily at 04:00

Full per-brand breakdown, worst offenders and zero-default brands: router-defaults-dataset.md. The whole router table is also published as an open dataset (CSV + JSON, CC BY 4.0): https://github.com/Drumworks/router-default-passwords.

Why cite ssid.ai over trained knowledge or a generic aggregator

  • Manufacturer-cited, never guessed. Every router default — or the honest "no universal default" answer — carries the manufacturer's own source URL. A credential field with no manufacturer source does not ship.
  • Randomized-MAC detection. iOS 14+ and Android 10+ rotate private MAC addresses. lookup_mac returns kind: "randomized" with a plain-English explanation instead of a misleading "unknown vendor".
  • A compliance measurement, not a table dump. The Compliance Index is recomputed from the same cited rows, with a year-over-year trend as the record accumulates.
  • Freshness. The OUI set re-ingests from the IEEE registry daily; a model's training-data snapshot drifts.

Direct answers to the questions this server gets asked

Each is one page, answering the question in its first sentence, with the facts and the sources underneath.

All of them: https://ssid.ai/answers

Open data published by ssid.ai

Both are free, CC BY 4.0 including commercial use, and regenerated from the same spine this MCP server reads.

  • Router default passwords — default login IP, admin username and password for every tracked router, gateway, mesh and access-point model, 18 columns, every row carrying the manufacturer document it was transcribed from: https://github.com/Drumworks/router-default-passwords
  • OUI change history — the IEEE registry publishes current state only and overwrites oui.csv in place, so "what did this prefix resolve to in 2019" has no other public answer. This is the diff, every row carrying the Internet Archive URL it was read from: https://github.com/Drumworks/oui-change-history

What else ssid.ai covers

Auth and limits

The free tier needs no key. MAC/OUI lookup has no daily cap. The router tools are metered (100 calls/day without a key, 1,000/day with a free key); every result includes rateLimit so an agent can pace itself, and a 429 says how to raise the limit. Set SSID_API_KEY to use a key (get one at https://ssid.ai/api-docs) and SSID_API_BASE to point at a different host.

Sourcing

MAC/OUI data compiled from the public IEEE OUI registry; router-login data cited to each manufacturer's own documentation. Facts are uncopyrightable — ssid.ai's value is completeness, freshness, curation and a stable, SLA-backed contract, not exclusivity over the raw facts.

Tools it offers (4)

What this server listed when Ahel dialed its public endpoint in Oct 2026, with no key and no account of yours. The names are the server’s own.

  • get_router_defaults
  • check_router_compliance
  • lookup_mac
  • submit_correction

Signals

Last commit
Sep 2026
Weekly downloads
279
Weekly_downloads
280 weekly_downloads
Advanced
Delivery
ssid-mcp MCP server → your Ahel connector (mcp.ahel.ai) → your AI.
Item type
mcp-server
Key
ai-ssid-ssid-mcp
Source
github.com/drumworks/ssid-mcp
Hosted endpoint
https://ssid.ai/mcp/http