mcpField
A
Agents Md Generator

Agents Md Generator

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

Agents Md Generator について

Agents Md Generatorは、コーディングエージェント向けのコンテキストを整えるため、コードベースを分析してAGENTS.mdを生成・更新するMCPサーバーです。tree-sitterと差分スキャンでプロジェクト構造を抽出します。

主な機能

  1. 01Python、C#、TypeScript、JavaScript、Goを解析
  2. 02アーキテクチャと開発情報を生成
  3. 03結果をキャッシュして差分スキャン
  4. 04大きな分析データを分割して転送
  5. 05コードベースを単独で分析

活用シーン

  1. 01プロジェクトのAGENTS.mdを生成・更新
  2. 02レビュー前にコード構造を把握
  3. 03計画や質疑応答のために構造情報を取得

MCP 対応

対応クライアント向けに、文書生成、コードベース分析、分析結果の分割読み込みツールを提供します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"agents-md-generator": {
"command": "uvx",
"args": [
"agents-md-generator"
]
}
}
}
起動コマンドuvx agents-md-generator

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

パッケージ
pypiagents-md-generator0.6.1

ツール

3

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
paramsanyはい

詳細

agents-md-generator

tree-sitterでコードベースを分析し、AGENTS.mdファイルを生成するMCPサーバーです。

PyPI Python License: MIT MCP

Python · C# · TypeScript · JavaScript · Go

インストール · 使い方 · 設定 · 動作の仕組み · コントリビューション


Claude Code、Gemini CLI、Cursor、Windsurf、Codex CLIなど、MCP 対応クライアントであればどれでも利用できます。

このサーバーは、役割を明確に分けた3つのツールを提供します。

  • generate_agents_md — メインのエントリーポイントです。分析パイプラインを内部で実行し、書き込みルールをペイロードに埋め込み、分割された読み取り指示をクライアントに返します。
  • scan_codebase — ファイルを生成せずにコードベースを深く理解したい場合に使う、単独で利用できるコンテキストツールです。
  • read_payload_chunk — どのツールがペイロードを生成したかに関わらず、ペイロードを分割してストリーミングします。

MCP の通信経路を通じて、大量のデータが送信されることはありません。

目次


インストール

必要条件: Python 3.11以降、Git、およびMCP対応クライアント。

前提条件やトラブルシューティングを含む完全なガイドは、**INSTALLATION.md**を参照してください。

オプションA — pip install + セットアップウィザード(推奨)
pip install agents-md-generator
agents-md-generator setup

セットアップウィザードは、インストール済みのクライアントを検出し、グローバルまたはプロジェクト単位で設定するかを確認したうえで、設定ファイルを自動的に更新します。Claude Code、Gemini CLI、Cursor、Windsurf、Codex CLIに対応しています。

オプションB — uvx(インストール不要)

uvをインストール済みの場合、uvxを使うと、事前にインストールすることなくパッケージを実行できます。クライアントのMCP設定にエントリを手動で追加してください。

{
  "mcpServers": {
    "agents-md": {
      "command": "uvx",
      "args": ["agents-md-generator"]
    }
  }
}

Claude Codeの場合:

claude mcp add agents-md -- uvx agents-md-generator

claude mcp addの既定のスコープは--scope local(現在のプロジェクトのみ)です。すべてのプロジェクトに登録するには、-s userを追加してください。


使い方

登録したら、AIクライアントに次のように依頼します。

「このプロジェクトのAGENTS.mdを生成してください」

クライアントはgenerate_agents_mdを自動的に呼び出します。別のディレクトリをスキャンする場合:

「/path/to/project にあるプロジェクトのAGENTS.mdを生成してください」

