Penqwin について
Penqwinは、ソースファイル全体を読み込まずにリポジトリを調べられる、コーディングエージェント向けのASTベースMCPサーバーです。構造やドキュメントを含む簡潔なコードスケルトンと、リポジトリ・シンボル検索ツールを提供します。
主な機能
- 01エクスポート名付きリポジトリ索引
- 02フォルダー・ファイルのコードスケルトン
- 03ASTベースのシンボル検索
- 04リポジトリ統計と言語内訳
活用シーン
- 01編集前のリポジトリ構造の把握
- 02ソース全体を読まずにシグネチャを確認
- 03特定シンボルをエクスポートするファイルの特定
MCP 対応
リポジトリ索引、ファイル・フォルダーのスケルトン、シンボル検索、統計取得の5つのMCPツールを登録します。設定した環境変数を使ってPenqwinバックエンドに接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| include_stats | boolean | いいえ | true の場合、言語別の内訳とファイル総数も返します。 |
詳細
@penqwin/mcp
LLM エージェント(Cursor、Claude Desktop、Antigravity など)にトークン効率の高いコードベースのスケルトンを提供する、AST ベースの Model Context Protocol(MCP)サーバーです。
LLM にソースコードファイル全体をそのまま送信する代わりに、このサーバーはファイルやディレクトリの構造的な「スケルトン」(インポート、エクスポート、シグネチャ、JSDoc コメント)を公開します。これにより、コードベースの調査やナビゲーションにおけるコンテキストのトークン数を 80%~95% 削減できます。
機能とツール
このサーバーは、MCP プロトコルに5つのコアツールを登録します。
| ツール名 | 説明 |
|---|---|
get_repo_index | リポジトリの簡潔な目次(すべてのファイルとトップレベルのエクスポート名)を返します。約10~20トークン/ファイルです。 |
get_folder_skeleton | ディレクトリ/フォルダーのプレフィックスに一致するすべてのファイルの構造的なスケルトンを取得します。 |
get_file_skeleton | 単一ファイルの詳細な構造的スケルトン(シグネチャ、型、メソッド、パラメーター、JSDoc)を取得します。 |
search_symbols | AST インデックスを検索し、特定のクラス、関数、構造体、または型をエクスポートしているファイルを見つけます。 |
get_repo_stats | ファイル数や言語の内訳など、リポジトリの集計統計を返します。 |
設定
MCP サーバーは、環境変数のみで設定します。
| 環境変数 | 説明 | 例 |
|---|---|---|
PENQWIN_API_KEY | DB から生成されたマシン間通信用 API キー | ed_live_0e21cf14... |
PENQWIN_ORG_ID | API キーに関連付けられた組織 ID | 0db9f7b5-7206-... |
PENQWIN_REPO | 対象とするリポジトリのオーナー名と名前 | <org_name>/<repo_name> |
PENQWIN_API_URL | penqwin バックエンドの REST API ゲートウェイ URL | http://app.penqwin.com |
IDE 連携
npx(リポジトリのクローンやビルドが不要なため、エンドユーザーに強く推奨)を使うか、ローカルビルドを指定して、この MCP サーバーをお好みの IDE に連携できます。
1. 直接連携(npm/npx 経由)
ユーザーにとって最も簡単なセットアップ方法です。IDE がパッケージの最新バージョンを自動で取得して実行します。
Cursor
Cursor Settings -> Features -> MCP に移動し、+ Add New MCP Server をクリックします。
- Name:
penqwin - Type:
command - Command:
npx -y @penqwin/mcp - 必要な環境変数を env 設定に追加します。
Antigravity / Gemini Code Assistant
以下を mcp_config.json に追加します。
{
"mcpServers": {
"penqwin": {
"command": "npx",
"args": ["-y", "@penqwin/mcp"],
"env": {
"PENQWIN_API_KEY": "your_api_key",
"PENQWIN_ORG_ID": "your_org_id",
"PENQWIN_REPO": "your_repo",
"PENQWIN_API_URL": "https://app.penqwin.com"
}
}
}
}
Claude Desktop
以下を claude_desktop_config.json に追加します。
{
"mcpServers": {
"penqwin": {
"command": "npx",
"args": ["-y", "@penqwin/mcp"],
"env": {
"PENQWIN_API_KEY": "your_api_key",
"PENQWIN_ORG_ID": "your_org_id",
"PENQWIN_REPO": "your_repo",
"PENQWIN_API_URL": "https://app.penqwin.com"
}
}
}
}
2. ローカルソース連携
リポジトリをローカルにクローンしてコンパイルしている場合:
Cursor
- Command:
node d:/Projects/EngDoc/eng-doc-mcp/dist/index.js(Windows のパスにはスラッシュを使用してください)
Antigravity / Claude Desktop
- Command:
node - Args:
["d:/Projects/EngDoc/eng-doc-mcp/dist/index.js"]
詳細はこちら:
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。