Argus

by athapong

Integrations

  • Performs static code analysis for JavaScript/TypeScript projects to identify code quality issues

  • Enables branch enumeration, commit history analysis, diff comparisons, and repository structure visualization

  • Allows repository analysis and security scanning for GitHub repositories

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
-
security - not tested
A
license - permissive license
-
quality - not tested

local-only server

The server can only run on the client's local machine because it depends on local resources.

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

  1. Features
    1. Installation
      1. Prerequisites
      2. System Dependencies
      3. Installation via uv
    2. Usage
      1. Basic MCP Commands
    3. Supported Analysis Tools
      1. Environment Variables
        1. Error Handling
          1. License
            1. Contributing

              Related MCP Servers

              • -
                security
                A
                license
                -
                quality
                A Model Context Protocol server for Git repository interaction and automation. This server provides tools to read, search, and manipulate Git repositories via Large Language Models.
                Last updated -
                12
                43,949
                JavaScript
                MIT License
              • -
                security
                A
                license
                -
                quality
                A Model Context Protocol server that extracts and analyzes Python code structures, focusing on import/export relationships between files to help LLMs understand code context.
                Last updated -
                2
                Python
                MIT License
              • -
                security
                F
                license
                -
                quality
                A smart code retrieval tool based on Model Context Protocol that provides efficient and accurate code repository search capabilities for large language models.
                Last updated -
                Python
              • -
                security
                A
                license
                -
                quality
                A Model Context Protocol (MCP) server that helps large language models index, search, and analyze code repositories with minimal setup
                Last updated -
                9
                Python
                MIT License
                • Apple
                • Linux

              View all related MCP servers

              ID: emyammezhh