mcpField
G
Githits

Githits

リモート
githits.com開発ツール1201 日前に更新
リポジトリ公式サイト

Githits について

GitHitsは、公開コードやドキュメント、パッケージ情報を調べるための、コーディングエージェント向けオープンソースMCPコンテキスト層です。ローカルCLIサーバーからソース閲覧、パッケージの健全性確認、アップグレード比較、出典付き調査を利用できます。

主な機能

  1. 01コード・ドキュメント・シンボル検索
  2. 02ソースファイルとドキュメントの閲覧
  3. 03出典付きオープンソース事例の検索
  4. 04パッケージ情報・脆弱性・依存関係の確認
  5. 05バージョン差分とアップグレードの比較
  6. 06ターゲット解決と出典付き調査

活用シーン

  1. 01オープンソースの実装例を探す
  2. 02サードパーティ依存のスタックトレースを調査する
  3. 03コード変更前に依存の実際の動作を確かめる
  4. 04脆弱性や変更履歴を根拠にアップグレードを評価する

MCP 対応

CLIはコーディングツールから必要時に起動できるローカルstdio MCPサーバーを提供します。Cursorの直接設定ではホスト型リモートMCPを使い、コードやドキュメントの検索、パッケージ調査、差分、調査ツールを公開します。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://mcp.githits.com
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

パッケージ
npmgithits0.36.1

ツール

15
パラメーター型必須説明
querystringはい標準的なコード例を検索するための自然言語クエリです。
languagestringいいえ省略可能なプログラミング言語です。省略すると、GitHits が自動的に推定します。特定の言語を指定する必要があり、その正確な名称が不明な場合に限り、先に search_language を使用してください。
license_modeenumいいえライセンスのフィルターモード:strict(デフォルト)、yolo、または custom。strict | yolo | custom
formatenumいいえ応答形式です。デフォルトの `text-v1` は Markdown を直接返します。利用可能な場合はソースリポジトリの出典情報が含まれ、末尾に `solution_id` の行が付きます。`format: "json"` を渡すと `{result, solution_id?}` が返されます。text-v1 | text | json

詳細

GitHits

GitHits CLI

エージェントとオープンソースエコシステムをつなぐインフラストラクチャ層です。

GitHits インデックスのステータス

npm のバージョン npm のダウンロード数 メイン ライセンス:Apache-2.0 Node MCP skills.sh githits-cli MCP サーバー MCP バッジ

ウェブサイト · ドキュメント · 問題

GitHits は、ソフトウェア開発ライフサイクル全体にわたる公開オープンソースのエビデンスを通じて、AI コーディングエージェントをつなぎます。対象となるのは、発見、計画、調査、実装、デバッグ、保守です。

CLI は、コーディングツールが必要に応じて起動するローカルのMCP サーバーを実行します。エージェントは、インデックス化されたパッケージやリポジトリのソースを検索し、正確なファイルやドキュメントページを読み、パッケージの健全性を調べ、依存関係のアップグレードを比較できます。また、モデルの知識やローカルリポジトリのコンテキストだけでは不十分な場合に、実際のオープンソースプロジェクトから出典付きの例を見つけられます。

エージェントハーネスやソフトウェアファクトリーの一部として GitHits を使いたい場合は、公開 API ドキュメントをご覧ください。

クイックスタート

npx githits@latest init

init はサインインを行い、対応するコーディングツールを検出し、選択したツール向けに GitHits を設定します。Cursor は直接設定でホスト型のリモート MCP を使用しますが、それ以外ではローカルの stdio MCP を使用します。

現在、自動設定に対応しているのは、Claude Code、Cursor、Windsurf、VS Code / Copilot、Cline、Claude Desktop、Codex CLI、Pi、Gemini CLI、Google Antigravity、OpenCode、Hermes Agent、Zed、Junie、Qwen Code、Kiro、Kilo Code、Factory Droid、Amazon Q CLI です。

設定後、コーディングエージェントを開き、通常どおり作業してください。多くのエージェントは、ソースに基づくコンテキストが必要になると GitHits を呼び出します。エージェントが推測を始めたら、次のように直接プロンプトを入力してください。

Use GitHits Code Navigation to inspect npm:express. Find how middleware
errors are handled, read the relevant source, and explain the fix before
editing code.

GitHits が追加する機能

GitHits は、エージェントがモデルの記憶やローカルリポジトリのコンテキストだけでなく、より広範なオープンソースエコシステムから根拠を得る必要がある場面を想定して設計されています。

