Skip to main content

A multi-protocol file manager, scripting surface, and MCP server built with PyQt6

Project description

Axross

Axross

One UI for 30+ file, cloud, network, legacy, database, scripting, and MCP workflows.

Axross is a multi-protocol file manager and security toolkit built with Python and PyQt6. It gives you a split-pane desktop UI, a headless MCP server mode for LLM agents, and a public axross.* Python scripting API from the same package.

The project is currently beta: useful, broad, and actively hardened, but still moving quickly.

Install

Base install:

python -m venv .venv
source .venv/bin/activate
pip install axross
axross

Install the common light protocol extras:

pip install "axross[all]"

Pick individual extras when you only need selected backends:

pip install "axross[smb]"       # SMB / CIFS + DFS-N
pip install "axross[s3]"        # S3-compatible storage
pip install "axross[webdav]"    # WebDAV
pip install "axross[gdrive]"    # Google Drive
pip install "axross[dropbox]"   # Dropbox
pip install "axross[postgres]"  # PostgreSQL-as-FS
pip install "axross[redis]"     # Redis-as-FS
pip install "axross[mongo]"     # MongoDB GridFS
pip install "axross[git]"       # Git-as-FS via dulwich

Heavy or platform-sensitive extras stay explicit:

pip install "axross[winrm]"
pip install "axross[wmi]"
pip install "axross[exchange]"
pip install "axross[fuse]"

On minimal Debian/Ubuntu containers, install Qt loader libraries before launching the GUI:

apt-get update
apt-get install -y --no-install-recommends \
    libglib2.0-0 libgl1 libegl1 libfontconfig1 libxkbcommon0 libdbus-1-3

Headless modes (--help, --script, --mcp-server) work without those GUI libraries.

First Checks

axross --version
axross --help
python -m axross --help
python - <<'PY'
import axross
print(axross.__version__)
print(axross.localfs().list_dir(".")[:3])
PY

Launch modes:

axross                         # desktop GUI
axross --script script.py      # run an axross automation script
axross --mcp-server            # stdio MCP server for local agents
axross --mcp-server --mcp-http 127.0.0.1:7331

What It Can Talk To

Core backends include SFTP/SCP, FTP/FTPS, SMB/CIFS, WebDAV, S3-compatible storage, Rsync, NFS, Azure Blob/Files, OneDrive, SharePoint, Google Drive, Dropbox, iSCSI, IMAP, POP3, TFTP, Telnet, WinRM, WMI/DCOM, Exchange, DFS-N, ADB, MTP, Gopher, NNTP/Usenet, SQLite-FS, PostgreSQL-FS, Redis-FS, MongoDB GridFS, Git-as-FS, PJL printer-FS, SLP discovery, rsh/rcp, Cisco IOS Telnet, and a RAM-only volatile workspace.

Scripting API

The package exposes the same curated API used by the embedded REPL:

import axross

local = axross.localfs()
for item in local.list_dir(".")[:5]:
    print(item.name, item.size)

In the GUI, the bottom Console dock adds persistent history, docs, slash commands, and bundled scripts such as mirror, dedupe, find-secrets, port-scan, SLP inventory, Cisco IOS collection, IMAP archive, checksum diff, and TFTP audit.

Runnable scripting examples ship with the package under examples/scripting_api/. The local examples are tested without network access, and the Docker-lab examples exercise protocol-backed recipes against tests/docker/docker-compose.yml.

Multi-System Workflows

Recent releases add operational workflow verbs on top of the core backends:

  • axross.where_was_i() recalls recently touched hosts and paths.
  • axross.health_pulse() reports live latency / stale-session state.
  • axross.compare_file() and axross.inspect_targets() compare files across hosts and protocols.
  • axross.federated_search() fans one query out across many backends.
  • axross.resumable_copy() adds checkpoint-resume for cross-backend transfers.
  • axross.dashboard() renders one-screen federation status.
  • axross.snapshot_now() / axross.start_trail() keep SQLite time-lapse metadata for directory trees.
  • axross.serve_s3() and axross.serve_webdav() expose any opened backend through local S3-compatible or WebDAV endpoints.

Credential-testing helpers (axross.bruteforce, axross.spray, axross.enumerate_users) are available for authorised assessments only and require an explicit authorized=True gate.

Safety Defaults

Axross is designed for operational work:

  • mutating operations can be previewed
  • destructive actions write redacted structured logs
  • an append-only operation journal records high-risk actions
  • plaintext legacy protocols show credential warnings
  • SSRF guards protect proxy hops by default
  • paranoid mode can disable scripts, previews, external viewers, legacy protocols, and private proxy overrides

Documentation

License

Axross is released under the Apache License 2.0. See the source repository for the full license, notice, and third-party attribution files.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

axross-0.6.0.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

axross-0.6.0-py3-none-any.whl (1.1 MB view details)

Uploaded Python 3

File details

Details for the file axross-0.6.0.tar.gz.

File metadata

  • Download URL: axross-0.6.0.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for axross-0.6.0.tar.gz
Algorithm Hash digest
SHA256 602ce0dc1528c32e943f3ca8e4b88b22b04a2dbf10a7c64d72c9586d01fc6719
MD5 f5ad3e065d044589a65807ad23e84da1
BLAKE2b-256 cf02e4dab59d8618454d8835fedeb2d0f894679fec1e6d394f0029abe5159487

See more details on using hashes here.

File details

Details for the file axross-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: axross-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for axross-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 62023f833dee0259ffa6f4feb81302c77229ce7191c48aab1ab1792e993b31ac
MD5 e0ac13b7948bebd5ee74404f75058a9f
BLAKE2b-256 bbd6764590fcda38c3e8da14c3c4050cf0eefd954bc5685128a11aae4d72ff67

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page