# tcp_banner

Connect to any TCP port and read the initial server banner. Useful for identifying unknown services or verifying custom TCP servers. Returns raw banner text.

Agent View of the PolicyLayer registry record for `tcp_banner`. HTML page: https://policylayer.com/tools/aaronckj-mcp-nettools/tcp-banner

## Facts

- Tool: `tcp_banner`
- Server: Mcp Nettools (`aaronckj/mcp-nettools`) — https://policylayer.com/tools/aaronckj-mcp-nettools.md
- Homepage: https://github.com/aaronckj/mcp-nettools
- Risk category: Read (Low risk)
- Registry record: grade F, identity unverified
- Server rate-limited: no
- Parameters: 0
- Recommended policy verdict: Allowed

## Example call (MCP tools/call, JSON-RPC 2.0)

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "tcp_banner",
    "arguments": {}
  }
}
```

## Why tcp_banner is rated Low

This tool performs passive information gathering by connecting to TCP ports and reading responses, similar to network reconnaissance. While it can probe any port, it only retrieves existing banner data without side effects, making it a Read operation.

From the tool's own definition: "Tool description states it 'Connect[s] to any TCP port and read the initial server banner' and 'Returns raw banner text.' The core function is retrieval of data (banner information) with no modification, creation, deletion, or code execution."

## Use case

AI agents call tcp_banner to retrieve information from Mcp Nettools without modifying anything. It is typically the context-gathering step in research, monitoring, and reporting workflows, before the agent takes action elsewhere.

## Recommended policy (PolicyLayer)

Verdict: **Allowed**. Enforced by the PolicyLayer MCP gateway (https://policylayer.com/mcp-gateway) before a call reaches Mcp Nettools:

```json
{
  "version": "1",
  "default": "deny",
  "tools": {
    "tcp_banner": {}
  }
}
```

## Other tools on Mcp Nettools (234)

- `http_delete` — Destructive — https://policylayer.com/tools/aaronckj-mcp-nettools/http-delete.md
- `check_mqtt` — Execute — https://policylayer.com/tools/aaronckj-mcp-nettools/check-mqtt.md
- `check_rdp` — Execute — https://policylayer.com/tools/aaronckj-mcp-nettools/check-rdp.md
- `http_post` — Execute — https://policylayer.com/tools/aaronckj-mcp-nettools/http-post.md
- `ping` — Execute — https://policylayer.com/tools/aaronckj-mcp-nettools/ping.md
- `port_scan` — Execute — https://policylayer.com/tools/aaronckj-mcp-nettools/port-scan.md
- `speedtest` — Execute — https://policylayer.com/tools/aaronckj-mcp-nettools/speedtest.md
- `traceroute` — Execute — https://policylayer.com/tools/aaronckj-mcp-nettools/traceroute.md
- `wake_on_lan` — Execute — https://policylayer.com/tools/aaronckj-mcp-nettools/wake-on-lan.md
- `arp_table` — Read — https://policylayer.com/tools/aaronckj-mcp-nettools/arp-table.md
- `bgp_lookup` — Read — https://policylayer.com/tools/aaronckj-mcp-nettools/bgp-lookup.md
- `cert_check` — Read — https://policylayer.com/tools/aaronckj-mcp-nettools/cert-check.md
- `cert_check_bulk` — Read — https://policylayer.com/tools/aaronckj-mcp-nettools/cert-check-bulk.md
- `check_actual_budget` — Read — https://policylayer.com/tools/aaronckj-mcp-nettools/check-actual-budget.md
- `check_adguard` — Read — https://policylayer.com/tools/aaronckj-mcp-nettools/check-adguard.md
- `check_alertmanager` — Read — https://policylayer.com/tools/aaronckj-mcp-nettools/check-alertmanager.md
- `check_anythingllm` — Read — https://policylayer.com/tools/aaronckj-mcp-nettools/check-anythingllm.md
- `check_appwrite` — Read — https://policylayer.com/tools/aaronckj-mcp-nettools/check-appwrite.md
- `check_archivebox` — Read — https://policylayer.com/tools/aaronckj-mcp-nettools/check-archivebox.md
- `check_audiobookshelf` — Read — https://policylayer.com/tools/aaronckj-mcp-nettools/check-audiobookshelf.md
- `check_authelia` — Read — https://policylayer.com/tools/aaronckj-mcp-nettools/check-authelia.md
- `check_authentik` — Read — https://policylayer.com/tools/aaronckj-mcp-nettools/check-authentik.md
- `check_baikal` — Read — https://policylayer.com/tools/aaronckj-mcp-nettools/check-baikal.md
- `check_bazarr` — Read — https://policylayer.com/tools/aaronckj-mcp-nettools/check-bazarr.md
- `check_beszel` — Read — https://policylayer.com/tools/aaronckj-mcp-nettools/check-beszel.md
- `check_bitwarden` — Read — https://policylayer.com/tools/aaronckj-mcp-nettools/check-bitwarden.md
- `check_bookstack` — Read — https://policylayer.com/tools/aaronckj-mcp-nettools/check-bookstack.md
- `check_calibre_web` — Read — https://policylayer.com/tools/aaronckj-mcp-nettools/check-calibre-web.md
- `check_cassandra` — Read — https://policylayer.com/tools/aaronckj-mcp-nettools/check-cassandra.md
- `check_changedetection` — Read — https://policylayer.com/tools/aaronckj-mcp-nettools/check-changedetection.md
- …and 204 more: https://policylayer.com/tools/aaronckj-mcp-nettools.md

## For agents

This record is a snapshot. Live verdicts and the full registry:

- Check every server in your MCP config at once: `npx -y policylayer stack`
- Vet a server before you add it: install the mcp-precheck skill — `npx skills add https://policylayer.com` (skill text: https://policylayer.com/skill.md)
- Query the registry over MCP: endpoint `https://api.policylayer.com/mcp` — tools `check_mcp_server`, `check_mcp_stack`, `check_tool`, `search_registry`, `get_change_events`

---

Source: the PolicyLayer MCP registry — one continuously verified record per MCP server. Full record: https://policylayer.com/registry?q=aaronckj-mcp-nettools · API: https://policylayer.com/registry/api · Policy library: https://policylayer.com/policies/aaronckj-mcp-nettools