機能MCP ツールCLI コマンド
ツールの使い方quick_start—
コード例get_examplegithits example
インベントリの閲覧listgithits list
コードとドキュメントの検索search、search_status、grepgithits search、githits search-status、githits grep
ソースファイルやドキュメントのセクションを読むreadgithits read <target> [path]
パッケージの調査pkg_info、pkg_vulns、pkg_deps、pkg_changelog、pkg_upgrade_reviewgithits pkg ...

エージェントが次のことを行う必要がある場合は、GitHits を使用してください。

  • 漠然とした問題や見慣れないエラーに OSS プロジェクトがどう対処しているかを見つけ、計画を立て、調査する
  • リポジトリ全体から、幅広い先行事例や、見つけにくい稀な例を探す
  • 既知のパッケージやリポジトリのソース、テスト、シンボル、ドキュメントを調べる
  • コードを変更する前に、依存関係が実際にどう動作するかを確認する
  • サードパーティコードを指すスタックトレースをデバッグする
  • パッケージの健全性、ライセンス、脆弱性、依存関係、変更履歴を確認する
  • 事実に基づく根拠を使って依存関係のアップグレードを比較する

例

オープンソース全体から先行事例を探す:

npx githits@latest example "HTTP retries with exponential backoff in Python"

依存関係について、インデックス化されたコード、ドキュメント、シンボルを検索する:

npx githits@latest search "router middleware" --in npm:express
npx githits@latest search '"body parser" OR multer' --in npm:express --source docs
npx githits@latest search "debounce" --in npm:lodash --source symbol

クローンせずに依存関係のソースを読み、grep する:

npx githits@latest code files npm:express lib
npx githits@latest code read npm:express lib/router/index.js --lines 120-200
npx githits@latest grep 'router\.use' npm:express --path-prefix lib/

パッケージの健全性とアップグレードの根拠を調べる:

npx githits@latest pkg info npm:express
npx githits@latest pkg vulns npm:[email protected] --severity high
npx githits@latest pkg deps npm:[email protected] --depth 2
npx githits@latest pkg changelog npm:express --from 4.18.2 --to 5.2.1
npx githits@latest pkg upgrade-review npm:[email protected] --to 4.4.3

パッケージのドキュメントを閲覧して読む:

npx githits@latest docs list npm:express
npx githits@latest docs read <docs-read-target> --lines 20-80

ソースの差分

githits code diff と公開 MCP の code_diff ツールは、デフォルトで利用できます。 次のように、パッケージの正確なバージョンや公開リポジトリの参照先を比較できます。

githits code diff npm:express 5.2.0..5.2.1 --stat
githits code diff npm:express 5.2.0..5.2.1 --patch -- 'lib/**/*.js'

パッケージの差分は、明示的なパスのグロブで絞り込まない限り、リポジトリ全体が対象です。 生の差分だけでは、アップグレードの安全性を証明できません。制限、パッチの安全性、対応する指定方法については、ソースの差分を参照してください。ホスト型 MCP で利用するには、リリース済みの @githits/mcp パッケージを採用してデプロイする必要があります。

ターゲットの解決

resolve_target / githits resolve は、曖昧な名前、スペルミスのある名前、または複数の解釈が可能な公開パッケージ、リポジトリ、ドキュメントサイトの名前を、候補の順位付けを行って正規のターゲットに変換します。CLI、ローカル MCP、公開 MCP パッケージでデフォルトで利用できます。 正規のターゲットでは解決処理が省略されます。対象の特定が不確かな場合は、明示的な選択が必要です。継続時のルールと制限については、ターゲットの解決を参照してください。ホスト型 MCP とプラグインで利用するには、リリース済みのパッケージを採用してデプロイする必要があります。

調査

research / githits research は、公開パッケージまたはリポジトリについての質問に、出典を示した検証済みの回答を返します。CLI、ローカル MCP、公開 MCP パッケージでデフォルトで利用できます。

githits research "How does FastAPI dependency injection resolve nested dependencies?"
githits research npm:express "Where is router dispatch implemented?"
githits research --thread <thread-id> "How does that interact with route parameters?"

ターゲットを省略すると、GitHits が質問から特定します。フォローアップには、返されたスレッド ID を再利用してください。回答には通常、30 秒から数分かかります。 質問は GitHits に送信されるため、認証情報、個人データ、非公開コードは絶対に含めないでください。調査では、レート制限または日次上限のエラーが返される場合があります。メッセージには再試行できる時刻が示され、日次上限は 00:00 UTC にリセットされます。出典、スレッド、制限については、調査を参照してください。 ホスト型 MCP とプラグインで利用するには、リリース済みのパッケージを採用してデプロイする必要があります。

