Netlify MCP Server
Netlify MCP サーバー
Netlify CLI を介して操作するためのツールとリソースを提供する Model Context Protocol (MCP) サーバー。このサーバーは、Netlify CLI v19.1.5 と互換性があり、サイトのデプロイ、環境変数の管理、ビルドなどを可能にします。
最近の変更点(2025年4月8日)
互換性アップデート: Netlify CLI v19.1.5 とのツール互換性が検証されました。
**サポートされていないツール/リソースの削除:**使用できないCLIコマンドグループ(
dns、forms、plugins、hooks、deploys)に関連する機能が削除されました。また、functions:delete、functions:invoke、sites:getなどの特定のコマンドも、MCPサーバー経由の非対話型使用では使用できないか、互換性がないため削除されました。**サイト コンテキストの回避策:**この CLI バージョンではこれらのコマンドに対して
--siteフラグがサポートされていないため、サイト コンテキスト (env:*、logs:function、build、trigger-build) を必要とするツールを更新し、NETLIFY_SITE_ID環境変数を介してsiteIdを渡すようにしました。
Related MCP server: NetlifyMCPServer
機能(Netlify CLI v19.1.5と互換性あり)
サイトのデプロイと管理 (
deploy-site、build-site、trigger-build、link-site、unlink-site、get-status、create-site、delete-site)環境変数を管理する (
set-env-vars、get-env-var、unset-env-var、import-env、clone-env-vars)関数のログを取得する (
get-logs)リソース経由でサイトデータにアクセスする (
list-sites、list-functions、list-env-vars)包括的なエラー処理
Zodを使用した型安全なパラメータ検証
インストール
Smithery経由でインストール
Smithery経由で Claude Desktop 用の Netlify MCP Server を自動的にインストールするには:
npx -y @smithery/cli install @DynamicEndpoints/Netlify-MCP-Server --client claude手動インストール
リポジトリのクローンを作成します (まだ作成していない場合)。
依存関係をインストールします:
npm installサーバーを構築します。
npm run buildNetlify CLI がインストールされていることを確認します (v19.1.5 または互換バージョン)。
# Example global install: npm install -g netlify-cli@19.1.5
認証
このMCPサーバーはNetlify CLIと連携するため、Netlifyアカウントによる認証が必要です。サーバーは非対話型で実行されるため、パーソナルアクセストークン(PAT)を使用する必要があります。
PAT を生成します:
Netlify ユーザー設定 > アプリケーション > 個人アクセス トークン (直接リンク) に移動します。
新しいアクセス トークンを選択します。
説明を入力します (例:「MCP サーバー トークン」)。
有効期限を設定します。
トークンの生成を選択します。
トークンをすぐにコピーして安全に保管してください。
**トークンの設定:**このトークンをMCPサーバーで
NETLIFY_AUTH_TOKEN環境変数として利用できるようにする必要があります。MCP設定ファイル内のサーバー構成のenvセクションに追加してください(下記参照)。
注意:対話型ブラウザ認証が必要となるため、 netlify loginの使用はこのサーバーには適していません。
構成
次の構成を MCP 設定ファイル (プラットフォームによって場所が異なります) に追加し、 "YOUR_NETLIFY_PAT_HERE"実際の個人アクセス トークンに置き換えます。
{
"mcpServers": {
"netlify": {
"command": "node",
"args": ["/path/to/Netlify-MCP-Server/build/index.js"], // Adjust path if needed
"env": {
"NETLIFY_AUTH_TOKEN": "YOUR_NETLIFY_PAT_HERE"
},
"disabled": false,
"autoApprove": []
}
}
}/path/to/Netlify-MCP-Serverサーバーのクローン/インストールを行った実際のパスに置き換えます。
設定ファイルの場所:
Claude デスクトップ (macOS):
~/Library/Application Support/Claude/claude_desktop_config.jsonCline Dev Extension (VS Code):
/home/user/.codeoss-cloudworkstations/data/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json(または OS/セットアップに基づいて類似のもの)その他の可能性のある場所については、特定の MCP クライアントのドキュメントを参照してください。
利用可能なツール(Netlify CLI v19.1.5 互換)
(パラメータはsrc/index.tsで定義された Zod スキーマに基づいています)
サイトと展開の管理
デプロイサイト
サイトディレクトリを Netlify にデプロイします。
{
"path": "string", // Required: Path to the site directory
"prod": "boolean?", // Optional: Deploy to production
"message": "string?" // Optional: Deploy message
}例:
{
"path": "./dist",
"prod": true,
"message": "Deploying latest changes"
}リストサイト
アカウントにリンクされているすべての Netlify サイトを一覧表示します。
{} // No parameters例:
{}トリガービルド
サイトの新規ビルド/デプロイをトリガーします。サイトのコンテキストはNETLIFY_SITE_ID環境変数を介して渡されます。
{
"siteId": "string", // Required: Site ID or name
"message": "string?" // Optional: Deploy message
}例:
{
"siteId": "your-site-id-here",
"message": "Triggering rebuild"
}建設現場
Netlifyビルドをローカルで実行します(Netlifyビルド環境を模倣します)。siteIdが指定されている場合、サイトコンテキストはNETLIFY_SITE_ID siteId変数を介して渡されます。
{
"siteId": "string?", // Optional: Site ID (if project dir not linked)
"context": "string?", // Optional: Build context (e.g., 'production', 'deploy-preview')
"dry": "boolean?" // Optional: Run a dry build (list steps without executing)
}例:
{
"siteId": "your-site-id-here",
"context": "production"
}リンクサイト
現在のプロジェクト ディレクトリを Netlify サイトにリンクします (非対話型で使用する場合はサイト ID が必要です)。
{
"siteId": "string" // Required: Site ID to link to.
}例:
{
"siteId": "your-site-id-here"
}リンク解除サイト
現在のプロジェクト ディレクトリと関連付けられている Netlify サイトのリンクを解除します。
{} // No parameters例:
{}ステータス取得
リンクされたサイト/ディレクトリの Netlify ステータスを表示します。(サーバー ディレクトリ自体がリンクされていない限り、MCP サーバー経由で実行すると失敗する可能性があります)。
{} // No parameters例:
{}サイト作成
Netlify で新しいサイトを作成します (非対話型)。
{
"name": "string?", // Optional: Site name (subdomain)
"accountSlug": "string?" // Optional: Account slug for the team (defaults to 'playhousehosting' if omitted)
}例:
{
"name": "my-awesome-new-site"
}サイトの削除
Netlify からサイトを削除します。
{
"siteId": "string", // Required: Site ID to delete
"force": "boolean?" // Optional: Force deletion without confirmation (default: true)
}例:
{
"siteId": "site-id-to-delete",
"force": true
}環境変数管理
環境変数の設定
サイトに1つ以上の環境変数を設定します。サイトのコンテキストは、 NETLIFY_SITE_ID環境変数を介して渡されます。
{
"siteId": "string", // Required: Site ID or name
"envVars": { // Required: Object of key-value pairs
"KEY": "value"
}
}例:
{
"siteId": "your-site-id-here",
"envVars": {
"API_KEY": "secret123",
"NODE_ENV": "production"
}
}環境変数を取得する
特定の環境変数の値を取得します。siteIdが指定siteIdれている場合、サイトコンテキストはNETLIFY_SITE_ID環境変数を介して渡されます。
{
"siteId": "string?", // Optional: Site ID (if not linked)
"key": "string", // Required: The environment variable key
"context": "string?", // Optional: Specific context (e.g., 'production')
"scope": "string?" // Optional: Specific scope (e.g., 'builds', 'functions')
}例:
{
"siteId": "your-site-id-here",
"key": "API_KEY"
}環境変数の設定解除
環境変数を設定解除(削除)します。siteId が指定されている場合、サイトコンテキストはNETLIFY_SITE_ID siteId変数を介して渡されます。
{
"siteId": "string?", // Optional: Site ID (if not linked)
"key": "string", // Required: The environment variable key
"context": "string?" // Optional: Specific context to unset from (otherwise all)
}例:
{
"siteId": "your-site-id-here",
"key": "OLD_VAR"
}インポート環境
.envファイルから環境変数をインポートします。サイトコンテキストはNETLIFY_SITE_ID環境変数を介して渡されます。
{
"siteId": "string", // Required: Site ID or name
"filePath": "string", // Required: Path to the .env file
"replace": "boolean?" // Optional: Replace existing variables instead of merging
}例:
{
"siteId": "your-site-id-here",
"filePath": ".env.production",
"replace": true
}クローン環境変数
あるサイトから別のサイトに環境変数を複製します。複製元サイトはNETLIFY_SITE_IDでリンクまたは指定する必要があります。
{
"fromSiteId": "string", // Required: Source Site ID
"toSiteId": "string" // Required: Destination Site ID
}例:
{
"fromSiteId": "source-site-id",
"toSiteId": "destination-site-id"
}サーバーレス関数
ログを取得する
関数のログを表示します。サイトコンテキストはNETLIFY_SITE_ID環境変数を介して渡されます。
{
"siteId": "string", // Required: Site ID or name
"function": "string?" // Optional: Specific function name to filter logs
}例:
{
"siteId": "your-site-id-here",
"function": "my-serverless-func"
}利用可能なリソース(Netlify CLI v19.1.5 互換)
次のリソース URI を使用して Netlify データに直接アクセスします。
netlify://sites: すべてのサイトを一覧表示します (sites:list --jsonの JSON 出力)netlify://sites/{siteId}/functions: サイトの関数を一覧表示します (functions:list --jsonの JSON 出力、NETLIFY_SITE_ID={siteId}環境変数が必要です)netlify://sites/{siteId}/env: サイトの環境変数を一覧表示します (env:list --jsonの JSON 出力、NETLIFY_SITE_ID={siteId}環境変数が必要です)
制限事項 (Netlify CLI v19.1.5)
**対話型コマンド:**対話型プロンプトを必要とするコマンド(
netlify login、netlify init、netlify devなど)は、このサーバーではサポートされていません。認証には個人アクセストークンを使用してください。**サイトコンテキスト:**多くのコマンド (
env:*``status``logs:function、build、trigger-build、functions:list) はサイトコンテキストを必要とします。このサーバーは、これらのコマンドを実行する際に、必要なsiteId``NETLIFY_SITE_ID環境変数を介して渡します。status やunlinkなどのコマンドは、サーバーの現在の作業ディレクトリに対して実行されます。このディレクトリは通常リンクされていないため、MCPサーバー経由で呼び出された場合、期待どおりに動作しない可能性があります。サポートされていないコマンド: DNS、フォーム、プラグイン、フック、およびデプロイに関連する機能 (特定のデプロイの一覧表示、デプロイ ステータスの取得) は、CLI v19.1.5 との非互換性のため削除されました。
発達
サーバーを変更するには:
src/index.tsのソースコードを更新します。npm run buildでビルドします。変更をロードするには、クライアント アプリケーションで MCP サーバーを再起動します。
変更をテストします。
リソース
Related MCP Connectors
The official MCP Server for the Mux API
Related MCP Servers
- AlicenseBqualityDmaintenanceA Model Context Protocol server that allows management of Netlify sites, enabling users to create, list, get information about, and delete Netlify sites directly from an MCP-enabled environment.4MIT
- FlicenseNot gradedqualityNot gradedmaintenanceA basic example of developing and running serverless Model Context Protocol (MCP) using Netlify Functions, enabling AI agents to interact with your services via a standardized API.-
- FlicenseNot gradedqualityDmaintenanceA serverless implementation of the Model Context Protocol (MCP) that runs on Netlify Functions, allowing developers to build and deploy MCP-compatible services with minimal configuration.-
- FlicenseNot gradedqualityDmaintenanceA basic example of a serverless Model Context Protocol (MCP) implementation using Netlify Functions, allowing developers to run MCP services without managing traditional server infrastructure.-