Skip to main content
Glama

Netlify MCP 服务器

铁匠徽章

模型上下文协议 (MCP) 服务器,提供通过 Netlify CLI 与 Netlify 交互的工具和资源。该服务器支持部署站点、管理环境变量、构建等功能,并与 Netlify CLI v19.1.5 兼容。

最近更改(2025 年 4 月 8 日)

  • **兼容性更新:**已验证工具与 Netlify CLI v19.1.5 的兼容性。

  • **移除了不支持的工具/资源:**移除了与不可用的 CLI 命令组相关的功能: dnsformspluginshooksdeploys 。诸如functions:deletefunctions:invokesites:get特定命令也被移除,因为它们不可用或与通过 MCP 服务器进行非交互式使用不兼容。

  • **站点上下文解决方法:**更新需要站点上下文的工具(如env:*logs:functionbuildtrigger-build )以通过NETLIFY_SITE_ID环境变量传递siteId ,因为此 CLI 版本中的这些命令不支持--site标志。

Related MCP server: NetlifyMCPServer

功能(兼容 Netlify CLI v19.1.5)

  • 部署和管理站点( deploy-sitebuild-sitetrigger-buildlink-siteunlink-siteget-statuscreate-sitedelete-site

  • 管理环境变量( set-env-varsget-env-varunset-env-varimport-envclone-env-vars

  • 获取函数日志( get-logs

  • 通过资源访问站点数据( list-siteslist-functionslist-env-vars

  • 全面的错误处理

  • 使用 Zod 进行类型安全参数验证

安装

通过 Smithery 安装

要通过Smithery自动为 Claude Desktop 安装 Netlify MCP 服务器:

npx -y @smithery/cli install @DynamicEndpoints/Netlify-MCP-Server --client claude

手动安装

  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. **配置令牌:**您需要将此令牌作为NETLIFY_AUTH_TOKEN环境变量提供给 MCP 服务器。请将其添加到 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": [] } } }

设置文件位置:

  • Claude 桌面(macOS): ~/Library/Application Support/Claude/claude_desktop_config.json

  • Cline Dev 扩展(VS 代码): /home/user/.codeoss-cloudworkstations/data/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json /.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" } }

获取环境变量

获取特定环境变量的值。如果提供了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": "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 loginnetlify initnetlify dev )。请使用个人访问令牌进行身份验证。

  • **站点上下文:**许多命令( env:*logs:functionbuildtrigger-buildfunctions:list )都需要站点上下文。执行这些命令时,此服务器会通过NETLIFY_SITE_ID环境变量传递所需的siteIdunlinkstatus会作用于服务器的当前工作目录,而该目录通常未链接,因此通过 MCP 服务器调用时可能无法按预期运行。

  • **不支持的命令:**由于与 CLI v19.1.5 不兼容,与 DNS、表单、插件、钩子和部署(列出特定部署、获取部署状态)相关的功能已被删除。

发展

修改服务器:

  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