Netlify MCP Server について
Netlify MCP Server は、MCP 対応環境から Netlify API を通じてサイトを管理します。GitHub リポジトリからのサイト作成、一覧表示、詳細確認、削除を行うユーザー向けです。
主な機能
- 01GitHub リポジトリからサイトを作成
- 02サイトをページネーション付きで一覧表示
- 03サイトの詳細を取得
- 04サイトを削除
- 05Netlify トークンで認証
活用シーン
- 01GitHub リポジトリを Netlify にデプロイ
- 02アクセス可能な Netlify サイトの確認
- 03サイトの詳細の確認
- 04Netlify サイトの削除
MCP 対応
Netlify API を介してサイトの作成、一覧取得、詳細取得、削除を行うツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Netlify MCP サーバー
Netlify サイトを管理するための Model Context Protocol(MCP)サーバーです。このサーバーを使うと、MCP 経由で Netlify の API とシームレスに連携でき、MCP 対応環境から直接サイトの作成、管理、デプロイができます。
機能
- 🚀 GitHub リポジトリから新しいサイトを作成
- 📋 ページネーションを使って既存の Netlify サイトを一覧表示
- 🔍 サイトの詳細情報を取得
- 🗑️ サイトを削除
- 🔐 Netlify API との安全な認証
- ⚡ 型安全性を備えた TypeScript で構築
- 🐳 簡単にデプロイできる Docker サポート
要件
- Node.js 18 以降
- API にアクセスできる Netlify アカウント
- サイトをデプロイするための GitHub リポジトリ
インストール
ソースから
- このリポジトリをクローンします:
git clone https://github.com/MCERQUA/netlify-mcp.git
cd netlify-mcp
- 依存関係をインストールします:
npm install
- プロジェクトをビルドします:
npm run build
Docker を使用する場合
docker build -t netlify-mcp .
docker run -e NETLIFY_ACCESS_TOKEN=your_token_here netlify-mcp
設定
Netlify アクセストークンの取得
- https://app.netlify.com/signup で Netlify アカウントを作成します
- User Settings > Applications > Personal access tokens に移動します
- 「New access token」をクリックします
- 名前を付けます(例:「MCP Integration」)
- 生成されたトークンをコピーします
MCP の設定
- プロジェクトのルートに
.envファイルを作成します:
NETLIFY_ACCESS_TOKEN=your_token_here
- MCP 設定にサーバーを追加します:
{
"mcpServers": {
"netlify": {
"command": "node",
"args": ["path/to/netlify-mcp/build/index.js"],
"env": {
"NETLIFY_ACCESS_TOKEN": "your_token_here"
},
"disabled": false,
"autoApprove": []
}
}
}
利用可能なツール
createSiteFromGitHub
GitHub リポジトリから新しい Netlify サイトを作成します。
interface CreateSiteFromGitHubArgs {
name: string; // Name for the new site (subdomain)
repo: string; // GitHub repository (format: owner/repo)
branch?: string; // Branch to deploy from (default: main)
buildCommand: string; // Build command to run
publishDir: string; // Directory containing the built files
envVars?: Record<string, string>; // Environment variables
}
listSites
アクセス権のあるすべての Netlify サイトを一覧表示します。
interface ListSitesArgs {
filter?: 'all' | 'owner' | 'guest'; // Filter for sites
page?: number; // Page number for pagination
perPage?: number; // Items per page (max 100)
}
getSite
特定のサイトの詳細情報を取得します。
interface GetSiteArgs {
siteId: string; // ID or name of the site
}
deleteSite
Netlify サイトを削除します。
interface DeleteSiteArgs {
siteId: string; // ID or name of the site
}
ドキュメント
詳しい情報については、以下を参照してください:
開発
# Run in development mode with auto-rebuild
npm run dev
# Clean build artifacts
npm run clean
# Build the project
npm run build
トラブルシューティング
よくある問題
-
「NETLIFY_ACCESS_TOKEN environment variable is required」
- トークンが環境変数または
.envファイルに設定されていることを確認してください
- トークンが環境変数または
-
「Failed to create site: 401 Unauthorized」
- アクセストークンが無効または期限切れの可能性があります
- Netlify の設定から新しいトークンを生成してください
-
「Invalid repo format」
- リポジトリが
owner/repoの形式であることを確認してください - 例:
https://github.com/facebook/reactではなくfacebook/react
- リポジトリが
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
- リポジトリをフォークします
- 機能ブランチを作成します(
git checkout -b feature/amazing-feature) - 変更をコミットします(
git commit -m 'Add some amazing feature') - ブランチにプッシュします(
git push origin feature/amazing-feature) - プルリクエストを作成します
ライセンス
このプロジェクトは MIT ライセンスの下で公開されています。詳細は LICENSE ファイルを参照してください。
謝辞
- MCP フレームワークを提供する Model Context Protocol
- 優れたデプロイプラットフォームを提供する Netlify
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。