Skip to main content
Glama

Netlify MCP 서버

대장간 배지

Netlify CLI를 통해 Netlify와 상호 작용할 수 있는 도구와 리소스를 제공하는 모델 컨텍스트 프로토콜(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 서버를 자동으로 설치하려면:

지엑스피1

수동 설치

  1. 저장소를 복제합니다(아직 복제하지 않았다면).

  2. 종속성 설치:

    npm install
  3. 서버를 빌드하세요:

    npm run build
  4. Netlify CLI가 설치되어 있는지 확인하세요(v19.1.5 이상 호환):

    # Example global install: npm install -g netlify-cli@19.1.5

입증

이 MCP 서버는 Netlify CLI와 상호 작용하며, Netlify 계정 인증이 필요합니다. 서버는 비대화형으로 실행되므로 개인 액세스 토큰(PAT)을 사용해야 합니다 .

  1. PAT 생성:

    • Netlify 사용자 설정 > 애플리케이션 > 개인 액세스 토큰( 직접 링크 )으로 이동합니다.

    • 새 액세스 토큰을 선택합니다.

    • 설명을 입력하세요(예: "MCP 서버 토큰").

    • 만료일을 설정하세요.

    • 토큰 생성을 선택합니다.

    • 토큰을 즉시 복사하여 안전하게 보관하세요.

  2. 토큰 구성: 이 토큰을 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 Desktop(macOS): ~/Library/Application Support/Claude/claude_desktop_config.json

  • Cline 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 호환)

(매개변수는

사이트 및 배포 관리

배포 사이트

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": "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 }

환경 변수 관리

환경 변수 설정

사이트에 대한 하나 이상의 환경 변수를 설정합니다. 사이트 컨텍스트는 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" } }

get-env-var

특정 환경 변수의 값을 가져옵니다. 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" }

설정 해제-env-var

환경 변수를 설정 해제(삭제)합니다. siteId 제공된 경우 사이트 컨텍스트는 NETLIFY_SITE_ID 환경 변수를 통해 전달됩니다.

{ "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" }

서버리스 함수

get-logs

함수 로그를 봅니다. 사이트 컨텍스트는 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:* , logs:function , build , trigger-build , functions:list )은 사이트 컨텍스트를 필요로 합니다. 이 서버는 이러한 명령을 실행할 때 NETLIFY_SITE_ID 환경 변수를 통해 필요한 siteId 전달합니다. statusunlink 와 같은 명령은 서버의 현재 작업 디렉터리 에서 작동하며, 일반적으로 연결되지 않으므로 MCP 서버를 통해 호출할 경우 예상대로 작동하지 않을 수 있습니다.

  • 지원되지 않는 명령: DNS, 양식, 플러그인, 후크 및 배포(특정 배포 나열, 배포 상태 가져오기)와 관련된 기능은 CLI v19.1.5와의 호환성 문제로 인해 제거되었습니다.

개발

서버를 수정하려면:

  1. src/index.ts 의 소스 코드를 업데이트합니다.

  2. npm run build 로 빌드합니다.

  3. 변경 사항을 적용하려면 클라이언트 애플리케이션에서 MCP 서버를 다시 시작하세요.

  4. 변경 사항을 테스트하세요.

자원

One-click Deploy
A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DynamicEndpoints/Netlify-MCP-Server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server