ipdata MCP by usefulapi
Look up location, network, company and threat data for IP addresses and ASNs in ipdata.
Descripción del creador (original en inglés)
Cross-platform local-network diagnostics & security-posture MCP server — 31 tools.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
NETEXPERT_MCP_CONFIG, NETEXPERT_HTTP_PORT, NETEXPERT_WIFI_IFNecesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"netexpert": {
"command": "npx",
"args": [
"-y",
"netexpert-mcp"
],
"env": {
"NETEXPERT_MCP_CONFIG": "your-value",
"NETEXPERT_HTTP_PORT": "your-value",
"NETEXPERT_WIFI_IF": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add netexpert --env NETEXPERT_MCP_CONFIG=your-value --env NETEXPERT_HTTP_PORT=your-value --env NETEXPERT_WIFI_IF=your-value -- npx -y netexpert-mcpCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"netexpert": {
"command": "npx",
"args": [
"-y",
"netexpert-mcp"
],
"env": {
"NETEXPERT_MCP_CONFIG": "your-value",
"NETEXPERT_HTTP_PORT": "your-value",
"NETEXPERT_WIFI_IF": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"netexpert": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"netexpert-mcp"
],
"env": {
"NETEXPERT_MCP_CONFIG": "your-value",
"NETEXPERT_HTTP_PORT": "your-value",
"NETEXPERT_WIFI_IF": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
NETEXPERT_MCP_CONFIG envNETEXPERT_HTTP_PORT envNETEXPERT_WIFI_IF envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub Omodaka9375, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
El registro no indica ninguna clave obligatoria, aunque algunos servidores te piden iniciar sesión la primera vez que los usas.
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.1.3) llegó al registro hace 20 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: ipdata MCP by usefulapi, MaxMind minFraud MCP by usefulapi, Lambda Labs MCP by usefulapi
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Look up location, network, company and threat data for IP addresses and ASNs in ipdata.
MCP server for MaxMind minFraud — score transactions for fraud risk from your AI assistant.
Read GPU instances, types, images, filesystems and firewall rules; launch and terminate instances.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
*"What's on my network, is my link healthy, is this machine safe, and why is X slow?"*
— answered by an AI, on your LAN, in one conversation.
netexpert is a cross-platform local-network diagnostics & security-posture MCP server for AI clients (Claude Desktop, Claude Code, or any client that speaks MCP). Windows, Linux, macOS — one normalized JSON envelope, 31 tools, zero config on first run, read-only by default.
It's the *local host + LAN* half of a home-lab toolkit — the NAS half already exists as ugnas-mcp, and the two compose.
Also listed in the MCP registry as io.github.Omodaka9375/netexpert-mcp.
The package is on npm — no clone, no build:
# run once, on demand (no install)
npx -y netexpert-mcp
npm install -g netexpert-mcp netexpert-mcp
Wire it into your MCP client (stdio):
{
"mcpServers": { "netexpert": { "command": "npx", "args": ["-y", "netexpert-mcp"] } } }
That's it — first run needs no config file, no environment variables, nothing. Ask your client *"what devices are on my network?"* and it has the tools to answer.
Optional HTTP transport (stateless, same JSON-RPC surface):
NETEXPERT_HTTP_PORT=3100 netexpert-mcp
Once wired into your client, try:
sec.exposure — listening ports × firewall state × a risky-port knowledge base, reported as Findings.lan.devices — ARP inventory enriched with IEEE-OUI vendor names and PTR hostnames.dns.hijackcheck — known-good domains via your system resolver vs trusted DoH; mismatch ⇒ Finding{severity:high}.wifi.health — RSSI quality bands, channel overlap, band mismatch — interpreted, with next steps.Existing network MCP servers are either deprecated Python packages, wrappers that demand Nmap, or router-config tools for enterprises. None of them answer the home-lab questions:
| Question | netexpert answer |
|---|---|
| *What devices are on my network — anything new?* | lan.devices builds an inventory (ARP ∪ sweep, OUI vendor, PTR hostname); lan.newdevices diffs it against snapshots and emits findings |
| *Is my WiFi actually good?* | wifi.health interprets RSSI bands, channel overlap, and band mismatch — with concrete next steps, not raw numbers |
| *Is this machine exposed?* | sec.exposure cross-references listening ports with firewall state and a risky-port knowledge base |
| *Is my DNS lying to me?* | dns.hijackcheck compares your system resolver against trusted DoH for known-good domains |
| *Why is X unreachable?* | Layered triage — link → ARP → routing/DNS → port → app (docs/persona.md) |
ok, backend, data, warnings / closed-set error.code + actionable hint) — no raw netsh or ip output ever reaches the model.execFile-style); all inputs are zod-validated before touching the OS. No raw sockets, no Npcap, no Python.lan.wol) uses a dry-run plan + single-use, 10-min-TTL confirmToken — parameters frozen at plan time.backend: "tcp-connect", not a fake "ping"); net.health self-describes what works on this host, with install hints for what doesn't.net.publicip, sec.speedtest, DoH in dns.hijackcheck), which you invoked explicitly.net.* — connectivity| Tool | What it does |
|---|---|
net.health | Version, platform, capability matrix (which backends exist on this host, with install hints) |
net.ping | ICMP loss/latency stats; honest TCP-connect fallback when ping is unavailable |
net.trace | Traceroute hops, normalized across tracert/traceroute/tracepath |
net.httpcheck | GET/HEAD with timing split: dns / connect / ttfb / total |
net.portcheck | Single TCP connect — open/closed + latency |
net.portscan | Bounded connect scan (≤256 ports, default top-20 common) |
net.ssl | TLS cert: subject, SANs, issuer, chain, days-left, expiry grade |
net.publicip | Your public IPv4 + ASN/org (ipify → ipinfo fallback) |
net.deepscan | Optional nmap adapter — opt-in only: requires the binary *and* nmap.enabled in config; RFC1918 targets only |
dns.* — name resolution| Tool | What it does |
|---|---|
dns.lookup | A/AAAA/CNAME/MX/TXT/NS/SRV/PTR with optional nameserver override |
dns.reverse | PTR names for an IP |
dns.resolvers | Which DNS servers the OS *actually* uses (per-platform) |
dns.propagation | Same record at system + trusted resolvers + DoH — diff table |
dns.hijackcheck | The killer check: known-good domains via system vs trusted DoH; mismatch or NXDOMAIN ⇒ Finding{sev:high} |
lan.* — devices & inventory| Tool | What it does |
|---|---|
lan.interfaces | NICs: name, MAC, addresses, type, virtual flag |
lan.gateway | Default gateway + interface + local subnet CIDR |
lan.arp | Parsed neighbor cache, stale entries filtered |
lan.sweep | Ping-probe an RFC1918 subnet (≤1024 hosts, rate-limited 1/30s) → live set |
lan.devices | Inventory: ARP ∩ RFC1918, enriched with vendor (40k-entry IEEE OUI db) + PTR hostname |
lan.hostname | All known names for an IP: PTR + NetBIOS (win) |
lan.snapshot | Save device inventory to dated snapshots; or list them |
lan.newdevices | Diff live vs baseline ⇒ findings (new MAC, MAC-changed-for-IP); first run auto-saves a baseline |
lan.wol | Wake-on-LAN magic packet — dry-run plan → confirmToken → one UDP broadcast |
wifi.* — link health| Tool | What it does |
|---|---|
wifi.status | Current link: SSID, BSSID, band, channel, RSSI, PHY rate, quality 0–100 |
wifi.networks | Nearby AP survey with band inference |
wifi.health | Interpretation: RSSI bands (≥−50 … <−78 unusable), 2.4 GHz channel overlap, band mismatch, low PHY rate — each a Finding with the next tool call |
sec.* — host posture| Tool | What it does |
|---|---|
sec.connections | Active sockets with owning PID |
sec.listening | Listeners per process; flags 0.0.0.0/:: exposures |
sec.firewall | Get-NetFirewallProfile / ufw→nft / socketfilterfw |
sec.exposure | Headline report: exposed listeners × firewall state × risky-port table (445, 3389, 23, 135–139, 5357, 5900) ⇒ Finding[] |
sec.speedtest | Bounded Cloudflare download; reports a lower bound instead of failing on slow links |
~/.netexpert-mcp/config.json — sane defaults, so zero-config first run:
{
"defaults": { "pingCount": 4, "traceMaxHops": 20 }, "resolvers": { "trusted": ["1.1.1.1", "8.8.8.8"], "dohUrl": "https://cloudflare-dns.com/dns-query" }, "caps": { "portscan": { "maxPorts": 256 }, "sweep": { "maxHosts": 1024 } }, "rate": { "sweep": 30, "portscan": 10, "speedtest": 60, "httpCheck": 2 }, "nmap": { "enabled": false } // deep scans are opt-in by design }
Invariants:
NETEXPERT_*: NETEXPERT_MCP_CONFIG (config path), NETEXPERT_HTTP_PORT, NETEXPERT_WIFI_IF (linux wlan iface)password/token/secret/credential is rejected at loadOptional extras:
winget install Insecure.Nmap / sudo apt install nmap), then set "nmap": { "enabled": true } in config. Absence just produces an install hint, never a crash.netexpert stays request/response; recurring checks are your MCP client's job:
New-device tripwire lan.newdevices every 15 min fire on Finding[] beyond the info baseline
Gateway reachability net.ping every 60 s fire on lossPct > 0 DNS integrity dns.hijackcheck hourly fire on sev=high WiFi degradation wifi.health every 10 min fire on severity ≥ med
docs/persona.mdThe server provides hands; the persona provides judgment. The rule pack in docs/persona.md gives your AI client:
git clone https://github.com/Omodaka9375/netexpert-mcp.git
cd netexpert-mcp pnpm install
pnpm typecheck # strict TS (Kai/Claude Code runs this after edits) pnpm test # 50 fixture-driven tests (fake runner, zero real network in units) pnpm build # → dist/ pnpm smoke # build → stdio → tools/list → net.health pnpm smoke:http # HTTP transport check node scripts/gen-oui.mjs # regenerate the OUI db (rarely needed)
Project layout:
src/
exec/ LocalExecutor (execFile, arg arrays) + per-platform CommandMaps (win32/linux/darwin) parse/ pure parsers (arp, ping, traceroute, netsh, iw, nmap -oG) — fixture-tested services/ coreService dnsService lanService wifiService secService nmapService safety/ caps.ts (bounds + token-bucket rate limiter) · confirm.ts (dry-run/confirmToken) data/ oui.json (40k IEEE OUI entries, committed) mcp/ toolset.ts (31 tools, zod inputs) · createServer.ts scripts/ gen-oui.mjs · smoke.mjs · http-smoke.mjs docs/ persona.md · index.html (the docs page) tests/ fixtures/ + 50 tests across 6 files
License: MIT — see LICENSE. npm: netexpert-mcp · MCP registry: io.github.Omodaka9375/netexpert-mcp Source & issues: GitHub