ツール
ツール目的
generate_agents_md主なエントリーポイントです。パイプラインを内部で実行し、書き込みルールをペイロードに埋め込み、分割された読み取り手順を返します。AGENTS.md の作成または更新に使用します。
scan_codebase単独で使用できるコンテキストツールです。コードベースを分析し、AGENTS.md の作成を必須としない純粋なデータペイロードを返します。ほかのタスクに必要なアーキテクチャのコンテキストを把握する場合に使用します。
read_payload_chunkどちらかのツールが書き込んだペイロードを、has_more が false になるまでチャンク単位でストリーミングします。
ツールのパラメーター
generate_agents_md
パラメーター型デフォルト説明
project_pathstring"."プロジェクトのルートへのパス
scan_codebase
パラメーター型デフォルト説明
project_pathstring"."プロジェクトのルートへのパス
force_full_scanbooleanfalsetrue に明示的に設定すると、キャッシュを無視してすべてを再スキャンします。
read_payload_chunk
パラメーター型デフォルト説明
project_pathstring"."直前のツール呼び出しで使用したパスと一致する必要があります
chunk_indexinteger—0 から始まるチャンクのインデックスです。has_more が false になるまでインクリメントします

生成される内容

生成される AGENTS.md は、agents.md のオープン標準に準拠しています。人間向けのドキュメントではなく、AI エージェント向けの README として記述されます。次のセクションが含まれます。

セクション内容
プロジェクト概要技術スタックとトップレベルのアーキテクチャの構成
アーキテクチャとデータフロー検出されたレイヤーまたはドメインと、データフローの方向
規約とパターン命名規則、エクスポートの契約、インポート規則、新しいエンティティを最初から最後まで追加する方法
環境変数ソースファイルと .env.example で検出された変数
セットアップコマンドpackage.json、Makefile などから取得した正確なインストールおよび実行コマンド
開発ワークフロービルド、ウォッチ、開発サーバーのコマンド
テスト手順テストコマンドとフレームワークの情報(検出された場合)
コードスタイルlint/フォーマットコマンド(設定ファイルが検出された場合)
ビルドとデプロイCI パイプラインの情報(検出された場合)

データが検出されなかったセクションは完全に省略されます。


インクリメンタルスキャンの仕組み

  1. 初回実行(コールドスタート) — Git で追跡されているすべてのソースファイルを tree-sitter で解析し、キャッシュします
  2. 以降の実行 — 前回のスキャン以降に SHA-256 ハッシュが変わったファイルのみを再解析します
  3. セマンティック差分 — 変更されたファイルについて、変更された公開シンボルのみをペイロードに含めます
  4. ソースに変更がない場合 — ツールは停止し、既存の AGENTS.md の内容も改善するかどうかを尋ねます
  5. プライベートシンボルとテストファイルの内部は、キャッシュとペイロードの両方から除外されます — AGENTS.md では公開 API の表面のみが重要です
大容量ペイロードのストリーミング方法

大規模なコードベースでは、分析ペイロードが大きすぎて MCP 経由でインライン返却できない場合があります。サーバーは read_payload_chunk を通じて、この処理を透過的に行います。

スキャンは別プロセスで実行され、ステージの進行状況通知と 5 分間のタイムアウトが設定されています。キャンセルすると、スキャンワーカーが停止します。1 つのサーバーインスタンスでは、プロジェクトごとに同時に実行できるスキャンは 1 つだけです。制限時間を超えるリポジトリは、.agents-config.json を使って対象を絞り込んでください。

生成時には常に最新のスナップショットが組み立てられ、変更されていないソースファイルのシンボルはキャッシュから再利用されます。ペイロードが消費された後や別のスキャンが実行された後でも、中断された生成を再試行できます。AGENTS.md の書き込みは引き続きクライアント側で行います。

シリアライズされたペイロードの上限は 300,000 文字です。除外された分析セクションは metadata.degradations および metadata.truncated_sections に記録されます。既存の AGENTS.md の内容と書き込み指示は保持されます。これらだけで上限を超える場合、ドキュメントを切り詰める代わりにツールがエラーを返します。

