argus-codescan-mcp
Health Warn
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 8 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
Argus — open-source security scanner with many eyes. SAST, DAST, SCA, Secrets, IaC, Terraform, and Ansible scanning via CLI and MCP.
Argus
In Greek mythology, Argus Panoptes was the hundred-eyed giant — an all-seeing guardian who never slept.
One open-source scanner. Many eyes. SAST, SCA, secrets, IaC, Terraform, Ansible — CLI, MCP, and GitHub SARIF.
Argus orchestrates 20+ industry-standard tools (Semgrep, Trivy, Gitleaks, tfsec, Checkov, OWASP ZAP, and more) behind a single command and an MCP server for any MCP-compatible IDE or AI client. Runs locally. No Argus subscription. MIT licensed.
Install: pip install argus-scan · npm install -D argus-codescan · Docker · Launch kit
Why Argus?
| Run scanners yourself | Argus | |
|---|---|---|
| Setup | Install & configure each tool separately | One CLI / MCP config |
| Output | Different JSON/text per tool | Unified report + SARIF |
| CI | Wire scripts yourself | --format sarif, .argus.yml, baseline diff |
| AI (MCP IDE) | Manual copy-paste | MCP tools: scan_all, compare_scans, apply_fix |
| Cost | Free (DIY labor) | Free (MIT) — AI client optional |
| Fixes | You decide | Scan never auto-fixes; fix only when you ask |
Good for: solo devs, OSS maintainers, teams wanting DevSecOps without a proprietary scanner SaaS.
Not a replacement for: managed AppSec platforms with centralized policy, SOC, or compliance sign-off — Argus is a local orchestrator you own.
Two ways to use Argus
1 — Standalone CLI (no AI needed)
argus scan sast /my/project
argus scan terraform /my/infra
argus scan all /my/project --fail-on high
argus scan code /my/project --format sarif -o argus.sarif
argus scan ml /my/ml-app
argus compare baseline.json current.json --fail-on-new
argus tools
Works for anyone. Just install Argus and the open-source scanner tools.
2 — MCP server (AI-assisted, optional)
argus mcp # starts the MCP server
Connect Cursor, VS Code, Claude Desktop, JetBrains, Windsurf, or any MCP-compatible IDE and drive scans through natural language. The AI subscription is for the AI client — Argus itself is always free.
What Argus Scans
| Category | Tools |
|---|---|
| SAST | Semgrep · Bandit · ESLint-security · flake8-bandit |
| DAST | OWASP ZAP · Nikto |
| SCA | Trivy · Safety · pip-audit · npm audit |
| Secrets | Gitleaks · detect-secrets · TruffleHog |
| IaC | Checkov · Trivy config · Terrascan · KICS |
| Terraform | tfsec · tflint · terraform validate · KICS · Checkov |
| Ansible | ansible-lint · KICS · Checkov |
| Container | Trivy image scan |
| AI/ML | Built-in rules — unsafe model load, LLM API keys, prompt injection, Gradio share |
MCP Tools (for AI clients)
| Tool | What It Does |
|---|---|
scan_sast |
Static code analysis — all languages |
scan_dast |
Dynamic scan of a running web app |
scan_sca |
Vulnerable dependency detection |
scan_secrets |
Leaked API keys, tokens, passwords |
scan_iac |
Terraform, K8s, Dockerfile, Helm, Ansible misconfigs |
scan_terraform |
Deep Terraform scan (tfsec, tflint, validate, KICS) |
scan_ansible |
Ansible playbook & role security scan |
scan_ml |
AI/ML & LLM pipeline security (model load, API keys, prompts) |
scan_container |
Container image CVE scanning |
scan_all |
Everything, in parallel |
apply_fix |
Preview or apply a fix for one finding (user must ask — scans never auto-fix) |
compare_scans |
Diff baseline vs current scan JSON (new/fixed findings) |
get_scan_report |
Reformat a previous scan JSON as Markdown or SARIF |
check_tools |
List which scanners are installed |
Scans are read-only. Fixes run only when you ask — via apply_fix, VS Code Quick Fix, or your AI editing code from fix_guidance.
Fix on request
Argus never modifies your code during a scan. After results come back:
| How | AI token needed? |
|---|---|
| VS Code Quick Fix (lightbulb → Show fix guidance / Apply automated fix) | No |
MCP apply_fix with apply=true (ESLint / Semgrep autofix only) |
Only if AI calls it for you |
| AI edits code from finding guidance (secrets, CVEs, IaC, OWASP, etc.) | Yes (for the AI client) |
# CLI and MCP scans — detect only
argus scan all /path/to/project
# MCP: user asks AI to fix a specific finding
# → apply_fix { target, file, tool, apply: true }
Details: API Reference — apply_fix
SARIF, policy & baseline diff
Ship security findings to GitHub Code Scanning, enforce repo policy, and fail CI only on new findings.
SARIF export (GitHub Security tab)
# Export SARIF for GitHub Code Scanning
argus scan code . --format sarif -o argus.sarif --fail-on high
# MCP: scan_sast / scan_all with format: "sarif"
Upload in GitHub Actions (see .github/workflows/argus-sarif.yml):
- run: pip install argus-scan && argus scan code . --format sarif -o argus.sarif
- uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: argus.sarif
category: argus
.argus.yml policy file
Copy .argus.yml.example to .argus.yml in your repo root:
fail_on: high
exclude_paths:
- "tests/fixtures/**"
semgrep:
config: p/owasp-top-ten
suppressions:
- rule_id: bandit.B101
path: "tests/**"
reason: "asserts in tests"
expires: "2026-12-31"
Argus auto-discovers .argus.yml when scanning. Override with --policy path/to/.argus.yml.
Baseline diff (PR-only new findings)
# Save baseline from main
argus scan all . --format json -o baseline.json
# On PR — compare against baseline
argus scan all . --baseline baseline.json --format json -o current.json
argus compare baseline.json current.json --fail-on-new
# Or set in .argus.yml:
# baseline: .argus/baseline.json
# fail_on_new_only: true
Secret remediation guidance
Secret findings include step-by-step rotate/revoke guidance (AWS, GitHub tokens, private keys, Stripe, etc.):
argus scan secrets . --format json # fix_guidance on each finding
# MCP apply_fix for secrets returns remediation steps (no auto-fix)
Database security rules
Built-in static rules for SQL injection, connection strings, migration GRANTs, ORM raw queries:
argus scan code . # includes database.yaml rules via argus-languages
Full docs: docs/features-roadmap.md · API reference
Cloud dashboard upload (optional)
Send scan results to the Argus cloud dashboard when ARGUS_API_KEY is set. Local scans still work without any key.
export ARGUS_API_URL=http://localhost:4000/v1 # default
export ARGUS_API_KEY=arg_live_PASTE_YOUR_KEY
argus scan all /path/to/project # uploads automatically
argus scan sast . --upload --fail-on high # force upload
argus scan secrets . --no-upload # skip upload
MCP — add env to your IDE's MCP config (e.g. Cursor ~/.cursor/mcp.json, VS Code MCP settings, Claude Desktop config):
{
"mcpServers": {
"argus": {
"command": "argus",
"args": ["mcp"],
"env": {
"ARGUS_API_URL": "http://localhost:4000/v1",
"ARGUS_API_KEY": "arg_live_PASTE_YOUR_KEY"
}
}
}
}
Print the same template: argus mcp --config
After each MCP scan or CLI scan, results upload to {ARGUS_API_URL}/scans with repo/branch/commit from git. Full setup: docs/AGENT-UPLOAD.md
Install
Pick the package that matches your project:
| Your project | Install | Scan command |
|---|---|---|
| React / Next.js / Node | npm install -D argus-codescan |
npx argus-codescan scan all . |
| Java, PHP, Flutter, Terraform, Ansible | pip install argus-languages |
argus-languages scan /path/to/project |
| Full suite (MCP, DAST, IaC tools) | pip install argus-scan |
argus scan all /path/to/project |
React / Node (npm) — no Python required
npm install -D argus-codescan
npx argus-codescan scan sca . # dependencies (npm audit)
npx argus-codescan scan sast . # source code (JS/TS)
npx argus-codescan scan secrets . # API keys, tokens
npx argus-codescan scan all . # everything
# CSV report written automatically (or set path with --output)
npx argus-codescan scan all . --output ./reports/security.csv
Add to package.json:
{
"scripts": {
"security:scan": "argus-codescan scan sca . --output ./reports/deps.csv",
"security:code": "argus-codescan scan sast . --output ./reports/code.csv",
"security:secrets": "argus-codescan scan secrets . --output ./reports/secrets.csv",
"security:all": "argus-codescan scan all . --output ./reports/full.csv"
}
}
Java, PHP, Flutter, IaC (pip — lightweight)
pip install argus-languages
# Any supported language / IaC in one command
argus-languages scan /path/to/project
# Examples
argus-languages scan ./my-java-app
argus-languages scan ./terraform
argus-languages scan ./flutter-app
Full Argus CLI + MCP (pip)
pip install argus-scan
# With all Python-native scanners:
pip install "argus-scan[all-tools]"
argus scan code /path/to/project # built-in multi-language (uses argus-languages)
argus scan sast /path/to/project # + Semgrep, Bandit, ESLint if installed
argus scan terraform /path/to/infra
argus scan ansible /path/to/playbooks
argus scan all /path/to/project --fail-on high
argus scan all /path/to/project --upload # cloud dashboard (needs ARGUS_API_KEY)
argus scan all . --format sarif -o argus.sarif # GitHub Code Scanning export
argus compare baseline.json current.json # diff two scan JSON files
argus tools # show installed scanners
argus mcp # start MCP server for any MCP-compatible IDE
argus mcp --config # print MCP config with cloud env vars
Zero-install
uvx argus-scan # full Python CLI via uv
npx argus-codescan # Node/React via npm
Go (single binary)
go install github.com/argus-code-scanning/argus-codescan-mcp/packages/go/cmd/argus@latest
Shell script
curl -sSfL https://raw.githubusercontent.com/argus-code-scanning/argus-codescan-mcp/main/packages/shell/install.sh | sh
Docker (all scanners bundled)
docker pull ghcr.io/okirigabriel/argus-codescan-mcp:latest
# MCP server (add to ~/.cursor/mcp.json — see packages/docker/README.md)
docker run --rm -i -v "$(pwd):/workspace" ghcr.io/okirigabriel/argus-codescan-mcp
# One-shot CLI scan
docker run --rm -v "$(pwd):/workspace" ghcr.io/okirigabriel/argus-codescan-mcp \
scan all /workspace
Full Docker guide: packages/docker/README.md
VS Code Extension
Install Argus Security Scanner from the VS Code Marketplace.
Quick Start
React / Next.js
npm install -D argus-codescan
npm run security:all # after adding scripts — see Install section above
Flutter / Java / PHP / Terraform
pip install argus-languages
argus-languages scan /path/to/project
Full CLI (all scan types)
pip install "argus-scan[all-tools]"
argus tools
argus scan code /path/to/project
argus scan terraform /path/to/infra
argus scan all /path/to/project --format table
argus scan all /path/to/project --fail-on high
MCP (any MCP-compatible IDE)
Add to your MCP client config (e.g. Cursor ~/.cursor/mcp.json, VS Code MCP settings, Claude Desktop claude_desktop_config.json):
{
"mcpServers": {
"argus": {
"command": "argus",
"args": ["mcp"],
"env": {
"ARGUS_API_URL": "http://localhost:4000/v1",
"ARGUS_API_KEY": "arg_live_PASTE_YOUR_KEY"
}
}
}
}
Omit the env block if you only want local scans (no cloud upload). Or zero-install with uvx:
{
"mcpServers": {
"argus": { "command": "uvx", "args": ["argus-scan", "mcp"] }
}
}
Then ask your AI:
Scan /path/to/myproject for security vulnerabilities
Are there any hardcoded secrets in this repo?
Fix the high-severity finding in src/api.js line 42
Run a full security audit and give me a prioritised fix list
Install Scanners
Run argus tools to see what's installed. Quick install for common tools:
# macOS
brew install semgrep trivy gitleaks trufflehog tfsec tflint kics
pip install bandit safety pip-audit detect-secrets checkov ansible-lint
docker pull ghcr.io/zaproxy/zaproxy:stable # OWASP ZAP
# Linux
pip install "argus-scan[all-tools]"
curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh
Full guide: docs/tool-setup.md
Do I Need a Token or Subscription?
No Argus subscription for local scanning. Every scanner runs on your machine:
| Layer | Cost | Requires |
|---|---|---|
| Argus CLI & MCP | Free | Python 3.10+ |
| Semgrep, Trivy, Bandit, tfsec… | Free | Local install |
| Cloud dashboard upload | Optional | ARGUS_API_KEY from your dashboard |
| AI client (Cursor, Claude) | Subscription | Only for chat-driven scans and fixes |
The AI subscription is for the AI client, not for Argus. Cloud upload uses your Argus API key (arg_live_…), not your Cursor/Claude token.
Repository Structure
argus-codescan-mcp/
├── packages/
│ ├── python/ pip install argus-scan
│ │ └── src/argus/
│ │ ├── cli.py Standalone CLI
│ │ ├── server.py MCP server
│ │ ├── cloud_upload.py Optional dashboard upload
│ │ └── tools/ SAST, DAST, SCA, secrets, IaC, …
│ ├── languages/ pip install argus-languages ← Java, PHP, Terraform, Ansible, all code
│ │ └── src/argus_languages/
│ │ └── bundled_rules/ YAML rules shared across Python (and future Go client)
│ ├── npm/ npx argus-codescan (Node.js / JS-TS only)
│ ├── go/ go install .../argus@latest
│ ├── shell/ curl | sh installer
│ └── docker/ ghcr.io/okiriGabriel/argus-codescan-mcp
├── extensions/
│ └── vscode/ Argus Security Scanner VS Code extension
├── docs/
│ ├── getting-started.md
│ ├── architecture.md
│ ├── api-reference.md
│ ├── AGENT-UPLOAD.md
│ └── tool-setup.md
└── .github/
├── workflows/ CI for Python, npm, Go, VS Code, Docker
└── ISSUE_TEMPLATE/
Documentation
| Doc | Description |
|---|---|
| Getting Started | Install, configure, first scan |
| Architecture | How Argus works under the hood |
| API Reference | All MCP tools, parameters, schemas |
| Agent Upload | Cloud dashboard upload & API keys |
| Tool Setup | Install every scanner on every platform |
| Contributing | Add scanners, clients, and fixes |
| Security Policy | Report vulnerabilities |
Contributing
All contributions welcome — new scanners, new language clients, bug fixes, docs.
See CONTRIBUTING.md.
License
MIT — see LICENSE
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found