Skip to main content

NetConverter CLI

Migrate, validate and optimize network configurations from the folder that holds them — and let your own AI assistant do it too, without the configuration ever passing through the model.

NetConverter — by ValeronLabs LLC.

◆ NetConverter  v0.6.0                      ● Server   ◆ Bridge claude-code · 2m ago
▍ Start
▍ /convert    Migrate a configuration to another vendor
▍ /validate   Check a configuration before migrating
▍ /optimize   Cleanup and optimization findings
▍ /activity   What your AI assistant did here
╭ What does edge-fw.conf contain? ───────────────────────────────╮
│ ▸  1  Fortinet FortiGate  · detected                            │
│    2  Cisco ASA                                                 │
╰──────────────────────────────── ↑↓ choose · 1–9 jump · Enter ───╯

One small client, three ways in:

What it is
netconverter A keyboard-first full-screen app: pick a file, answer a few inline questions, follow the job, get verified outputs beside your source.
netconverter mcp A local MCP bridge for Claude Code, Claude Desktop, Cursor, VS Code and Codex. Your AI passes a file path; the bridge reads the file and uploads it straight to NetConverter. The AI sees paths, job IDs and summaries — never the configuration.
netconverter validate edge.cfg --vendor fortinet Plain one-shot commands that print JSON, for scripts and CI.

What it supports

Whatever the NetConverter server you sign in to supports — the client reads GET /capabilities and builds every menu from it, so new vendors appear without a client update. Today that is:

  • Firewalls: Palo Alto (SET, XML, Panorama), Fortinet FortiGate, Cisco FMC (JSON); Cisco ASA as a source. Check Point is a source through a handoff bundle in the portal.
  • Routers and switches: Cisco IOS-XE, Juniper JunOS (braces and set), Aruba CX; ArubaOS as a source.
  • Jobs: convert, validate, optimize; follow-up questions on NAT, policy, routes, interfaces, unused objects, object dependencies and traffic flows.

Run netconverter capabilities to see exactly what your credential can do. A 0.1.x Terminal Quick pilot key still works and keeps its ASA → Palo Alto scope; the app labels it as such.

Development preview: revisioned drafts and guided MCP adds an opt-in client contract for manual YAML, reviewed migration preparation, job status and verified result downloads. It requires explicit server support and is not enabled by an ordinary MCP connection.

Start here

One line installs everything (uv, the CLI from PyPI), signs you in and connects your AI assistants to ~/migrations:

curl -LsSf https://netconverter.ai/install.sh | sh              # macOS / Linux
irm https://netconverter.ai/install.ps1 | iex                    # Windows PowerShell

Options: --yes (no prompts, for IT/MDM), --no-connect, --workspace PATH (curl … | sh -s -- --yes; PowerShell: -Yes -NoConnect -Workspace PATH, see scripts/install.ps1). Running it again only does what is missing.

Or by hand:

# 1. Install (Python 3.12+ via uv: https://docs.astral.sh/uv)
uv tool install --python 3.12 netconverter-cli

# 2. Sign in once
netconverter login --clerk          # your NetConverter account, in the browser
#    or: netconverter login          # paste an API key at a hidden prompt

# 3. Work in the folder that holds your configs
cd ~/migrations && netconverter

Upgrading from netconverter-terminal 0.1.x: uv tool uninstall netconverter-terminal first. Saved keys and sign-ins carry over (Keychain service NetConverter Terminal).

Full walkthrough: Quick start.

A YAML v2 decisions file (zone and interface mappings) rides along with a conversion: netconverter convert edge.cfg --vendor fortinet --to palo_alto_xml --options "$(jq -Rs '{yaml_v2: .}' decisions.yaml)", or inline as --options '{"yaml_v2": {...}}'; see docs/COMMANDS.md.

Use it from your AI

Step-by-step guides for every assistant (Claude, ChatGPT, Cursor, Gemini CLI, Codex …): docs/connect.

netconverter connect claude-code    # or claude-desktop, cursor, vscode, codex, gemini, devin, windsurf, lmstudio
netconverter connect --all          # every assistant found on this computer
netconverter connect chatgpt        # ChatGPT / claude.ai: remote-connector setup steps

