Skip to main content

cystene

Cystene CLI + MCP — scan your infrastructure from your terminal or your AI assistant.

One pip install ships three entry points over a single shared core:

  • cystene — the CLI. cystene scan <url> runs the engines and prints ranked findings.
  • cystene-mcp — the MCP server over stdio (Claude Desktop / Claude Code / Cursor).
  • cystene-mcp-http — the MCP server over HTTP + OAuth (remote, mcp.cystene.com).

Install

pip install cystene
# or:  uv tool install cystene
cystene --help

Login

cystene login            # browser (OAuth device flow)
cystene login --basic    # email/password in the terminal (headless / CI)
cystene status           # show current auth status

Credentials are stored locally in ~/.cystene/credentials.json (chmod 600). Your password never reaches the AI — login happens in your browser or terminal.

Scan from the terminal

cystene scan https://app.example.com
cystene scan https://app.example.com --engines web_scan,baas_scan,secret_scan
cystene scan https://app.example.com --fail-on critical

scan finds or creates a target for the URL, runs the external engines, prints the findings ranked worst-first with severity + confidence, and exits non-zero when any finding is at or above --fail-on (default high) — drop it straight into CI:

- run: pip install cystene && cystene login --basic <<< "$CYSTENE_EMAIL\n$CYSTENE_PASSWORD"
- run: cystene scan "$DEPLOY_URL" --fail-on high

Use from your AI assistant (MCP)

After cystene login, wire the stdio server into your client:

Claude Code:

claude mcp add cystene -- cystene-mcp

Claude Desktop / Cursor — add to the MCP config:

{
  "mcpServers": {
    "cystene": { "command": "cystene-mcp" }
  }
}

Then ask: "Scan https://app.example.com and show me the critical findings."

Tools (MCP)

Group Tools
Context get_permissions, list_organizations
Infrastructure list_scan_targets, create_scan_target
Execution scan, list_scan_templates, create_scan_template, start_scan, get_scan_job, list_scan_jobs
Discovery list_findings, get_finding, list_assets, get_dashboard, generate_report

Security

  • Passwords never reach the AI — login happens in your browser or terminal.
  • Credentials stored locally in ~/.cystene/credentials.json (chmod 600).
  • Automatic token refresh on expiry.
  • No destructive operations exposed over MCP.
  • All API validations, permissions, subscription gating, and audit logging apply.

Requirements

Metadata

Release files for cystene 0.1.2

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

Source distribution (sdist)

Source distribution for cystene 0.1.2
File Size Uploaded Provenance
cystene-0.1.2.tar.gz 23.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for cystene 0.1.2
File Interpreter ABI Platform
cystene-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 53.6 kB

Release files / cystene-0.1.2.tar.gz

Download URL cystene-0.1.2.tar.gz
Size 23.6 kB
Tags Source
SHA-256 checksum
How to use checksums
962106db3e4a549e7c8864efdd534c864753894e2b00c010b8cc63f2aa71bc6a
BLAKE2b-256 checksum
How to use checksums
2e44a51314199b8d035cb770b94b1a9c2ab908f1620434731cf7bddf8dc9aa07
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / cystene-0.1.2-py3-none-any.whl

Download URL cystene-0.1.2-py3-none-any.whl
Size 30.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
28b1b15976e68d9f7927057ccba73a8bd072e73126b2230fb3c42b01ad612167
BLAKE2b-256 checksum
How to use checksums
375170db86343ae4cd58326e45ed133e2baf0a35b14da470ab4e9ae7951601a4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for cystene 0.1.2

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

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