# netdiag MCP (pypi · netdiag-mcp)

MCP server wrapping dig, ping, mtr, whois and TLS/HTTP checks for on-demand network diagnostics

- Trust score: 63/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-20

## Components

- pypi · `netdiag-mcp`: 63/100 (this document), [markdown](https://verifymcp.io/servers/shigechika-netdiag-mcp/netdiag-mcp.md), [page](https://verifymcp.io/servers/shigechika-netdiag-mcp/netdiag-mcp)

## Channel facts

- Registry: `pypi`
- Package: `netdiag-mcp`
- Version: `0.4.0`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-20.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - Runs setuptools.build_meta at install time, a recognised native-build step with no shell scripting around it.
  - 1 of 30 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 32/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - License check failed: no license is declared.
  - Actively maintained (last published 0 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 69/100
  - AI-judged instruction clarity (good).
  - Tool/resource definitions use about 656 tokens (~65/item across 10 items; 10 tools + 0 resources), lean.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 3/100
  - Stability observed for 1 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 71/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 0% of tool parameters carry a description.
  - Structured output schemas are declared (90% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add shigechika-netdiag-mcp -- uvx netdiag-mcp
```

### Codex

```bash
codex mcp add shigechika-netdiag-mcp -- uvx netdiag-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "shigechika-netdiag-mcp": {
      "type": "local",
      "command": [
        "uvx",
        "netdiag-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add shigechika-netdiag-mcp --command uvx --arg netdiag-mcp
```

### Hermes

```yaml
mcp_servers:
  shigechika-netdiag-mcp:
    command: "uvx"
    args: ["netdiag-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "shigechika-netdiag-mcp": {
      "command": "uvx",
      "args": [
        "netdiag-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-20 (score 63, +1)

- [functional improvement] Stability: unverified → 0.03
- [functional] Package version: 0.3.0 → 0.4.0

### 2026-08-19 (score 62)

First indexed and scored.

## MCP tools (10)

### `health_check` (~81 tokens)

Service health: version and which wrapped binaries are present on PATH.

Returns a fixed shape (status/service/version + backend fields) so a
monitoring caller never has to branch on missing keys. status is
"healthy" when every wrapped binary is found, "degraded" when at least
one is missing (the corresponding tools will fail at call time).

### `dns_lookup` (~162 tokens)

Resolve a DNS record via `dig`. record_type: A/AAAA/MX/TXT/NS/CNAME/SOA/PTR/CAA.

Pass resolver to query a specific nameserver instead of the host default
(e.g. to check whether a change has propagated to a given resolver).
transport: "plain" (UDP/TCP 53, default), "dot" (DNS-over-TLS, 853) or
"doh" (DNS-over-HTTPS, 443). Requires dig from BIND 9.18+; an older dig
rejects dot/doh outright instead of silently querying over plain DNS.

Input parameters:

- `hostname` (string, required)
- `record_type` (string)
- `resolver`
- `transport` (string)

Output parameters:

- `result` (string)

### `dnssec_check` (~83 tokens)

Check whether a name validates DNSSEC against a known-validating resolver (AD bit).

transport: "plain" (default), "dot" or "doh" — compare validation over
plain DNS vs. an encrypted transport when port 53 may be intercepted.

Input parameters:

- `hostname` (string, required)
- `resolver` (string)
- `transport` (string)

Output parameters:

- `result` (string)

### `ping_host` (~40 tokens)

ICMP ping a host or IP. count is clamped to 1-10.

Input parameters:

- `count` (integer)
- `host` (string, required)

Output parameters:

- `result` (string)

### `traceroute_path` (~54 tokens)

Path/MTU-style hop report via `mtr --report` (fixed cycles, not a live run). cycles clamped 1-10.

Input parameters:

- `cycles` (integer)
- `host` (string, required)

Output parameters:

- `result` (string)

### `tcp_port_check` (~46 tokens)

Check whether a TCP port is open (plain socket connect, no port scanning).

Input parameters:

- `host` (string, required)
- `port` (integer, required)
- `timeout` (number)

Output parameters:

- `result` (string)

### `http_check` (~36 tokens)

HEAD/GET a URL and report status, redirect chain and latency.

Input parameters:

- `timeout` (number)
- `url` (string, required)

Output parameters:

- `result` (string)

### `tls_cert_check` (~44 tokens)

Fetch the TLS certificate presented on host:port and report subject/issuer/validity/SANs.

Input parameters:

- `host` (string, required)
- `port` (integer)

Output parameters:

- `result` (string)

### `whois_lookup` (~23 tokens)

WHOIS lookup for a domain.

Input parameters:

- `domain` (string, required)

Output parameters:

- `result` (string)

### `asn_lookup` (~87 tokens)

ASN + country-code lookup for an IP, or org info for an AS number (e.g. AS15169 or 15169).

Via Team Cymru's whois service — no API key or GeoIP database needed.
Takes an IP literal or AS number, not a hostname; resolve first with
dns_lookup if you only have a name.

Input parameters:

- `target` (string, required)

Output parameters:

- `result` (string)

## Diagnostics

Captured diagnostic sections: Provenance, Install scripts, Dependencies. The full working is on the page: https://verifymcp.io/servers/shigechika-netdiag-mcp/netdiag-mcp#diagnostics

## Score history

- 2026-08-20: 63
- 2026-08-19: 62

## Links

- PyPI project: https://pypi.org/project/netdiag-mcp/
- Socket report: https://socket.dev/pypi/package/netdiag-mcp
- Repository: https://github.com/shigechika/netdiag-mcp
- Changelog RSS feed: https://verifymcp.io/servers/shigechika-netdiag-mcp/netdiag-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/shigechika-netdiag-mcp/netdiag-mcp.json
- HTML version of this page: https://verifymcp.io/servers/shigechika-netdiag-mcp/netdiag-mcp