対応するソース

GitHits は、次のようなパッケージおよびリポジトリのターゲットに対応しています。

  • パッケージ指定:npm:react、npm:[email protected]、pypi:requests、crates:serde
  • GitHub リポジトリ:https://github.com/expressjs/express、github:expressjs/express@main

パッケージの調査は、npm、PyPI、Hex、Crates、NuGet、Maven、Packagist、RubyGems、Go、Swift、vcpkg、Zig に対応しています。vcpkg と Zig ではアドバイザリーデータを利用できません。依存関係グラフへの対応状況はレジストリによって異なります。cargo: は crates:(公開 crates.io)の入力エイリアスです。正規のレジストリ識別子は引き続き crates です。

ライセンスフィルタリング

コード例の検索では、ライセンスでフィルタリングできます。

  • strict がデフォルトで、コピーレフトまたは未宣言のライセンスを持つリポジトリを除外します
  • custom は、githits.comで設定したアカウントのブロックリストを使用します
  • yolo はライセンスフィルタリングを無効にします
npx githits@latest example "async file reading" --lang python --license strict

認証

通常のローカルセットアップは、次のコマンドで行います。

npx githits@latest init

手動でログインする場合:

npx githits@latest login

ローカル開発にはブラウザー OAuth をおすすめします。認証情報はデフォルトでシステムのキーチェーンに保存され、自動的に更新されます。便利なフラグは次のとおりです。

  • init --no-browser または login --no-browser を指定すると、ブラウザーを起動せずにログイン URL を表示します
  • init --port <port> または login --port <port> を指定すると、ループバックコールバックのポートを固定します
  • login --force を指定すると、すでにログインしている場合でも再認証します

OAuth コールバックは、常に GitHits が実行されているマシンで待ち受けます。 GitHits を SSH 経由で実行し、ブラウザーをローカルで実行する場合は、ブラウザーを実行しているマシンから選択したポートを転送してください。

ssh -N -L 8765:127.0.0.1:8765 user@remote-host

このトンネルを開いた状態で、同じポートを使用してリモートマシン上で GitHits を実行します。

npx githits@latest init --no-browser --port 8765

GitHits が表示した URL をローカルブラウザーで開きます。user@remote-host は、通常使用する SSH 接続先に置き換えてください。セットアップ後は、同じフラグを githits login でも使用できます。

ブラウザー OAuth は対話的な操作が必要です。CI やその他の無人環境では、環境のシークレットマネージャーを通じて GITHITS_API_TOKEN を指定してください。

キーチェーンのプロンプトとファイルストレージ

OAuth 認証情報にはリフレッシュトークンが含まれるため、GitHits はデフォルトでシステムのキーチェーンを使用します。macOS では Keychain Access、Windows では Credential Manager、Linux では利用可能な Secret Service またはキーリングバックエンドを使用します。

macOS に「githits wants to access ... in your keychain」のようなプロンプトが表示された場合、インストール済みの githits CLI を信頼できるときは、常に許可を選択してください。GitHits はこのオペレーティングシステムのプロンプトをカスタマイズできません。これは macOS によって生成されます。

GitHits は、最近の起動時チェックでキーチェーンを読み取らずに済むよう、秘密情報を含まない小さなメタデータファイルも書き込みます。キーチェーンが読み取られるのは、ツール呼び出し、トークンの更新、githits auth status の実行、またはメタデータが古いか期限切れの場合のログイン確認など、GitHits がトークンを必要とするときだけです。

常に許可を選択した後もエージェントにキーチェーンのプロンプトが表示され続ける場合は、OAuth の保存先をファイルモードに切り替えてください。

# macOS/Linux: ~/.config/githits/config.toml, or $XDG_CONFIG_HOME/githits/config.toml
# Windows: %APPDATA%\githits\config.toml
[auth]
storage = "file"

設定ディレクトリは、config.toml を作成するか GitHits が認証メタデータを書き込むまで空の場合があります。古い macOS インストールでは ~/Library/Application Support/githits が使われていたことがあります。GitHits は移行のために引き続きこの場所を読み取りますが、新しい認証設定とファイルストレージには ~/.config/githits が使われます。

プロセスごとに有効にすることもできます。

GITHITS_AUTH_STORAGE=file githits login --force

