mcpField
R
Repocrunch

Repocrunch

ローカル
pypi.org開発ツール920 週間前に更新

Repocrunch について

Repocrunchは公開GitHubリポジトリを分析し、AIやLLMを使わずに決定論的な構造化JSONを返します。Pythonライブラリ、コマンドライン、REST API、MCPサーバーとして利用でき、リポジトリ調査やツール連携に向いています。

主な機能

  1. 01技術スタックと依存関係の検出
  2. 02アーキテクチャとリポジトリの健全性の概要
  3. 03セキュリティ関連シグナルの報告
  4. 04複数の言語エコシステムへの対応
  5. 05一貫した構造化JSONの出力
  6. 06ライブラリ、CLI、REST API、MCPインターフェースの提供

活用シーン

  1. 01リポジトリの技術構成と依存関係の確認
  2. 02保守状況の指標とセキュリティシグナルの評価
  3. 03分析結果の開発ツールへの連携

MCP 対応

RepocrunchはSTDIO経由のMCPサーバーとして動作し、MCPクライアントにリポジトリ分析を提供します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

RepoCrunch

PyPI Python License: MIT

あらゆる公開 GitHub リポジトリを構造化 JSON として分析します。AI も LLM も使わず、完全に決定論的です。

リポジトリを指定すると、技術スタック、依存関係、アーキテクチャ、健全性指標、セキュリティシグナルを、整然と一貫性のある JSON で取得できます。Python ライブラリ、CLI ツール、REST API、または MCP サーバーとして利用できます。

クイックスタート

Python 3.11 以降が必要です。

pip install repocrunch
repocrunch analyze fastapi/fastapi --pretty

以上です。uv でも利用できます。

uvx repocrunch analyze astral-sh/uv --pretty
ソースからインストール
git clone https://github.com/kimwwk/repocrunch.git
cd repocrunch
uv venv && uv pip install -e ".[all]"

必要なものだけをインストールします。

uv pip install -e "."          # Library only (httpx + pydantic)
uv pip install -e ".[cli]"     # + CLI
uv pip install -e ".[api]"     # + REST API
uv pip install -e ".[mcp]"     # + MCP server
uv pip install -e ".[all]"     # Everything
GitHub トークンを設定する(任意)

トークンがない場合、API 呼び出しは 1 時間あたり 60 回までです。トークンがある場合は 1 時間あたり 5,000 回まで利用できます。また、アクセス権のあるプライベートリポジトリも分析できます。

export GITHUB_TOKEN=ghp_...

使用方法

CLI
repocrunch analyze fastapi/fastapi --pretty          # Full analysis, pretty JSON
repocrunch analyze facebook/react -f tech_stack       # Single field
repocrunch analyze https://github.com/gin-gonic/gin   # Full URL works too
repocrunch serve                                       # Start REST API on :8000
repocrunch mcp                                         # Start MCP server (STDIO)
Python ライブラリ
from repocrunch import analyze, analyze_sync

# Async
result = await analyze("fastapi/fastapi")

# Sync
result = analyze_sync("pallets/flask")

print(result.summary.stars)
print(result.tech_stack.framework)
print(result.model_dump_json(indent=2))
REST API
repocrunch serve

# Then:
curl "http://localhost:8000/analyze?repo=fastapi/fastapi" | python -m json.tool
curl "http://localhost:8000/health"
curl "http://localhost:8000/docs"    # OpenAPI docs
MCP サーバー(Claude、Cursor など向け)
repocrunch mcp    # Starts STDIO transport

出力例

$ repocrunch analyze pallets/flask --pretty
{
  "schema_version": "1",
  "repo": "pallets/flask",
  "url": "https://github.com/pallets/flask",
  "analyzed_at": "2026-02-08T19:07:31Z",
  "summary": {
    "stars": 71143,
    "forks": 16697,
    "watchers": 2092,
    "last_commit": "2026-02-06T21:23:01Z",
    "age_days": 5787,
    "license": "BSD-3-Clause",
    "primary_language": "Python",
    "languages": { "Python": 99.9, "HTML": 0.1 }
  },
  "tech_stack": {
    "runtime": "Python",
    "framework": null,
    "package_manager": "pip",
    "dependencies": { "direct": 6, "dev": 0 },
    "key_deps": ["blinker", "click", "itsdangerous", "jinja2", "markupsafe", "werkzeug"]
  },
  "architecture": {
    "monorepo": false,
    "docker": false,
    "ci_cd": ["GitHub Actions"],
    "test_framework": "pytest",
    "has_tests": true
  },
  "health": {
    "open_issues": 2,
    "open_prs": 0,
    "contributors": 862,
    "commit_frequency": "daily",
    "maintenance_status": "actively_maintained"
  },
  "security": {
    "has_env_file": false,
    "dependabot_enabled": false,
    "branch_protection": false,
    "security_policy": false
  },
  "warnings": [
    "Branch protection status unknown (requires admin access or authenticated request)"
  ]
}

対応エコシステム

言語マニフェストファイルパッケージマネージャーの検出
JavaScript / TypeScriptpackage.jsonnpm、yarn、pnpm、bun(ロックファイルから検出)
Pythonpyproject.toml、requirements.txtpip、poetry、uv、pdm、pipenv
RustCargo.tomlcargo
Gogo.modgo
Java / Kotlinpom.xml、build.gradle、build.gradle.ktsmaven、gradle
RubyGemfilebundler
C / C++CMakeLists.txtcmake

対応するすべてのエコシステムで、40 種類以上のフレームワークを検出します(FastAPI、Django、React、Next.js、Spring Boot、Rails、Gin、Actix など)。

検出項目

カテゴリシグナル
概要スター数、フォーク数、ウォッチャー数、経過年数、ライセンス、言語
技術スタックランタイム、フレームワーク、パッケージマネージャー、直接依存関係/開発用依存関係の数、主要な依存関係
アーキテクチャモノレポ、Docker、CI/CD プラットフォーム、テストフレームワーク
健全性コミット頻度(毎日/毎週/毎月/散発的/非アクティブ)、メンテナンス状況、コントリビューター数、オープンイシュー数
セキュリティ.env ファイルのコミット状況、Dependabot の有効化、ブランチ保護、SECURITY.md の有無

ロードマップ

まだ実装されていませんが、以下を予定しています。

  • シークレットの正規表現スキャン — ファイルツリー内に漏洩した API キー、トークン、パスワードを検出
  • アーキテクチャ種別の分類 — ライブラリ、アプリケーション、フレームワークを分類
  • API レート制限 — REST API のキーごとのスロットリング
  • npm/npx パッケージ — npx repocrunch analyze owner/repo
  • 脆弱性スキャン — 依存関係に含まれる既知の CVE を検出
  • 比較モード — 複数のリポジトリを並べて分析
  • 履歴追跡 — リポジトリの健全性が時間とともにどう変化するかを追跡
  • プラットフォームへのデプロイ — Apify Store、Smithery、mcp.so、RapidAPI

すでにリリース済み:RepoCrunch は PyPI で公開されています — pip install repocrunch。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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