mcpField
A
Argus - Repository Analysis and Security Assessment Tool

Argus - Repository Analysis and Security Assessment Tool

Local
github.com/athapongDeveloper Tools2Updated 88w ago

About Argus - Repository Analysis and Security Assessment Tool

Argus is an MCP server for analyzing GitLab repositories, code quality, and security across several programming languages. It combines Git history and branch analysis with language-specific checks and Trivy scanning.

Key features

  1. 01Automatic language detection
  2. 02Multi-language code quality checks
  3. 03Trivy vulnerability scans
  4. 04Branch and commit history analysis
  5. 05Git diff comparisons
  6. 06Repository structure analysis

Use cases

  1. 01Reviewing code quality in a GitLab repository
  2. 02Scanning a repository for vulnerabilities
  3. 03Comparing changes across branches
  4. 04Inspecting repository history and structure

MCP support

Argus exposes repository analysis, code quality, Git operations, and security scanning capabilities to MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"argus": {
"command": "uvx",
"args": [
"git+https://github.com/athapong/argus"
]
}
}
}
Run commanduvx 'git+https://github.com/athapong/argus'

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
pypigit+https://github.com/athapong/argus

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Argus - Repository Analysis and Security Assessment Tool

A powerful Model Context Protocol (MCP) tool for analyzing code repositories, performing security scans, and assessing code quality across multiple programming languages.

Features

  • Multi-Language Support

    • Go: gocyclo, golangci-lint analysis
    • Java: PMD static analysis
    • Python: Pylint, Bandit security checks
    • JavaScript/TypeScript: ESLint analysis
    • Automatic language detection
  • Security Scanning

    • Integrated Trivy vulnerability scanner
    • Comprehensive security reports
    • Support for multiple branches
  • Git Operations

    • Branch enumeration and management
    • Commit history analysis
    • Diff comparisons
    • Repository structure visualization

Installation

Prerequisites
  • Python 3.8+
  • Git
  • libmagic (system dependency)
System Dependencies
macOS
brew install libmagic
Linux (Ubuntu/Debian)
sudo apt-get update
sudo apt-get install -y libmagic1
Installation via uv
uvx argus

Usage

Basic MCP Commands
# Analyze repository structure
analyze_repository_structure(
    repo_url="https://gitlab.com/user/repo",
    gitlab_credentials={"api_key": "your-token"},  # Optional
    branch="main"  # Optional
)

# Perform code quality analysis
analyze_code_quality(
    repo_url="https://gitlab.com/user/repo",
    language="python"  # Optional, will auto-detect if not specified
)

# Security scan
security_scan_repository(
    repo_url="https://gitlab.com/user/repo",
    scan_type="trivy"
)

# Compare changes
compare_git_changes(
    repo_url="https://gitlab.com/user/repo",
    source="feature-branch",
    target="main"
)

# Security scan repository
security_scan_repository(
    repo_url="https://gitlab.com/user/repo",
    scan_type="trivy"
)

### MCP Configuration

```json
{
    "command": "uvx",
    "args": [
        "--from",
        "git+https://github.com/athapong/argus",
        "argus"
    ],
    "alwaysAllow": [
        "get_commit_history",
        "enumerate_branches",
        "compare_git_changes",
        "analyze_code_quality",
        "security_scan_repository"  
    ],
    "timeout": 300
}

Supported Analysis Tools

LanguageToolsInstallation
Gogocyclo, golangci-lintgo install github.com/fzipp/gocyclo/cmd/gocyclo@latest
JavaPMDmacOS: brew install pmd, Linux: Auto-installed
PythonPylint, BanditAuto-installed via dependencies
JavaScriptESLintnpm install -g eslint

Environment Variables

  • SKIP_SYSTEM_CHECK: Set to any value to skip system dependency checks
  • PATH: Automatically updated for tool installations

Error Handling

The tool provides detailed error messages and graceful fallbacks:

  • Dependency installation failures show warnings instead of errors
  • Language detection falls back to specified language if auto-detection fails
  • Tool execution errors are captured in the response structure

License

MIT License

Contributing

  1. Fork the repository
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a new Pull Request

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.