git-for-me について
git-for-meは、コーディングエージェント向けのMCPサーバー兼Agent Skillです。プロジェクトに使えるオープンソースのリポジトリを検索し、利用・改変・構築・自作に分類します。GitHub、GitLab、Codebergを検索し、候補をライブ確認してライセンスや保守状況の注意点も示します。
主な機能
- 01GitHub、GitLab、Codebergの検索
- 02技術スタック、実行環境、ライセンス、保守状況の確認
- 03プロジェクト要件のコンポーネント分割
- 04結果をUSE、ADAPT、BUILD、WRITEに分類
- 05リポジトリのライブ確認とリスク表示
活用シーン
- 01開発予定のアプリ向けライブラリ探し
- 02依存関係を選ぶ前のライセンス確認
- 03独自コードが必要な箇所の特定
MCP 対応
stdio MCPサーバーはgit_for_me、git_for_me_search、git_for_me_verifyの3つのツールを提供します。MCPクライアントから利用でき、Agent Skillとしても提供されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
3掲載時のツール一覧 · 5 日前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| need | string | はい | 何を構築したいかを平易な言葉で説明してください。入力、期待する出力、用途を含めてください |
| stack | string | いいえ | 何で記述するか。例:"TypeScript on Node" または "Python 3.12" |
| upkeep | string | いいえ | どの程度のコードを自分で保守する意思があるか。例:"needs to stay maintained" または "happy to own a fork" |
| license | string | いいえ | 成果物の利用条件。例:"commercial, closed source" または "open source" |
| platform | string | いいえ | どこで実行するか。例:"a web app"、"a CLI"、"a server" |
詳細
Git for Me!
おそらく、作りたいもののほとんどはすでにオープンソースで公開されています。作ろうとしているものを AI エージェントに伝えれば、見つけてくれます。そのまま使えるリポジトリ、手を加えて使うリポジトリ、そして自分で書く必要があるものを教えてくれます。名前が挙がるリポジトリはすべて実在し、利用可能なライセンスが付いているか、注意事項が示されており、最新の状態が確認されています。
GitHub、GitLab、Codeberg を検索します。Claude Code、Codex、 Copilot、Cursor、Gemini CLI、Cline、Devin、Open WebUI など、あらゆる MCP クライアントで使えるほか、エージェントスキルとしても利用できます。
姉妹プロジェクトのWhere My Hug At?は、Hugging Face のモデルについて同じことを行います。
目次
- 試してみる
- 仕組み:4つの質問 · 作業単位への分割 · 検索 · 判定 · 最新情報の確認 · 注意事項
- 例:PDF 請求書
- インストール(すべてのエージェント向けの手順:USAGE.md)
- マシンの外部に送信される情報 · 制限事項 · セキュリティ
- 開発 · ライセンス
試してみる
エージェントに追加します(ここでは Claude Code を使います。その他すべての方法は下記を参照してください)。
claude mcp add --scope user git-for-me -- npx -y git-for-me
次に、こう尋ねてください。
Git に探してもらう:PDF 請求書から表を抽出してスプレッドシートにする CLI。
エージェントは推測できないことだけを尋ね、作業をいくつかの単位に分割し、以下の例のようなレポートを返します。レポート内の各リポジトリは、返答の直前に検索されています。コードで作れるものなら何にでも使えます。
Git に探してもらう:Next.js サイトのレシピを、タイプミスに強い検索機能で探せるようにする。
Git に探してもらう:Postgres を S3 に毎晩バックアップし、失敗したら Slack に知らせるジョブ。
Git に探してもらう:レシピを人生の物語抜きで保存するブラウザー拡張機能。
仕組み
1. 最初に4つの質問
「PDF を読み取るライブラリ」とだけ尋ねると、人気のあるものが何でも返ってきます。言語が合わなかったり、製品に同梱できないライセンスだったり、何年も放置されていたりするかもしれません。そこで、具体的な候補を挙げる前に、まず4つの点を確認します。エージェントは会話やコードベースにすでに書かれている情報を補い、残りを尋ねます。
| 質問内容 | 判断すること | |
|---|---|---|
| スタック | 何で書きますか? Node 上の TypeScript、Python 3.12、Rust | ライブラリとして使えるリポジトリと、コードの隣でしか使えないリポジトリ |
| プラットフォーム | どこで実行しますか? ウェブアプリ、CLI、サーバー、スマートフォンアプリ | そもそも何が適合するか |
| ライセンス | 成果物をどのような用途に使えますか? 商用、オープンソース、個人利用 | 許可されるライセンス |
| メンテナンス | どれくらいのコードを自分で管理しますか? 継続的なメンテナンスが必要、フォークを自分で管理するのもよい | メンテナンスされている依存関係にするか、自分で管理し続けるフォークにするか |
「まだわからない」でも問題ありません。その場合、候補は幅広く提示されます。
2. 作業を分割する
エージェントは必要な作業を、入力と出力を持つ単位に分割します(PDF → 表、表 → スプレッドシート)。依存関係にする価値のない作業(つなぎの処理、設定、プロジェクト固有のロジック、数行のコード)には WRITE と印が付きます。10行のコードのために依存関係を追加するのは、機能ではなく負担です。
3. 各パーツを検索する
エージェントがオープンソースについて覚えている情報は、学習時点のものであり、ニッチなツールを見落とします。そのため、記憶から何かを選ぶことはありません。その他のパーツについては、エージェントが検索条件(トピック、スタックの言語、いくつかのキーワード、作業内容を数語で表したもの)を書き、3つのフォージで検索します。
| 方法 | 見つかるもの | 場所 |
|---|---|---|
| トピック内でスター数が最も多いもの | 実績のあるもの | GitHub、GitLab、Codeberg |
| トピック内で人気上昇中のもの | エージェントの学習データより新しいものを含む、スターを獲得している新しいリポジトリ | GitHub |
| 各キーワードを含む名前と説明 | トピックのタグが付いていないツール | GitHub、GitLab、Codeberg |
| README のテキスト | ウェブ検索のように、README の記述から見つかるニッチなツール | GitHub |
検索方法は結果の中で交互に表示されるため、ニッチなツールがスター数の多いものの陰に埋もれません。アーカイブ済みのリポジトリはどこでも除外され、GitHub と Codeberg ではフォークも除外されます。複数の言語を使えるスタック(TypeScript では JavaScript も使えます)は、それらすべての言語で検索します。
4. 見つかった結果から各パーツの方針を決める
| 判定 | 意味 |
|---|---|
| USE | 検索で見つかったリポジトリが、そのままこの作業を行います。依存関係として使うか、自分のコードと並行して実行します。 |
| ADAPT | 近いものがあります。ライセンスが許す範囲でフォークするか、必要な部分をコピーします。 |
| BUILD | 見つかったものの中に作業を行うものがありません。最も近いリポジトリを先に読んでから、構築します。 |
| WRITE | 依存関係にするほどではありません。コードを書きます。 |
エージェントは説明、スター数、最近の活動、ライセンス、言語をもとに結果を判断します。検索で見つからなかった、エージェントが知っているリポジトリを追加することもありますが、その選択肢は検索結果の後にランク付けされ、レポートでは記憶からと表示されます。
5. 選んだものをすべて確認する
選んだものはすべて、フォージでリアルタイムに照合されます。存在しないものは除外し、エージェントは検索に戻って別の候補を探します。残ったものには、後で問題になりそうな点がフラグとして付けられ、そのレポートが表示されます。選ばれなかった検索結果もすべて一覧に記載されるため、見つかったものが隠されることはありません。検索でリポジトリが見つかった BUILD のパーツには、構築前にそれらを確認するよう記載されます。
内部では、3つのツールを備えた MCP サーバーが動作します。手順 1、2、4 を担当する git_for_me、手順 3 を担当する git_for_me_search、手順 5 を担当する git_for_me_verify です。
フラグ
| フラグ | 状況 |
|---|---|
| UNCHECKED | フォージから応答がありません(ダウン中、またはレート制限中)。リポジトリは残され、次回に再確認されます。 |
| ARCHIVED | 読み取り専用です。修正はすべて自分で行う必要があります。 |
| NO_LICENSE | ライセンスがありません。すべての権利が留保されているため、コードを再利用できない場合があります。 |
| OWN_TERMS | フォージが特定できないライセンスです。内容を確認してください。 |
| UNKNOWN_LICENSE | ライセンス名を示さない Codeberg 上のリポジトリです。ライセンスファイルがあるため、内容を確認してください。 |
| COPYLEFT | GPL、AGPL などです。自分のコードと一緒に配布すると、自分のコードにもそのライセンスが適用される可能性があります。 |
| WEAK_COPYLEFT | LGPL、MPL などです。変更した部分は共有する必要がありますが、変更せずに使う場合は通常、自分のコードにライセンスが適用されることはありません。 |
| STALE | 2年間プッシュがありません。 |
| LITTLE_USED | スター数が50未満です。 |
| FORK | フォークです。元のリポジトリのほうが適切かどうか確認してください。 |
| MIRROR | ミラーです。コピー元のリポジトリを選んでください。 |
例:PDF 請求書
上記のプロンプトは、ラップトップ上の Python 3.12 向けに、ソースを非公開にし、メンテナンスを続ける設定で、2026-10-14 に実行したライブ実行のものです(抜粋):
_Searched and checked live just now: 6 named, 0 not there and dropped._
## USE · Read the tables
**Repo: jsvine/pdfplumber**
Python · license MIT · 10.8k stars · pushed 2 months ago · found: most starred in table-extraction, name or description has tables
Also: camelot-dev/camelot
The search also found, not picked:
- pymupdf/PyMuPDF (10.9k stars): found as most starred in table-extraction
## USE · Read scanned invoices
**Repo: ocrmypdf/OCRmyPDF**
Python · license MPL-2.0 · 35.0k stars · pushed 3 days ago · found: readme text, name or description has ocr, most starred in ocr
Watch out: weak copyleft: changes to it must be shared under its license, but using it unchanged usually doesn't bind your code.
Also: PaddlePaddle/PaddleOCR
## USE · Write the spreadsheet
**Repo: jmcnamara/XlsxWriter**
Python · license BSD-2-Clause · 4.0k stars · pushed 2 months ago · found: name or description has xlsx, most starred in xlsx
Also: pyexcel/pyexcel
## WRITE · Run it from the command line
No repo: write this one.
## WRITE · Tidy the invoice tables
No repo: write this one.
5つのパーツのうち3つはすでに存在し、すべて検索で見つかりました。PyMuPDF は AGPL により非公開のコードにもライセンスが適用されるため、エージェントは候補から除外しました。残る作業は、つなぎの処理と、これらの請求書に固有のロジックを書くことです。
インストール
Node 22.18 以降が必要です。USAGE.md には、20 以上のエージェント向けの手順に沿ったセットアップ方法とリンクがあります:Claude Code and Desktop、Codex、Copilot(CLI and VS Code)、Cursor、Windsurf、Devin、Cline、Gemini CLI、Goose、OpenCode、Zed、Junie、Kiro、Amp、Warp、Continue、LM Studio、Hermes、Mistral Vibe、Open WebUI。簡単な方法は次のとおりです。
Claude Code、Codex、Copilot CLI:プラグインとしてインストールします。ツールに加えて、いつ使うべきかを把握したスキルも利用できます。3 つすべてで共通のマーケットプレイスを使います。
/plugin marketplace add bikemeardsley/git-for-me # Claude Code
/plugin install git-for-me@git-for-me
codex plugin marketplace add bikemeardsley/git-for-me # Codex
codex plugin add git-for-me@git-for-me
copilot plugin marketplace add bikemeardsley/git-for-me # Copilot CLI
copilot plugin install git-for-me@git-for-me
その他の MCP クライアント:クライアントの設定に stdio サーバーを登録します。多くの場合、キー名は mcpServers です(例外についてはUSAGE.mdをご覧ください)。
{ "mcpServers": { "git-for-me": { "command": "npx", "args": ["-y", "git-for-me"] } } }
Antigravity CLI:プラグインとしてインストールします:agy plugin install https://github.com/bikemeardsley/git-for-me/tree/main/plugin
Gemini CLI:拡張機能としてインストールします:gemini extensions install https://github.com/bikemeardsley/git-for-me
Agent Skill として:SKILL.md を読み込むエージェント向けです。
npx skills add bikemeardsley/git-for-me。
GITHUB_TOKEN(任意ですが、設定をおすすめします)。 トークンがない場合、GitHub での検索は 1 分あたり 10 回までとなり、タスクの約 2 つの項目を調べる程度です。トークンがあれば 30 回まで検索できます。権限を付与していないきめ細かいトークンで十分です。GITHUB_TOKEN として渡してください(エージェントごとの設定方法)。Claude Code のプラグインでは入力を求められ、安全なストレージに保存されます。トークンは GitHub のみに送信されます。GitLab と Codeberg では必要ありません。トークンがないと、GitHub は両方の場合に 404 を返すため、プライベートな GitHub リポジトリは見つからないように見えます。
マシンの外部に送信される情報
各項目についてエージェントが作成する検索内容(トピック、言語、キーワード、タスクに関する簡単な説明)と、選択したリポジトリは、api.github.com、gitlab.com/api、codeberg.org/api への GET として送信されます。トークンを設定している場合は、トークンも GitHub のみに送信されます。トークンがレポートに表示されることはありません。入力したニーズ、方法、レポートは、あなたとエージェントの間に留まります。
MCP サーバーまたはスキルのシェルフォールバックとして npx で起動すると、npm レジストリの registry.npmjs.org から git-for-me パッケージをダウンロードします。そこに送信されるのは、パッケージの取得リクエストだけです。
制限事項
- 検索できるのは、各 forge の検索機能で見つかるものです。トピック、名前、説明、および GitHub では README のテキストが対象です。これらの語句が含まれないリポジトリは見つからないことがあります。
- 「急上昇」は GitHub のみを対象とします。GitHub にはトレンド API がなく、GitLab と Codeberg では作成日で絞り込めないため、過去半年に作成されたトピック内のスター数上位のリポジトリを検索します。
- GitLab のキーワード検索はどの言語でも実行できます(言語を指定すると、一般的な単語ではタイムアウトします)。また、検索結果には、対象を選択するまで言語が表示されません。
- ライセンスの判定には、ライセンス本文ではなく各 forge のライセンス検出結果を使用します。Codeberg ではライセンスを検出しないため、リポジトリにライセンスファイルがある場合はその確認を促し、ない場合はライセンスなしと判定します。
- 検索対象は GitHub、GitLab.com、Codeberg のみです。セルフホストの GitLab サーバーや Gitea サーバーは対象外です。また、Bitbucket には公開検索機能がないため検索できません。
セキュリティ
脆弱性は公開課題ではなく、GitHub Security Advisories から非公開で報告してください。対象となるものについては SECURITY.md に記載しています。3 つの forge への GET のみで、お使いのマシン上の情報にはアクセスしません。
開発
npm install # also builds build/, which is what npx runs
node src/server.ts # the server, straight from source
npm test # offline: the forges are mocked, and the server is driven over stdio and HTTP
npm run check # types
クローンしたら、claude mcp add --scope user git-for-me -- node /path/to/git-for-me/src/server.ts でエージェントに追加します。Node は node_modules 内のパッケージの型を削除しないため、npm install を実行すると JavaScript が build/ に生成されます。npx はパッケージを node_modules に配置します。
ライセンス
MIT。Git プロジェクト、GitHub、GitLab、Codeberg とは提携していません。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。