trackmcp
Back to directory

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

1 stars PythonAI & Machine Learning Updated Apr 1, 2025

Documentation

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

{

"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

}

code
## 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

Frequently asked questions

What is argus?

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

How do I install argus?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is argus open source?

Yes — it is hosted on GitHub at https://github.com/athapong/argus and has 1 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP