astro-mcp について
astro-mcp は、Astro プロジェクトの開発を支援する MCP サーバーで、Astro のインテグレーションとして導入します。開発サーバーの実行時情報、最新の Astro ドキュメント、利用中のインテグレーションの情報をモデルに提供します。実験的なパッケージで、不安定であることが明記されています。
主な機能
- 01Astro の設定とルーティング情報の取得
- 02実行中の開発サーバーアドレスの確認
- 03Astro ドキュメントの検索
- 04Astro インテグレーションのメタデータの参照
- 05mcp:setup フックによるツールの拡張
活用シーン
- 01モデルによる Astro プロジェクトの設定とルート構成の把握
- 02開発中の Astro ドキュメントの検索
- 03プロジェクトで使用中のインテグレーションの詳細確認
MCP 対応
本プロジェクトは MCP サーバーであり、Astro 開発サーバーから SSE エンドポイントを提供して、プロジェクト設定、ルート、ドキュメントに関するツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
astro-mcp
Astro プロジェクトの開発を支援する MCP サーバーです。antfu の nuxt-mcp に着想を得ています。
重要
このパッケージは実験的で不安定です。使用する際は注意してください。
astro-mcp は、プロジェクトのファイルを見るだけでは簡単に取得できない、次のような情報を提供することで、モデルが Astro プロジェクトをより深く理解できるようにすることを目指しています。
- Astro サーバーの実行時情報
- 最新の Astro ドキュメントの内容
- 使用中の Astro インテグレーションに関する情報
インストール
Astro プロジェクトのディレクトリで、次のコマンドを実行します。
npx astro add astro-mcp
手動インストール
まず、astro-mcp パッケージをインストールします。
npm install astro-mcp
次に、Astro の設定に astro-mcp インテグレーションを追加します。
import { defineConfig } from "astro/config";
import mcp from "astro-mcp";
export default defineConfig({
integrations: [mcp()],
});
使い方
インテグレーションをインストールすると、MCP サーバーを http://localhost:4321/__mcp/sse で利用できるようになります。接続するには、エディターまたはツールに応じた適切な場所に空の設定ファイルを作成します。
| エディター/ツール | 設定ファイル |
|---|---|
| VSCode | .vscode/mcp.json |
| Cursor | .cursor/mcp.json |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
| Claude Code | .mcp.json |
Astro サーバーの起動時に、astro-mcp がファイルを自動的に更新します。
MCP サーバーの拡張
astro-mcp は mcp:setup というフックを提供しており、他のインテグレーションから MCP サーバーを拡張するために使用できます。MCP サーバーにカスタムツールを追加したい場合に便利です。
export default function createExampleIntegration(): AstroIntegration {
return {
name: "example-integration",
hooks: {
"mcp:setup": async ({ mcp }) => {
mcp.tool("add", { a: z.number(), b: z.number() }, async ({ a, b }) => ({
content: [{ type: "text", text: String(a + b) }],
}));
},
},
};
}
ツール
get-astro-config:ファイルパス(root、src、public、output ディレクトリ)、サイト URL、ビルドオプション、サーバー設定、有効なインテグレーション、Markdown 処理設定、画像処理、Vite プラグイン、セキュリティ設定、実験的機能など、プロジェクト設定を包括的に含む Astro 設定オブジェクトを取得します- パラメーター:なし
list-astro-routes:Astro プロジェクトの詳細なルーティング情報を一覧表示します。各ルートのファイルエントリーポイント、URL パターン、動的パラメーター、事前レンダリングの状態、ルートの種類が含まれます。種類を指定して、特定のルートカテゴリに絞り込むこともできます- パラメーター:
type(string、任意):redirect、page、endpoint、またはfallback
- パラメーター:
get-astro-server-address:実行中の Astro 開発サーバーの現在のネットワークアドレス、IP プロトコルファミリー、ポート番号を取得します- パラメーター:なし
list-astro-integrations:エコシステムで利用可能な Astro インテグレーションをすべて一覧表示します- パラメーター:なし
get-astro-integration:特定の Astro インテグレーションに関する詳細なメタデータを取得します。名前、説明、カテゴリ、リポジトリーへのリンク、npm 情報、関連ウェブサイトへのリンク、公式ステータス、ダウンロード統計が含まれます- パラメーター:
name(string):情報を取得する Astro インテグレーションの名前
- パラメーター:
search-astro-docs:特定のトピック、概念、機能について Astro ドキュメントを検索します。クエリに一致する関連ドキュメントの抜粋を返します- パラメーター:
query(string):検索するクエリ
- パラメーター:
get-astro-changes:Astro 関連パッケージの変更履歴を取得します- パラメーター:
packageName(string):変更履歴を取得する Astro 関連パッケージの名前
- パラメーター:
vite-plugin-mcp のツール
get-vite-config:root、resolve、plugins、environment names を含む Vite 設定の概要を取得します- パラメーター:なし
get-vite-module-info:importer、インポートされたモジュール、コンパイル結果など、モジュールのグラフ情報を取得します- パラメーター:
filepath(string):モジュールの絶対ファイルパス
- パラメーター:
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。