generate_agents_md のフロー
  1. generate_agents_md がパイプラインを内部で実行し、ペイロード(AGENTS.md の書き込みルールを含む)をディスクに書き込み、読み取り手順とともに total_chunks を返します
  2. クライアントは read_payload_chunk(project_path, chunk_index=0) を呼び出し、has_more が false になるまで chunk_index を増やしていきます
  3. クライアントはすべての data フィールドを連結します。ペイロードには、AGENTS.md の書き込みに必要なルールと分析データが含まれています
  4. 最後のチャンクが読み取られると、ペイロードファイルは自動的に削除されます
scan_codebase のフロー(純粋なコンテキストで、AGENTS.md の作成義務はありません)
  1. scan_codebase が分析を実行し、純粋なデータペイロードをディスクに書き込みます
  2. read_payload_chunk を使って同様にチャンク単位で読み取ります
  3. クライアントはペイロードを任意の目的に使用できます。たとえば、コードレビュー、計画、質疑応答などです

このフローは純粋な MCP であり、クライアント側でファイルシステムにアクセスする必要はありません。MCP 互換のクライアントならどれでも、このフローに従うことができます。

キャッシュとペイロードの保存場所

すべての実行時アーティファクトは、プロジェクトの外部にあるユーザーキャッシュディレクトリに保存されます。

~/.cache/agents-md-generator/<project-hash>/cache.json  ← incremental scan cache

<project-hash> はプロジェクトの絶対パスを SHA-256 でハッシュ化したもので、プロジェクトごとに一意です。リポジトリには何も書き込まれません。

注: 分析中、サーバーはこのディレクトリにも一時的な payload.json を書き込みますが、これは read_payload_chunk ツールによって完全に管理され、最後のチャンクが読み取られると自動的に削除されます。直接アクセスする必要はありません。


プロジェクト設定

動作をカスタマイズするには、プロジェクトのルートに .agents-config.json を作成します。このファイルは任意です。すべてのフィールドにはデフォルト値が設定されており、チームで設定を共有するためにコミットすることもできます。

デフォルト設定の全項目
{
  "project_size": "medium",
  "exclude": [
    "**/node_modules/**",
    "**/bin/**",
    "**/obj/**",
    "**/.git/**",
    "**/dist/**",
    "**/build/**",
    "**/__pycache__/**",
    "**/*.min.js",
    "**/*.min.css",
    "**/*.bundle.js",
    "**/vendor/**",
    "**/packages/**",
    "**/.venv/**",
    "**/venv/**",
    "**/bower_components/**",
    "**/app/lib/**",
    "**/wwwroot/lib/**",
    "**/wwwroot/libs/**",
    "**/static/vendor/**",
    "**/public/vendor/**",
    "**/assets/vendor/**",
    "**/site-packages/**"
  ],
  "include": [],
  "languages": "auto",
  "agents_md_path": "./AGENTS.md",
  "max_file_size_bytes": 1048576
}
オプション
キーデフォルト説明
project_size"medium"プロジェクトの規模。すべての内部上限としきい値を調整します(プロジェクトサイズプロファイルを参照)
exclude(上記を参照)分析対象から除外する Glob パターン
include[]空でない場合、これらのパターンに一致するファイルのみを分析します
languages"auto""auto" を指定するとサポートされているすべての言語を検出します。または ["typescript", "python"] のようにリストを渡します
agents_md_path"./AGENTS.md"生成ファイルの出力先パス
max_file_size_bytes1048576このサイズを超えるファイルはスキップされます(デフォルト:1 MB)
環境変数
変数デフォルト説明
AGENTS_MD_LOG_LEVELINFOサーバーログの詳細度です。ファイルごとの分析の詳細を確認するには DEBUG に設定します。有効な値:DEBUG、INFO、WARNING、ERROR
プロジェクト規模プロファイル

