# ftp_check

Connect to an FTP server and read its banner. Also tests whether anonymous login is accepted. Useful for verifying FTP service availability.

Agent View of the PolicyLayer registry record for `ftp_check`. HTML page: https://policylayer.com/tools/aaronckj-mcp-nettools/ftp-check

## Facts

- Tool: `ftp_check`
- 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": "ftp_check",
    "arguments": {}
  }
}
```

## Why ftp_check is rated Low

The tool performs network diagnostics by querying FTP service metadata (banner information and authentication status). It does not execute arbitrary commands, modify data, delete resources, or create side effects. The scope is limited to reading publicly available service information. Severity is low because misuse would only expose FTP service characteristics, not cause operational harm or data loss.

From the tool's own definition: "Tool connects to FTP server to 'read its banner' and 'test whether anonymous login is accepted.' These are information retrieval operations with no modification of data or execution of commands."

## Use case

AI agents call ftp_check 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": {
    "ftp_check": {}
  }
}
```

## 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
