MCP server: One MCP server.

Keel

@seayniclabsMCP server · External

Network diagnostics — ping, traceroute, DNS, port scanning, and connectivity testing.

Networkingv0.2.1Python
Freeno charge per call

Runs on your machine from its package; the steps are below.

What it does

  1. Reads
  2. Writes
  3. High impact

At most: only reads or looks up information.

What it costs

Free

Odel charges nothing per call. The publisher may charge for its own service.

Runs locally over stdio

This server isn't hosted — your MCP client launches it from a package registry. Use one of the commands below, or drop the config into your client (e.g. Claude Desktop).

PyPIkeel-mcpv0.2.1

Run

uvx keel-mcp

MCP client config

{
  "mcpServers": {
    "keel": {
      "command": "uvx",
      "args": [
        "keel-mcp"
      ]
    }
  }
}
README2 min read

Sounding

Network Diagnostics MCP Server

License: MIT

Probing what lies beneath the surface -- network diagnostics for AI tools.


What It Does

Sounding is a Model Context Protocol (MCP) server that gives AI assistants 14 network diagnostic tools. It handles the things you'd normally reach for ping, dig, nmap, or openssl to do -- but exposed as structured, validated MCP tool calls.

Tools

ToolDescriptionKey Parameters
healthServer version and status check--
pingTCP connect ping (port 80) with latency statshost, count (1--100), timeout
tracerouteTrace network route to a hosthost, max_hops (1--64)
dns_lookupResolve DNS records (A, AAAA, MX, CNAME, TXT, NS)domain, record_type, nameserver
reverse_dnsReverse DNS lookup for an IP addressip
port_checkCheck if a single TCP port is openhost, port, timeout
port_scanScan common TCP ports (rate-limited, max 100)host, ports
check_ssl_certInspect SSL/TLS certificate details and expiryhost, port
whois_lookupWHOIS domain registration lookupdomain
http_checkHTTP request with status, timing, headers, sizeurl
subnet_scanDiscover live hosts on a local subnet (RFC 1918 only)subnet (CIDR, max /20)
get_public_ipGet the machine's public IP address--
speed_testMeasure download speed (Mbps) and latency--
dns_propagationCheck DNS propagation across public resolversdomain, record_type

Installation

From PyPI:

bash
pip install sounding-mcp

Or isolated with pipx:

bash
pipx install sounding-mcp

Usage

Run the server directly (stdio transport):

bash
sounding

Claude Code

Register as a local MCP server:

bash
claude mcp add sounding -- sounding

Claude Desktop

Add to your claude_desktop_config.json:

json
{
  "mcpServers": {
    "sounding": {
      "command": "sounding",
      "args": []
    }
  }
}

If installed in a virtual environment, use the full path to the binary:

json
{
  "mcpServers": {
    "sounding": {
      "command": "/path/to/.venv/bin/sounding",
      "args": []
    }
  }
}

Security

Sounding is designed to be safe for AI-driven use:

  • SSRF protection -- http_check resolves hostnames and blocks requests to internal, private, loopback, and link-local IP addresses (including IPv4-mapped IPv6). Cloud metadata endpoints (169.254.x.x) are blocked.
  • Input validation -- All inputs pass through validators that reject shell metacharacters, malformed hostnames, and invalid ports before reaching any network call or subprocess.
  • Rate limiting -- port_scan enforces a minimum 1-second interval between scans to prevent abuse.
  • Subnet restriction -- subnet_scan only allows RFC 1918 private subnets and caps at /20 (4096 addresses) with concurrency limiting.
  • No shell injection -- Subprocess calls (traceroute, whois) use exec-style invocation, never shell interpolation.

Development

bash
git clone https://github.com/seayniclabs/sounding.git
cd sounding
python -m venv .venv
source .venv/bin/activate
pip install -e ".[test]"
python -m pytest tests/ -q

License

MIT

Similar modules

Browse Networking