Repocrunch について
Repocrunchは公開GitHubリポジトリを分析し、AIやLLMを使わずに決定論的な構造化JSONを返します。Pythonライブラリ、コマンドライン、REST API、MCPサーバーとして利用でき、リポジトリ調査やツール連携に向いています。
主な機能
- 01技術スタックと依存関係の検出
- 02アーキテクチャとリポジトリの健全性の概要
- 03セキュリティ関連シグナルの報告
- 04複数の言語エコシステムへの対応
- 05一貫した構造化JSONの出力
- 06ライブラリ、CLI、REST API、MCPインターフェースの提供
活用シーン
- 01リポジトリの技術構成と依存関係の確認
- 02保守状況の指標とセキュリティシグナルの評価
- 03分析結果の開発ツールへの連携
MCP 対応
RepocrunchはSTDIO経由のMCPサーバーとして動作し、MCPクライアントにリポジトリ分析を提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
RepoCrunch
あらゆる公開 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 / TypeScript | package.json | npm、yarn、pnpm、bun(ロックファイルから検出) |
| Python | pyproject.toml、requirements.txt | pip、poetry、uv、pdm、pipenv |
| Rust | Cargo.toml | cargo |
| Go | go.mod | go |
| Java / Kotlin | pom.xml、build.gradle、build.gradle.kts | maven、gradle |
| Ruby | Gemfile | bundler |
| C / C++ | CMakeLists.txt | cmake |
対応するすべてのエコシステムで、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
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。