connect shows the exact change it will make and asks before applying it (Claude Code through its own claude mcp add; JSON files keep a .bak). For Claude Code it then offers a Read deny rule for the folder, so the assistant works on your configurations only through the bridge. Then ask your assistant, for example: "Validate edge-fw.conf and tell me what it finds," "Convert it to Palo Alto XML," "Can WEB reach DB on tcp/1433?"

Bridge tools: submit_file, job_status, wait_for_job, account, download, plus an allowlist of NetConverter's read-only tools (reports, evidence, NAT, flows, knowledge base). What the assistant sees is this folder's exposure level (netconverter privacy level none|masked|selected|full, default masked: the strict view, names as tokens, addresses masked, no configuration content); secrets are removed at every level, and raising the level needs a confirmation typed in a terminal (docs/PRIVACY.md). netconverter privacy apply --client claude-code (also cursor, gemini; codex and openclaw print the settings) keeps the assistant's own file tools out of the folder. Job options from an assistant pass an allowlist with type checks: an unknown or reserved key (the file, vendors, job type, a decisions document) is refused naming it, never silently sent.

Upgrading from 0.4.x: --full (or NETCONVERTER_MCP_VIEW=full) no longer widens the view on its own; run netconverter privacy level full in a terminal for the folder. Run netconverter connect <assistant> again to drop the --strict that 0.4.4 wrote, which would hold the assistant at masked.

Inside the app, /activity and the header's Bridge pill show what your AI did through the bridge — paths, sizes, SHA-256 and job IDs only.

Stay current

netconverter update upgrades a PyPI install with uv tool upgrade netconverter-cli; a copy installed from a release wheel gets the latest wheel after its SHA-256 is checked (--check only reports). Interactive commands mention a new release at most once a day; set NETCONVERTER_NO_UPDATE_CHECK=1 to turn that off.

Boundaries

  • Configurations travel only from your workspace to NetConverter, over HTTPS. The bridge never returns configuration text to the AI; the server tokenizes addresses and removes credentials from every summary.
  • The client never pushes to a device. Outputs are files you review and load.
  • Downloads are hash-verified and never overwrite a file you changed.
  • An optional in-app model (/model: Anthropic, OpenAI, Gemini or local Ollama) only chooses among fixed operations; it never receives configurations or results.

Documentation

The client is licensed for use with your NetConverter account only and may not be redistributed (license); you accept it on first run (netconverter license). Versions up to 0.4.3 were MIT licensed. The license does not grant access to the hosted service or license the server code. macOS is the exercised platform; Windows acceptance remains pending.

Metadata

Release files for netconverter-cli 0.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for netconverter-cli 0.6.0
File Size Uploaded Provenance Actions
netconverter_cli-0.6.0.tar.gz 311.5 kB With provenance Details for netconverter_cli-0.6.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for netconverter-cli 0.6.0
File Interpreter ABI Platform Actions
netconverter_cli-0.6.0-py3-none-any.whl Python 3 none any Details for netconverter_cli-0.6.0-py3-none-any.whl

Total release size: 499.2 kB

Release files / netconverter_cli-0.6.0.tar.gz

Download URL netconverter_cli-0.6.0.tar.gz
Size 311.5 kB
Tags Source
SHA-256 checksum
How to use checksums
acd26072dc14eb76f02a4f1c7fbba73ecb111456cc56eb825c7dd102973ee578
BLAKE2b-256 checksum
How to use checksums
1b34c466d917db027c8d53248042260c64a3bd2cadab47378fc5e2e5a18e2070
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Release files / netconverter_cli-0.6.0-py3-none-any.whl

Download URL netconverter_cli-0.6.0-py3-none-any.whl
Size 187.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6b98c11f9d73a6eefb92af28a5bc4cc2ac055ee4a97fb3ea9bd30cd0ef5e5a38
BLAKE2b-256 checksum
How to use checksums
c5b6ba9947e88ff94173d9df514dc56efc29f35c8516def66fd8693231d0c43f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

Security for netconverter-cli 0.6.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for netconverter_cli-0.6.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 30, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page