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.1

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.1
File Size Uploaded Provenance
cystene-0.1.1.tar.gz 23.1 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 52.5 kB

Release files / cystene-0.1.1.tar.gz

Download URL cystene-0.1.1.tar.gz
Size 23.1 kB
Tags Source
SHA-256 checksum
How to use checksums
0c5b8feb4c1180af89f16ca141f6923a8f773f775811603f4ae764ad354fe797
BLAKE2b-256 checksum
How to use checksums
18108c6790932c1cfb6b127d6ebe2ead4de5acbab7e157823d1c633b8e94a0e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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.1-py3-none-any.whl

Download URL cystene-0.1.1-py3-none-any.whl
Size 29.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f933f8f23d9450f90effedffef3f9e568207c48d22c208ae0fccb8e30da96c7c
BLAKE2b-256 checksum
How to use checksums
445b5efb02d3b00c2ee6b2400b14058b3a471847226b04123fd1d1fe785b295b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","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.1

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