mcp-nettools
mcp-nettools is an MCP server providing 235 tools for network diagnostics, service health checks, and infrastructure probing. Key capabilities include:
Core network diagnostics: ping, traceroute, port scanning, ARP table, Wake-on-LAN, speedtest, TCP banners, ping sweep, local ports, network interfaces.
DNS, IP & address intelligence: DNS lookups (A, AAAA, MX, TXT, NS, CNAME), reverse DNS, bulk lookups, subnet info, geolocation, WHOIS, MAC vendor lookup, BGP/ASN, DNSSEC, SPF, DKIM, DMARC.
TLS & certificates: SSL certificate inspection (expiry, issuer, SANs), TLS version testing, bulk certificate checks.
HTTP & web: HTTP status/redirects, security headers audit, POST/PUT/DELETE/PATCH requests, WordPress and Ghost health checks.
Mail, remote access & network protocols: SMTP, IMAP, POP3, SSH, RDP, VNC, LDAP, SMB, NFS, FTP, NTP, SNMP, SIP, MQTT.
Databases: MySQL, PostgreSQL, MongoDB, Redis, Memcached, Cassandra, ClickHouse, Neo4j, CouchDB, InfluxDB, Elasticsearch, OpenSearch, etcd, VictoriaMetrics, NocoDB, PocketBase.
Message queues & streaming: Kafka, RabbitMQ, ZooKeeper.
Containers, orchestration & identity: Docker, Kubernetes, Consul, Vault, Traefik, MinIO, Portainer, Cockpit, Headscale, NetBird, Authentik, Authelia, Keycloak, Vaultwarden, Bitwarden.
Observability & monitoring: Prometheus, Grafana, Loki, Alertmanager, Tempo, Jaeger, Zipkin, Mimir, Vector, SigNoz, Kibana, Uptime Kuma, Gatus, Healthchecks, Netdata, Glances, Beszel, Dashdot, Dozzle, Scrutiny, changedetection.io, Speedtest Tracker, LibreNMS, ntopng, Checkmk, Icinga, Zabbix, Pi-hole, AdGuard, Technitium, CrowdSec, Wazuh, Frigate.
Git, CI/CD & dev tools: Gitea, Forgejo, GitLab, Gitness, code-server, File Browser, n8n, Windmill, Directus, Strapi, Appwrite, Hoppscotch, Stirling-PDF, FlareSolverr, IT Tools.
*Media servers & arr stack: Plex, Jellyfin, Emby, Navidrome, Audiobookshelf, Kavita, Komga, Calibre-Web, Immich, PhotoPrism, TubeArchivist, Sonarr, Radarr, Lidarr, Readarr, Bazarr, Prowlarr, Jackett, Overseerr, Jellyseerr, Tautulli, qBittorrent, Transmission, SABnzbd, NZBGet, Mylar3, SearXNG, Whoogle, Invidious, Nitter, Redlib.
Self-hosted apps & productivity: Nextcloud, Seafile, Syncthing, Home Assistant, Paperless, Outline, BookStack, Wiki.js, DokuWiki, HedgeDoc, Trilium, Memos, Joplin Server, OnlyOffice, Collabora, Grist, Miniflux, FreshRSS, Mealie, Tandoor, Grocy, Monica, Vikunja, Planka, Kimai, Snipe-IT, OpenProject, Leantime, Organizr, Heimdall, Homarr, Homepage, Flame, Kasm, Guacamole, Actual Budget, Firefly III, Maybe, Invoice Ninja, Wallos, Linkwarden, Linkding, Shiori, Hoarder, Karakeep, Wallabag, ArchiveBox, Baikal, Radicale, Mattermost, Matrix Synapse, Discourse, ntfy, Gotify, listmonk, Plausible, Umami, Matomo, LimeSurvey, Rallly, Penpot, Zipline, DocuSeal, Ollama, Open WebUI, AnythingLLM.
Server utility: Liveness health check endpoint.
Allows performing internet speed tests (download and upload) using the nearest Speedtest server.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-nettoolsping google.com"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-nettools
MCP server for network diagnostics. Exposes 8 tools for use with Claude Code, Claude Desktop, or any MCP client.
Tools
Tool | Description |
| ICMP ping — reachability and round-trip times |
| DNS record lookup (A, AAAA, MX, TXT, NS, CNAME) |
| TCP port open/closed check |
| Network path tracing |
| Download/upload speed test via nearest server |
| Send WoL magic packet to a MAC address |
| SSL certificate expiry, issuer, days remaining |
| MAC address OUI vendor lookup |
Related MCP server: ProbeOps MCP Server
Quick Start
uvx (no install required)
uvx mcp-nettoolsDocker
docker run -i ghcr.io/aaronckj/mcp-nettools:latestClaude Code
claude mcp add nettools -- uvx mcp-nettoolsClaude Desktop
Add to ~/.config/claude/claude_desktop_config.json:
{
"mcpServers": {
"nettools": {
"command": "uvx",
"args": ["mcp-nettools"]
}
}
}Or with Docker:
{
"mcpServers": {
"nettools": {
"command": "docker",
"args": ["run", "-i", "--rm", "ghcr.io/aaronckj/mcp-nettools:latest"]
}
}
}Requirements
For ping and traceroute tools, the server needs system binaries:
Linux:
apt install iputils-ping traceroutemacOS: both are pre-installed
Docker: included in the image
License
MIT
Available Tools
8 toolscert_checkA
Check the SSL certificate on a host — expiry, issuer, days remaining.
| Name | Required | Description | Default |
|---|---|---|---|
| host | Yes | ||
| port | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden but only discloses purpose and outputs, not behavioral details like network activity, permissions, or edge cases.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that efficiently conveys purpose and outputs without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema or annotations, the description adequately covers purpose and main outputs but lacks parameter details and additional usage context for a simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, and the description does not explain parameter meaning beyond the names (host, port) and default port value; lacks guidance on host format or constraints.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it checks SSL certificates on a host and lists specific outputs (expiry, issuer, days remaining), distinguishing it from sibling tools like dns_lookup and port_check.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for SSL certificate checking but provides no explicit guidance on when to use this tool versus alternatives like port_check or dns_lookup.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
dns_lookupA
Look up DNS records for a hostname. record_type: A, AAAA, MX, TXT, NS, CNAME.
| Name | Required | Description | Default |
|---|---|---|---|
| host | Yes | ||
| record_type | No | A |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully convey behavior. It does not mention what happens on invalid hostnames or record types, error responses, or output format. The read nature is implied but not confirmed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (12 words) and front-loaded with the action and resource, followed by the key parameter guidance. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description should clarify what the return value looks like (e.g., list of IP addresses or records). It also lacks error handling context. However, for a simple DNS lookup, the basic information suffices.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds value by listing allowed values for record_type (A, AAAA, MX, TXT, NS, CNAME), which is absent from the input schema (no enum). This helps the agent choose a valid record type. The host parameter is not elaborated, but schema coverage is 0%, so the description partially compensates.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'look up' and the resource 'DNS records for a hostname', and lists the supported record types (A, AAAA, MX, TXT, NS, CNAME). This differentiates it from sibling tools like ping or traceroute.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool vs alternatives. Since siblings include other network diagnostic tools, explicit when-to-use instructions are missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mac_lookupB
Look up the vendor/manufacturer for a MAC address (OUI database).
| Name | Required | Description | Default |
|---|---|---|---|
| mac | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description does not disclose behavioral traits such as OUI database freshness, rate limits, error behavior, or any side effects. The agent gets minimal insight beyond the basic operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, self-contained sentence without fluff. It communicates the essential information concisely and is front-loaded with the core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple lookup tool with one required parameter and no output schema, the description is functionally complete. However, it could improve by mentioning expected MAC address format or what the response includes (e.g., vendor name).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% description coverage for the 'mac' parameter. The description adds that it is an OUI database lookup, but fails to specify allowed formats (e.g., colon-separated, hyphen-separated, case sensitivity). This leaves ambiguity for the agent.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: lookup vendor/manufacturer for a MAC address using OUI database. It specifies the resource (MAC address) and the action (lookup), and the purpose is distinct from sibling tools like cert_check or dns_lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for MAC vendor lookup but does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
pingC
Ping a host and return reachability and round-trip times.
| Name | Required | Description | Default |
|---|---|---|---|
| host | Yes | ||
| count | No | ||
| timeout | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, and the description does not disclose behavioral traits such as network permissions, rate limits, or whether the tool might cause side effects. It only states the output, missing important context for safe usage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence, which is concise. However, it is too sparse; a few more sentences could improve completeness without sacrificing conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity and the lack of output schema, the description partially covers the return values but omits important context like default behavior (e.g., count=4, timeout=5) and any prerequisites.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description should clarify parameter meanings. It does not explain the 'host' format, the semantic of 'count' (number of pings), or the unit of 'timeout'. This omission leaves the agent guessing.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Ping a host') and the return value ('reachability and round-trip times'). It distinguishes itself from sibling tools like cert_check and dns_lookup, which serve different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool over alternatives. For instance, it does not explain when to prefer ping over traceroute or port_check for network diagnostics.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
port_checkA
Check if a TCP port is open on a host.
| Name | Required | Description | Default |
|---|---|---|---|
| host | Yes | ||
| port | Yes | ||
| timeout | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full behavioral burden. It correctly indicates a read-only check (no side effects), but does not mention timeout behavior or response format. For a simple tool, this is mostly adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, no unnecessary words. Every word adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (no output schema, 3 params), the description is minimal but misses parameter semantics and return hints. It is on the edge of adequacy.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description does not explain parameter details beyond what the schema provides. It does not clarify timeout meaning, host format, or return value types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Check', the resource 'TCP port', and the context 'on a host'. It distinguishes from siblings like ping (ICMP reachability) and DNS lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like ping or traceroute. The description implies usage (checking TCP port openness) but does not provide explicit when-to-use or when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
speedtestA
Run a network speed test using the nearest server.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must fully disclose behavior. It mentions using the nearest server but omits other traits such as potential data usage, required permissions, or output format. Minimal transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that efficiently conveys the tool's purpose without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although the tool is simple (no params, no output schema), the description could be improved by hinting at what the output contains, such as download/upload speeds or latency. Lacks completeness for an agent to fully understand the return value.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema provides complete coverage. The description adds no parameter information, but none is needed given no parameters exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Run), resource (network speed test), and context (using the nearest server). It is distinct from sibling tools like ping or dns_lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives like ping or traceroute. The description does not specify any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tracerouteC
Trace the network path to a host.
| Name | Required | Description | Default |
|---|---|---|---|
| host | Yes | ||
| max_hops | No | ||
| timeout | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, and the description lacks any behavioral details such as permissions needed, network protocol used, or potential blocking by firewalls.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
While short, the description is under-specified; it does not use the space effectively to convey additional useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema and 3 parameters, the description fails to explain what the tool returns or how parameters affect behavior, leaving significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not explain any parameters beyond their names in the schema; with 0% schema coverage, the description adds no semantic value for max_hops or timeout.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('trace') and the resource ('network path to a host'), distinguishing it from sibling tools like ping and dns_lookup which have different purposes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use traceroute versus alternative tools, nor any conditions or prerequisites for its use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wake_on_lanB
Send a Wake-on-LAN magic packet to a MAC address.
| Name | Required | Description | Default |
|---|---|---|---|
| mac | Yes | ||
| broadcast | No | 255.255.255.255 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description must fully disclose behavior. It only states the action but omits side effects (e.g., no response expected, potential need for subnet broadcast configuration, and that the tool is one-way and non-blocking).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no unnecessary words. Front-loaded action and resource. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has two simple parameters and no output schema, but the description lacks details on protocol specifics (port, UDP) and typical usage patterns. It is minimally adequate for an agent familiar with WOL, but could be more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. The description clarifies that 'mac' is a MAC address and 'broadcast' defaults to 255.255.255.255, but does not specify MAC format (e.g., colons vs dashes) or broadcast address validity across subnets. This is minimal improvement over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Send') and resource ('Wake-on-LAN magic packet') to state exactly what the tool does. It clearly distinguishes from sibling tools (e.g., ping, port_check) which perform other network operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, nor are there prerequisites or context about network configuration (e.g., target machine must support WOL, magic packet typically sent on port 9).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
v0.1.0- First observed
cert_check - First observed
dns_lookup - First observed
mac_lookup - First observed
ping - First observed
port_check - First observed
speedtest - First observed
traceroute - First observed
wake_on_lan
TDQS
Scored across 8 tools
Each tool has a clearly distinct purpose: SSL cert checking, DNS lookups, MAC vendor lookup, ping, port checking, speedtest, traceroute, and Wake-on-LAN. No two tools overlap in functionality.
All tool names follow a consistent snake_case verb_noun pattern (e.g., cert_check, dns_lookup, mac_lookup). Even 'ping' fits as a concise verb in the network domain.
With 8 tools, the server covers a practical range of network diagnostics without being bloated. Each tool addresses a common need, making the count well-scoped.
The set covers essential network tools (DNS, ping, traceroute, port check, speed test, SSL cert, MAC lookup, WoL). Minor gaps like a whois lookup or HTTP status check are not critical but could be included.
Maintenance
Related MCP Connectors
Remote MCP server: 19 domain-hygiene and email-auth tools (DNS, SPF, DMARC, DKIM, TLS).
Scores any MCP server before you trust it: free quick check, full paid report, 2-5 way compare.
SEO MCP server — backlinks, domain authority, tech stack, and 18+ tools via Common Crawl.
Free MCP server: 36 security & dev API tools -- WHOIS, DNS, CVE, IP reputation, Cosmos SDK.
Related MCP Servers
- AlicenseAqualityCmaintenanceNetwork diagnostics — ping, traceroute, DNS lookup, port scanning, and connectivity testing via MCP.14MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for running infrastructure diagnostics from 6 global regions. It provides tools like SSL checks, DNS lookups, ping, whois, port checks, traceroute, latency tests, and more, with a free demo mode (10 calls/day) and no API key required.48 npmMIT
- FlicenseNot gradedqualityDmaintenanceA secure MCP server for network diagnostics, providing tools like ping, traceroute, whois, nslookup, dig, nmap, curl, and netstat through natural language interfaces.-
- AlicenseNot gradedqualityDmaintenanceAn MCP server providing infrastructure diagnostic tools including port checks, DNS lookups, log parsing, system health, and SSL certificate inspection.MIT