mcpField
C
codelens-mcp

codelens-mcp

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

codelens-mcp について

codelens-mcpは、TypeScript、JavaScript、Pythonの構造を解析し、ファイル全体を読む前にコードを探せる、AIエージェント向けの読み取り専用MCPサーバーです。lens-mcpに統合済みで、現在は開発されていません。

主な機能

  1. 01ディレクトリとファイル構造の把握
  2. 02関数シグネチャと行範囲の抽出
  3. 03単一関数のソース取得
  4. 04定義とコメントの検索
  5. 05構文エラーと切り捨ての報告

活用シーン

  1. 01未知のコードベースの構造把握
  2. 02名前による関数やクラスの検索
  3. 03確認対象の関数だけを読む

MCP 対応

stdio経由で、読み取り専用のコードナビゲーションツールを7つMCPクライアントに提供します。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

codelens-mcp

⚠️ lens-mcpに置き換えられました

codelensはlens-mcpに統合されました — コードとMarkdownドキュメントの両方をマッピングする単一のMCP サーバーです。すべてのcodelensツール(map、overview、functions、function_body、comments、find、info)を そのまま引き継ぎ、ドキュメント用ツール(outline、heading、links、search)と、1回の呼び出しでプロジェクト全体のコード構造とドキュメントのアウトラインを返す統合 mapも備えています。

代わりにlens-mcpをお使いください — git clone https://github.com/segentic-lab/lens-mcp。 既存のリンクを有効にしておくため、このリポジトリは残されています。今後の開発はありません。

(以下の説明は参考用に掲載しています。)


AI エージェント向けの決定論的なコード構造マップです。コードベースの構造(インポート、エクスポート、クラス、関数、 シグネチャ、コメント、TODOマーカー)をエージェントに提供するMCPサーバー(stdio)です。ファイル全体をコンテキストに読み込む必要はありません。 tree-sitter WASM文法を使用しているため、ネイティブのビルド工程が不要で、Node 18+が動作する環境ならどこにでもインストールできます。

このツールの役割: codelensはナビゲーションマップです。コードの場所を特定するために使い、判断や変更を行う前に、実際のソースを Readで読み込んでください。シグネチャは本体ではなく、アウトラインはセクションそのものではありません。

ツール

読み取り専用のツールが7つあります。すべての応答に含まれる各リストには上限があり、上限に達した場合は明示的なtruncatedフラグで 通知されます。黙って省略されることはありません。

ToolWhat it does
map1回の呼び出しで、ディレクトリツリー全体のファイルごとの構造概要を返します。node_modules、dist、venv、隠しディレクトリなどはスキップします。全体像の把握に使うツールです。
overview1つのファイルのトップレベル構造を返します。インポート、エクスポート、クラス(メソッド名を含む)、関数が対象で、すべてのline/endLineは1始まりです。
functionsファイル内の名前で指定できるすべての関数を返します。ネストされた関数、メソッド、ゲッター/セッター、クラスフィールドのアロー関数、オブジェクトリテラルのプロパティ、デフォルトエクスポートが対象です。再構築されたシグネチャ、パラメーター型、戻り値の型、async/exportedフラグ、parentスコープも含まれます。(引数として渡される匿名コールバックとPythonのラムダは、移動先となる名前がないため一覧に含まれません。)
comments行範囲、種類(line/block/doc)、TODO/FIXME/FIX/BUG/HACK/NOTE/XXXマーカーの検出結果(大文字のみ。文章との誤検出なし)を含む、すべてのコメントを返します。markersOnly: trueを指定すると、技術的負債の一覧のみを返します。
function_body装飾子を含む関数1つ分のソースを、名前(Widget.renderのような修飾名、または単独の名前)で指定してそのまま返します。ファイル全体をReadする代わりに、対象を絞って読み込めます。同じ名前が複数ある場合は候補を一覧表示して失敗し、推測はしません。
find「Xはどこで定義されていますか?」— ディレクトリ内の関数/メソッド/クラス定義を名前で検索します。呼び出し箇所ではなく、定義のみが対象です。
infoサーバーの自己紹介情報を返します。バージョン、作業ディレクトリ(パスのサンドボックスルート)、言語、上限が含まれます。

overview、functions、commentsでは、1回の呼び出しにつき単一のパス、または最大20パスの配列を指定できます。

言語

拡張子言語文法
.ts、.mts、.ctsTypeScripttree-sitter-typescript
.tsxTypeScript + JSXtree-sitter-tsx(専用文法。JSXを正しく解析します)
.js、.jsx、.mjs、.cjsJavaScripttree-sitter-javascript
.pyPythontree-sitter-python

パスのサンドボックス

サーバーが読み取るのは、サーバー自身の作業ディレクトリ(起動したディレクトリ)配下のファイルのみです。相対パスはこのディレクトリを基準に解決されます。絶対パスは、このディレクトリ内を指す場合にのみ受け付けられます。このディレクトリの外に出るシンボリックリンクは拒否されます。 infoツールはルートを報告し、拒否時には必ずそのルートを明示します。マッピングしたいプロジェクトからサーバーを起動してください。

誠実性の保証

  • 構文エラーのあるファイルが、エラーのない成功として報告されることはありません。 tree-sitter のエラー回復によってエラー付近のコードが削除される可能性があるため、 hasErrors: true と parseErrors の行範囲が返されます。
  • エラーがある場合、MCP の結果に isError が設定され、{error, path, hint} が返されます。hint には呼び出しを修正する方法が記載されます。
  • バッチ呼び出しでは、ファイルごとの結果と、正確な {requested, succeeded, failed} の概要が返されます。isError が設定されるのは、すべてのファイルが失敗した場合のみです。
  • すべての上限が明示されます。truncated フラグには正確な合計数が記載されます。

インストールと実行

npm install
npm run build    # tsc → dist/
npm test         # build + 62 tests (51 unit, 11 stdio e2e)
node dist/index.js   # stdio MCP server (launch from the project to analyze)

MCP クライアントの設定:

{
  "mcpServers": {
    "codelens": {
      "command": "node",
      "args": ["/path/to/codelens-mcp/dist/index.js"],
      "cwd": "/path/to/project-to-analyze"
    }
  }
}

エージェント開発者向け

このリポジトリの AGENTS.md は、エージェントがこれらのツールを適切に使えるようにするための、そのまま貼り付けて使えるガイドです。基本モデル、ツールごとのヒント、注意点(パスのサンドボックス、言語の対応範囲、地図と領土のルール)が記載されています。

ライセンス

AGPL-3.0 — LICENSE を参照してください。

コメント

MCP は初めてですか?

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

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