Skip to main content
Glama

mcp-nettools

MCP server for network diagnostics. Exposes 8 tools for use with Claude Code, Claude Desktop, or any MCP client.

Tools

Tool

Description

ping

ICMP ping — reachability and round-trip times

dns_lookup

DNS record lookup (A, AAAA, MX, TXT, NS, CNAME)

port_check

TCP port open/closed check

traceroute

Network path tracing

speedtest

Download/upload speed test via nearest server

wake_on_lan

Send WoL magic packet to a MAC address

cert_check

SSL certificate expiry, issuer, days remaining

mac_lookup

MAC address OUI vendor lookup

Related MCP server: ProbeOps MCP Server

Quick Start

uvx (no install required)

uvx mcp-nettools

Docker

docker run -i ghcr.io/aaronckj/mcp-nettools:latest

Claude Code

claude mcp add nettools -- uvx mcp-nettools

Claude 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 traceroute

  • macOS: both are pre-installed

  • Docker: included in the image

License

MIT

Available Tools

8 tools
cert_checkA

Check the SSL certificate on a host — expiry, issuer, days remaining.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostYes
portNo

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostYes
record_typeNoA

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
macYes

TDQS

B3.4/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostYes
countNo
timeoutNo

TDQS

C2.7/5.0
Behavior2/5

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.

Conciseness3/5

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.

Completeness2/5

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.

Parameters1/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostYes
portYes
timeoutNo

TDQS

A3.6/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
hostYes
max_hopsNo
timeoutNo

TDQS

C2.3/5.0
Behavior1/5

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.

Conciseness2/5

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.

Completeness1/5

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.

Parameters1/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
macYes
broadcastNo255.255.255.255

TDQS

B3.2/5.0
Behavior2/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

  1. 8 tool updatesv0.1.0
    • First observedcert_check
    • First observeddns_lookup
    • First observedmac_lookup
    • First observedping
    • First observedport_check
    • First observedspeedtest
    • First observedtraceroute
    • First observedwake_on_lan

TDQS

B3.4/5.0

Scored across 8 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count5/5

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.

Completeness4/5

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

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Network diagnostics — ping, traceroute, DNS lookup, port scanning, and connectivity testing via MCP.
    14
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP 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 npm
    MIT