project_size 設定では、ペイロードの圧縮の度合いを調整します。1 つの設定ですべての内部上限(クラスあたりのメソッド数、ファイルあたりのシンボル数、ディレクトリの集約、ルートの上限、ツリーの深さ、影響範囲のフィルタリング)を調整できます。

プロファイル行数(目安)影響範囲フィルター説明
"small"0–15kmedium上限に余裕があり、ほぼすべてが含まれます。全体を把握することが重要な小規模プロジェクトに最適です。
"medium" (default)15k–50kmediumほとんどのプロジェクトに適したバランスの取れた上限です。
"large"50k+high積極的に圧縮します。差分には構造的な変更や破壊的変更のみを含め、ディレクトリをより多く集約し、シンボル数の上限を厳しくします。
プロファイルの詳細設定値
定数SmallMediumLarge
クラスあたりのメソッド数30128
ファイルあたりのシンボル数402010
ディレクトリ集約のしきい値20105
レイヤーあたりのファイル数(上限超過前)1585
集約サンプル数543
ルートコントローラーの上限301510
コントローラーあたりのルート数1585
Go ハンドラーの上限1585
ディレクトリツリーの深さ432
影響範囲フィルターmediummediumhigh

解析で検出される内容

環境変数

サーバーは言語固有のパターンを使用して、すべてのソースファイルから環境変数の参照をスキャンします。

言語検出されるパターン
JavaScript / TypeScriptprocess.env.VAR_NAME
Pythonos.environ['VAR'], os.getenv('VAR')
Goos.Getenv("VAR")
RubyENV['VAR']
Rustenv!("VAR"), var("VAR")

プロジェクトのルートにある .env.example、.env.template、.env.sample ファイルも解析します。

エントリーポイント

index、main、app、server、program、bootstrap、startup という名前のファイル(サポートされる任意の拡張子)は、エントリーポイントとして検出され、推定される役割(例:「HTTP サーバーのブートストラップ」、「Electron のメインプロセス」)が注記されます。

パブリック API の範囲

Tree-sitter は各ソースファイルを解析し、クラス、関数、メソッド、インターフェースなどのパブリックシンボルを抽出します。その際、プライベート/保護されたメンバーと、アンダースコアで始まるシンボルは除外されます。クラスと構造体については、コンストラクター(パラメーターがある場合)とパブリックプロパティも含めることで、依存性注入のパターンとデータ構造を明らかにします。インターフェースのメソッドはパブリックな契約を定義するため、常に含まれます。これらの情報は、レイヤー間の命名規則、DI パターン、エクスポート契約の検出に使用されます。

アーキテクチャの抽出

大規模なコードベースでは、ペイロードの情報密度を高く保つため、ツールはいくつかのヒューリスティックを適用します。

  • ボイラープレートの抑制 — Migrations、bin、obj、Properties などの一般的なディレクトリは自動的に識別され、プロジェクト構造内で折りたたまれます。これにより、ディレクトリ一覧が肥大化するのを防ぎます。
  • 情報量の少ないファイルの要約 — ロジックメソッドがなく、主にデータ構造(DTO、エンティティ)を含むファイルは「最小化」されます。すべてのプロパティを列挙する代わりに、「25 個の DTO クラスを含む」といった概要を提示します。
  • 意味的なクラスタリング — アグリゲーターは、最小化されたこれらの概要をディレクトリ単位でグループ化します。これにより、利用する AI は、1 行の情報からデータレイヤー全体を理解できます。
  • 指示の埋め込み — generate_agents_md 経由で呼び出された場合、記述ルールがペイロードに直接埋め込まれ、AI エージェントはコードアーキテクチャを処理する前に「取り組み方のルール」を読みます。scan_codebase を直接呼び出した場合は、指示を含まない純粋なデータが返されます。

クレジット

AGENTS.md 形式は、公開されている agents.md 標準に基づいています。

トップに戻る

MIT License の下でライセンスされています。

コメント

MCP は初めてですか?

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

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