Skip to main content

CIPHER MCP Scan

CIPHER is a local static scan for MCP-oriented codebases. It inspects a checked-out project locally and runs four focused checks: authentication, over-privilege, CVE lookup, and typosquatting.

Install

pip install cipher-mcp-scan

Use CIPHER directly in the CLI

  1. Install:
    pip install cipher-mcp-scan
    
  2. Check it works:
    cipher-scan --help
    
  3. Scan the current directory:
    cipher-scan . --fail-on high
    
  4. Scan a specific project path:
    cipher-scan path/to/project --fail-on high
    
  5. Report only without failing CI:
    cipher-scan . --fail-on none
    
  6. Write a JSON report:
    cipher-scan . --fail-on high --format json --output cipher-report.json
    
  7. Exit codes:
    • 0 = findings are below the selected threshold
    • 1 = findings are at or above the selected threshold
  8. --fail-on values:
    • critical
    • high
    • medium
    • none

Use CIPHER in GitHub Actions

Add a workflow in your project under .github/workflows/ and run the scanner after checkout. This works for public and private repos because the scan is local to the checked-out code.

Point to the demo file in this repo at examples/github-actions-cipher-scan.yml. You can copy that file into your repo as .github/workflows/cipher-scan.yml, or paste the workflow block below.

name: CIPHER MCP Scan

on:
  pull_request:
  push:
    branches:
      - main
      - master
  workflow_dispatch:

jobs:
  cipher-scan:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.11'

      - name: Install CIPHER
        run: |
          python -m pip install --upgrade pip
          pip install cipher-mcp-scan

      - name: Run CIPHER scan
        env:
          GITHUB_STEP_SUMMARY: ${{ github.step_summary }}
        run: |
          cipher-scan . --fail-on high --summary github --output cipher-scan-report.json

      - name: Upload JSON report
        if: always()
        uses: actions/upload-artifact@v4
        with:
          name: cipher-scan-report
          path: cipher-scan-report.json
          if-no-files-found: ignore

To use it in another repo:

  1. Copy examples/github-actions-cipher-scan.yml to .github/workflows/cipher-scan.yml
  2. Or paste the block above into that file
  3. Open a PR or push to main/master to trigger the check

Optional flags

  • --summary github writes a markdown summary to the Actions job summary when available
  • --format text|json changes the output style
  • --output REPORT.json saves the machine-readable report

Short note

v0.1 is limited to the built-in CIPHER checks. Optional third-party compare engines are future work and are not required for this package.

Longer internal notes are preserved in README_ARCHIVE.md.

CLI UX

The command-line tool has a short banner on --help / -h and no noisy startup banner on successful scans. Example help output includes the package name, version, example commands, and a one-line fail-on explanation.

Local verification

Run these locally without uploading anything:

pip install -e .
cipher-scan --help
cipher-scan ./test/Cipher-demo-main --fail-on high

The demo path is useful for a quick smoke test because it includes intentionally vulnerable MCP sample code.

Download files

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

Source Distribution

cipher_mcp_scan-0.1.1.tar.gz (39.4 kB view details)

Uploaded Source

Built Distribution

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

cipher_mcp_scan-0.1.1-py3-none-any.whl (42.7 kB view details)

Uploaded Python 3

File details

Details for the file cipher_mcp_scan-0.1.1.tar.gz.

File metadata

  • Download URL: cipher_mcp_scan-0.1.1.tar.gz
  • Upload date:
  • Size: 39.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.3

File hashes

Hashes for cipher_mcp_scan-0.1.1.tar.gz
Algorithm Hash digest
SHA256 8fe130cbe00dfcfdffadd6ae041999f2d7c3cecab2a732de68448a91fef2afdb
MD5 1ecfb2134aa520d3279556ec062c054a
BLAKE2b-256 2274c456b04c14a0584bc9c92475aa24eedf18b2f65d7c71f56fe82912007081

See more details on using hashes here.

File details

Details for the file cipher_mcp_scan-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for cipher_mcp_scan-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b200aee2e4932b1381675db78562365697c3eb21e6ca270ee4232dc17398d7f4
MD5 a9f6e40b6dcb39d86559934baa4438d2
BLAKE2b-256 f15cc32a7d5e4b2c58db0ec403a82d99f220b5192a9ef184fbe54a39ae1bb0ba

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.2

2 files

This release

0.1.1 This release

2 files

0.1.0

2 files

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