ファイルモードでは、OAuth 認証情報が GitHits の設定ディレクトリ内に JSON ファイルとして保存されます。プラットフォームが対応している場合、ファイルには制限付きのアクセス許可が設定されますが、暗号化はされません。オペレーティングシステム上であなたのユーザーとしてファイルを読み取れるプロセスは、トークンも読み取れる可能性があります。

ファイルモードは、ローカルのユーザーアカウントによるアクセスを信頼できるマシンでのみ使用してください。CI や自動化では、ブラウザー OAuth の代わりに GITHITS_API_TOKEN を使用することをおすすめします。

次のコマンドで認証と実行時の状態を確認できます。

npx githits@latest auth status
npx githits@latest doctor

キーチェーンの動作、ファイルストレージモード、CI のセットアップ、トラブルシューティングについては、認証に関するドキュメントをご覧ください。

MCP の手動セットアップ

init による自動設定に対応していないコーディングツールを使用している場合は、GitHits をその MCP 設定に手動で追加してください。

{
  "mcpServers": {
    "githits": {
      "command": "npx",
      "args": ["-y", "githits@latest", "mcp", "start"]
    }
  }
}

ツールはこのコマンドを stdio 経由で実行します。バックグラウンドデーモンやグローバルインストールは必要ありません。

init が書き込んだ設定を削除するには、次のコマンドを実行します。

npx githits@latest uninstall

これにより、init が書き込んだ GitHits の MCP 設定とガイダンスが削除されますが、保存済みの認証情報は保持されます。認証情報を削除するには、別途 npx githits@latest logout を実行してください。互換性のための形式である npx githits@latest init uninstall でも、同じ --yes、--project、--keep-guidance オプションを使用できます。

プロジェクトのセットアップ

プロジェクトローカルの MCP 設定を行うには、次を実行します。

npx githits@latest init --project

プロジェクトのセットアップは、プロジェクトローカルの MCP に対応していることが確認済みのツールでのみ利用できます。プロジェクト設定にシークレットは含まれませんが、ほかのツール設定と同様にコミットされる可能性があるため、生成されたファイルをソース管理に追加する前に確認してください。

エージェントに適した非対話型のセットアップでは、段階的な検出と明示的なインストールを使用します。

npx githits@latest init --detect-agents --json
npx githits@latest init --install-agents cursor,codex-cli

プラグインと拡張機能のパッケージ化

このリポジトリと公開パッケージには、互換性のあるホストで使用されるプラグインおよび拡張機能のアセットが含まれています。Git ベースのインストールでは、正規の AGENTS.md を参照するコンテキストファイルのシンボリックリンク(CLAUDE.md と GEMINI.md)も維持されます。

  • .plugin/plugin.json
  • .claude-plugin/plugin.json
  • .claude-plugin/marketplace.json
  • .codex-plugin/plugin.json
  • .cursor-plugin/plugin.json
  • .mcp.json
  • gemini-extension.json
  • plugin.json(Google Antigravity)
  • mcp_config.json(Google Antigravity)
  • AGENTS.md
  • CLAUDE.md
  • GEMINI.md
  • skills/

ルートのスキルツリーは、サポートされているすべてのホストで共有されます。すべてのプラグインおよび拡張機能のインストールでは、Claude、Codex、Cursor、Gemini CLI、Google Antigravity、VS Code/GitHub Copilot OpenPlugin を含め、ホストされたリモート MCP を使用します。githits init による直接セットアップは別の経路で、Cursor はリモート専用のまま、それ以外のサポート対象ツールにはローカルの stdio 設定をインストールします。リポジトリのルートは、plugin.json、mcp_config.json、共有の skills/ ツリーを通じて、ネイティブの Antigravity プラグインとして機能します。生成されたマニフェストは bun run plugins:generate で更新し、bun run plugins:check で検証します。

ガイド付きの init では、選択したエージェントにのみ、正規の 4 つのスキル(githits-code、githits-mcp、githits-onboarding、githits-package)をインストールします。共有スキルに対応するエージェントでは、ユーザースコープに ~/.agents/skills/、プロジェクトスコープに .agents/skills/ を使用します。ネイティブ専用のエージェントでは、対応が確認済みのネイティブスキルディレクトリを使用します。共有ルートを読み取る互換性のあるエージェントは、これらのスキルを検出できます。後続のガイド付き実行では不足しているスキルを修復し、移行時には共有スキル一式がすべて検証された後に限り、以前の Cline または Junie の githits-mcp/SKILL.md のみを削除します。

