mcpField
U
understand-quickly

understand-quickly

ローカル
github.com/looptech-ai開発ツール486 週間前に更新

understand-quickly について

公開されている understand-quickly のコード知識グラフレジストリを AI エージェントから利用できる、最小構成の MCP サーバーです。リポジトリの一覧、グラフの検索と取得、概念検索に加え、差分追跡用のメタデータを提供します。

主な機能

  1. 01条件を指定してレジストリのリポジトリを一覧表示
  2. 02レジストリ ID または GitHub URL でグラフを検索
  3. 03グラフデータとドリフトメタデータを取得
  4. 04レジストリまたはグラフ内の概念を検索
  5. 05レジストリと統計データを60秒間キャッシュ

活用シーン

  1. 01リポジトリに対応するコード知識グラフの検索
  2. 02グラフの同期状態とコミット差分の確認
  3. 03登録済みグラフ内の概念検索

MCP 対応

list_repos、find_graph_for_repo、get_graph、search_concepts の4つのツールで、understand-quickly レジストリを MCP クライアントに公開します。stdio JSON-RPC で通信します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"looptech-ai-understand-quickly": {
"command": "npx",
"args": [
"-y",
"@looptech-ai/understand-quickly-mcp"
]
}
}
}
起動コマンドnpx -y @looptech-ai/understand-quickly-mcp

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

パッケージ
npm@looptech-ai/understand-quickly-mcp0.1.1

ツール

4

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

パラメーター型必須説明
tagstringいいえtags 配列にこの文字列を含む項目を返します。
formatstringいいえentry.format と完全一致します(例:"understand-anything@1")。
statusstringいいえentry.status と完全一致します(通常は "ok")。

詳細

@looptech-ai/understand-quickly-mcp

Model Context Protocol サーバーの薄いラッパーで、understand-quickly レジストリをあらゆる MCP クライアント(Claude Desktop、Codex、Cursor など)に公開します。

ステータス:スタブ品質です。エンドツーエンドで動作しますが、意図的に最小限の実装になっています — ストリーミング、埋め込み、認証はありません。

できること

公開されている registry.json をラップし、4 つのツールを公開します。

ツールパラメーター戻り値
list_repos{ format?, tag?, status? }{ id, format, description, status, tags, last_synced, graph_url } の配列
find_graph_for_repo{ id?, github_url? } (少なくとも 1 つは必須)レジストリエントリ 1 件の graph_url とドリフトメタデータ、または最大 5 件のあいまい一致した id を含む { found: false, suggestions: [...] }
get_graph{ id }該当エントリの graph_url にある解析済みグラフ JSON
search_concepts{ query, id? }デフォルト:事前計算済みの stats.json から集約されたコンセプトの一致(GET 1 回、60 秒間キャッシュ)。id を指定した場合:1 つのグラフのノードを対象とした部分一致。stats.json にアクセスできない場合は、上限付きの全グラフへのファンアウトにフォールバックします。

レジストリのレスポンスはメモリ内に 60 秒間キャッシュされます。stats.json にも同じ 60 秒の TTL キャッシュが使用されます。

find_graph_for_repo

id(レジストリ id、owner/repo)または github_url のいずれかを受け取ります。URL パーサーは以下の形式に対応しています。

  • https://github.com/owner/repo
  • https://github.com/owner/repo.git
  • https://github.com/owner/repo/ (末尾のスラッシュ)
  • https://github.com/owner/repo/tree/main/... (ブランチ/サブパス)
  • [email protected]:owner/repo.git

エントリが見つかった場合、レジストリにこれらのフィールドがあると、レスポンスに last_synced、last_sha、source_sha、head_sha、commits_behind、および整形された drift_summary(例:"behind by 17 commits")が含まれます。

エントリが見つからない場合、レスポンスは、最大 5 件のあいまい一致した id を含む { found: false, suggestions: [...] } になります(小文字化した id に対するレーベンシュタイン距離 ≤ 3)。

search_concepts

デフォルトでは、つまり id が指定されていない場合、search_concepts は事前計算済みの stats.json 集計(キャッシュされる GET 1 回)を読み込み、一致するコンセプト用語と、そのエントリ数および最大 3 件のサンプルレジストリ id を返します。これにより、リクエスト時に最大 5 件のグラフを取得していた以前の動作を置き換えます。

id が指定されている場合は、従来の単一グラフノード検索(id/label/name に対する部分一致)にフォールバックします。stats.json を利用できない場合(404 またはスキーマ不一致)は、後方互換性のため、上限付きの全グラフへのファンアウトにフォールバックします。

レスポンスの source フィールドは、リクエストの処理に使用されたモード("stats"、"graph"、"fanout")を示します。

インストール

cd mcp
npm install
npm run build   # compiles TypeScript -> dist/
npm test        # runs node:test across registry/cache and tool logic

(グローバルな fetch を使用するため)Node 20 以降が必要です。

ローカルで実行

開発用:

npm run dev

ビルド済みバイナリの場合:

npm start

このサーバーは stdio JSON-RPC を使用します。キー入力には応答しないため、MCP クライアントから接続してください。

Claude Desktop に登録

以下を Claude Desktop の claude_desktop_config.json に追加します(macOS でのパスは ~/Library/Application Support/Claude/claude_desktop_config.json です)。

{
  "mcpServers": {
    "understand-quickly": {
      "command": "npx",
      "args": [
        "tsx",
        "/absolute/path/to/understand-quickly/mcp/src/index.ts"
      ],
      "env": {
        "UNDERSTAND_QUICKLY_REGISTRY": "https://looptech-ai.github.io/understand-quickly/registry.json"
      }
    }
  }
}

/absolute/path/to/... を、チェックアウトした実際のパスに置き換えてください。保存後、Claude Desktop を再起動します。

コンパイル済みの出力を実行する場合は、以下に切り替えてください。

{
  "mcpServers": {
    "understand-quickly": {
      "command": "node",
      "args": ["/absolute/path/to/understand-quickly/mcp/dist/index.js"]
    }
  }
}

環境変数

変数デフォルト用途
UNDERSTAND_QUICKLY_REGISTRYhttps://looptech-ai.github.io/understand-quickly/registry.jsonレジストリの取得元を上書きします(例:ローカルファイルまたはフォークを指定)。
UNDERSTAND_QUICKLY_STATShttps://looptech-ai.github.io/understand-quickly/stats.jsonsearch_concepts が使用する事前計算済み統計情報の取得元を上書きします。

現在の制限事項

  • インメモリキャッシュのみです。 サーバープロセスごとに、1 分に 1 回再取得します。プロセス間またはディスク上でのキャッシュはありません。
  • グラフ間のファンアウトはフォールバックに限られます。 search_concepts がフォールバックする場合(stats.json がない場合)、status: ok のエントリーのうち、先頭 5 件のみを順番にスキャンします。
  • 部分文字列検索は単純です。 あいまい検索、ランキング、埋め込みはありません。
  • ストリーミングや進捗報告はありません。 ツールは上流から応答があるまでブロックします。
  • ノード列挙はベストエフォートです。 単一グラフのフォールバックでは、グラフに nodes / entities / concepts / items 配列があることを前提とします。ない場合は、トップレベルの配列値をたどります。
  • 上流の graph_url の取得に対する再試行やバックオフはありません。 取得に失敗した場合、エラーを返す代わりに、そのエントリーの結果は空になります。

これらはすべて MVP として許容できるものです。より多くの機能が必要な場合は、イシューを作成してください。

コメント

MCP は初めてですか?

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

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