mcpField
A
Argus - Repository Analysis and Security Assessment Tool

Argus - Repository Analysis and Security Assessment Tool

ローカル
github.com/athapong開発ツール288 週間前に更新

Argus - Repository Analysis and Security Assessment Tool について

Argus は、複数のプログラミング言語で GitLab リポジトリ、コード品質、セキュリティを分析する MCP サーバーです。Git のブランチや履歴分析に、言語別チェックと Trivy スキャンを組み合わせます。

主な機能

  1. 01プログラミング言語の自動検出
  2. 02複数言語のコード品質チェック
  3. 03Trivy による脆弱性スキャン
  4. 04ブランチとコミット履歴の分析
  5. 05Git 差分の比較
  6. 06リポジトリ構造の分析

活用シーン

  1. 01GitLab リポジトリのコード品質確認
  2. 02リポジトリの脆弱性スキャン
  3. 03ブランチ間の変更比較
  4. 04リポジトリの履歴と構造の確認

MCP 対応

Argus は、リポジトリ分析、コード品質チェック、Git 操作、セキュリティスキャン機能を MCP クライアントに提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"argus": {
"command": "uvx",
"args": [
"git+https://github.com/athapong/argus"
]
}
}
}
起動コマンドuvx 'git+https://github.com/athapong/argus'

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypigit+https://github.com/athapong/argus

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Argus - リポジトリ分析およびセキュリティ評価ツール

複数のプログラミング言語を対象に、コードリポジトリの分析、セキュリティスキャンの実行、コード品質の評価を行う強力な Model Context Protocol(MCP)ツールです。

機能

  • 多言語サポート

    • Go:gocyclo、golangci-lint による分析
    • Java:PMD 静的分析
    • Python:Pylint、Bandit によるセキュリティチェック
    • JavaScript/TypeScript:ESLint による分析
    • 言語の自動検出
  • セキュリティスキャン

    • Trivy 脆弱性スキャナーを統合
    • 包括的なセキュリティレポート
    • 複数のブランチをサポート
  • Git 操作

    • ブランチの列挙と管理
    • コミット履歴の分析
    • 差分の比較
    • リポジトリ構造の可視化

インストール

前提条件
  • Python 3.8+
  • Git
  • libmagic(システム依存関係)
システム依存関係
macOS
brew install libmagic
Linux (Ubuntu/Debian)
sudo apt-get update
sudo apt-get install -y libmagic1
uv を使用したインストール
uvx argus

使用方法

基本的な MCP コマンド
# 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
}

サポートされている分析ツール

言語ツールインストール
Gogocyclo, golangci-lintgo install github.com/fzipp/gocyclo/cmd/gocyclo@latest
JavaPMDmacOS:brew install pmd、Linux:自動インストール
PythonPylint, Bandit依存関係を通じて自動インストール
JavaScriptESLintnpm install -g eslint

環境変数

  • SKIP_SYSTEM_CHECK:任意の値を設定すると、システム依存関係のチェックをスキップします
  • PATH:ツールのインストール時に自動更新されます

エラー処理

このツールは詳細なエラーメッセージを提供し、適切なフォールバック処理を行います。

  • 依存関係のインストールに失敗した場合、エラーではなく警告が表示されます
  • 自動検出に失敗した場合、指定された言語にフォールバックします
  • ツールの実行エラーはレスポンス構造に記録されます

ライセンス

MIT License

貢献

  1. リポジトリをフォークします
  2. 機能ブランチを作成します
  3. 変更をコミットします
  4. ブランチにプッシュします
  5. 新しい Pull Request を作成します

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。