Claude Code のマーケットプレイスからインストールする場合:

claude plugin marketplace add githits-com/githits-cli
claude plugin install githits@githits-plugins

Gemini CLI 拡張機能をインストールする場合:

gemini extensions install https://github.com/githits-com/githits-cli

コマンドリファレンス

githits init             Connect GitHits to your coding agents
githits uninstall        Remove GitHits MCP configuration and guidance
githits init uninstall   Compatibility alias for `githits uninstall`
githits login            Sign in to your GitHits account
githits logout           Remove stored credentials
githits mcp              Show setup instructions or start the local MCP server
githits mcp start        Always start the local MCP server over stdio
githits example          Find real-world implementations from open source
githits doctor           Diagnose configuration and auth state
githits resolve          Resolve a fuzzy name to canonical targets
githits settings         View and update preferences, privacy, and terms
githits search           Explore repository code, dependencies, docs, and symbols
githits search-status    Check the status of a previous indexed search
githits code             List, read, grep, or diff source
githits pkg              Inspect package metadata, vulnerabilities, deps, and changelogs
githits docs             Browse and read package documentation
githits auth             Manage authentication
githits auth status      Show authentication status

CLI の完全なリファレンス:https://docs.githits.com/cli/commands

環境変数

ほとんどのユーザーは環境変数を必要としません。以下は、CI、認証情報の保存、ローカル診断でよく使用される上書き設定です。

変数用途デフォルト
GITHITS_API_TOKEN認証用の API トークン未設定
GITHITS_AUTH_STORAGEOAuth の保存モードを上書きします:keychain または filekeychain
GITHITS_DISABLE_UPDATE_CHECKnpm の最新バージョンに関する更新通知を無効にします未設定
GITHITS_TELEMETRYローカルのタイミング診断情報を stderr に出力します未設定

完全なリファレンス:https://docs.githits.com/cli/environment-variables

ソースの構成

このリポジトリには、GitHits CLI と再利用可能な MCP パッケージが含まれています。

  • src/ - CLI コマンド、ローカル認証、セットアップフロー、ローカル MCP の stdio 起動
  • packages/mcp/ - トランスポートに依存しない MCP サーバー API、ツール登録、指示、スモークテスト用ヘルパーを提供する公開パッケージ @githits/mcp
  • packages/core-internal/ - CLI と MCP パッケージで使用される共有ワークスペース実装
  • docs/ - 実装メモとコントリビューター向けガイドライン
  • scripts/ - パッケージ検証、スモークテスト、開発ユーティリティ

リリース済みの変更、保留中の作業、現在のパッケージバージョンへの影響については、CHANGELOG.md を参照してください。

開発

要件:

  • Node.js ^20.18.1 || >=22.13.0
  • Bun
  • 依存関係アップグレードスコアラーのテストには Python 3.11 以降(Windows では python、それ以外では python3)

主なコマンド:

bun install
bun run dev --help
bun test
bun run typecheck
bun run build

MCP ツール、CLI コマンド、共有フォーマッター、認証/エラーエンベロープ、または MCP/CLI の同等性に関する動作を変更した場合は、関連するスモークテストスイートも実行してください:

bun run smoke:mcp
bun run smoke:cli

CI では、認証情報や稼働中のバックエンド呼び出しを使わずに、ビルド済みの製品もチェックします。bun run build の後、同じチェックをローカルでも実行してください:

bun run smoke:cli:built
bun run smoke:mcp:built

ハーネスは引き続き Bun 上で動作し、製品のサブプロセスは PATH にある node を使って dist/cli.js を実行します。CI では .node-version からそのランタイムを用意します。

シークレットスキャンには、バージョン 8.30.1 の gitleaks OSS CLI を使用します。pre-commit フックは、ステージされた変更に対して bun run check:gitleaks を実行します。ローカルで全履歴をスキャンするには、次を実行してください:

gitleaks git --redact --no-banner --no-color .

gitleaks のリリースから 8.30.1 のバイナリをインストールし、PATH に追加してください。CI の実行スケジュール、抑制の順序、npm パッケージの境界については、シークレットスキャンを参照してください。

MCP の指示、ツールの説明、またはエージェント向けの動作を変更する場合は、eval/agentic/README.md に記載されている、対象を絞ったエージェント評価を使用してください:

bun run agent:e2e

ライセンス

Apache-2.0

コメント

MCP は初めてですか?

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

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