Skip to content
MCP Server Directory logo
developer-tools

Argus

A Model Context Protocol (MCP) server for analyzing GitLab repositories and performing security assessments.

Reviewed overview

MCP 服务器概览

# 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

```bash brew install libmagic ```

Linux (Ubuntu/Debian)

```bash sudo apt-get update sudo apt-get install -y libmagic1 ```

Installation via uv

```bash uvx argus ```

Usage

Basic MCP Commands

```python

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

Language Tools Installation
Go gocyclo, golangci-lint `go install github.com/fzipp/gocyclo/cmd/gocyclo@latest`
Java PMD macOS: `brew install pmd`, Linux: Auto-installed
Python Pylint, Bandit Auto-installed via dependencies
JavaScript ESLint `npm 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