返回市场
网lify-MCP服务器

网lify-MCP服务器

作者:MCERQUA4 星标更新:2025-07-12

项目介绍

Netlify MCP 服务器

MCP 服务器 MIT 许可证

一个用于管理 Netlify 站点的 Model Context Protocol (MCP) 服务器。此服务器通过 MCP 实现与 Netlify API 的无缝集成,允许您直接从 MCP 启用的环境中创建、管理和部署站点。

功能

  • 🚀 从 GitHub 存储库创建新站点
  • 📋 列出现有的 Netlify 站点,并支持分页
  • 🔍 获取详细的站点信息
  • 🗑️ 删除站点
  • 🔐 使用 Netlify API 进行安全认证
  • ⚡ 使用 TypeScript 构建,确保类型安全
  • 🐳 支持 Docker,便于部署

要求

  • Node.js 18 或更高版本
  • 具有 API 访问权限的 Netlify 账户
  • 用于部署站点的 GitHub 存储库

安装

从源码安装

  1. 克隆此仓库:
git clone https://github.com/MCERQUA/netlify-mcp.git
cd netlify-mcp
  1. 安装依赖项:
npm install
  1. 构建项目:
npm run build

使用 Docker

docker build -t netlify-mcp .
docker run -e NETLIFY_ACCESS_TOKEN=your_token_here netlify-mcp

配置

获取您的 Netlify 访问令牌

  1. https://app.netlify.com/signup 创建一个 Netlify 账户
  2. 前往 用户设置 > 应用程序 > 个人访问令牌
  3. 点击“新建访问令牌”
  4. 给它命名(例如:“MCP 集成”)
  5. 复制生成的令牌

设置 MCP

  1. 在项目根目录中创建一个 .env 文件:
NETLIFY_ACCESS_TOKEN=your_token_here
  1. 将服务器添加到您的 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;          // 新站点的名称(子域)
  repo: string;          // GitHub 存储库(格式:owner/repo)
  branch?: string;       // 要部署的分支(默认:main)
  buildCommand: string;  // 要运行的构建命令
  publishDir: string;    // 包含构建文件的目录
  envVars?: Record<string, string>; // 环境变量
}

listSites

列出您有权访问的所有 Netlify 站点。

interface ListSitesArgs {
  filter?: 'all' | 'owner' | 'guest';  // 站点筛选器
  page?: number;         // 分页的页面编号
  perPage?: number;      // 每页的项目数(最大 1 00)
}

getSite

获取特定站点的详细信息。

interface GetSiteArgs {
  siteId: string;  // 站点的 ID 或名称
}

deleteSite

删除 Netlify 站点。

interface DeleteSiteArgs {
  siteId: string;  // 站点的 ID 或名称
}

文档

更多详细信息,请参阅:

开发

# 在开发模式下运行并自动重建
npm run dev

# 清理构建产物
npm run clean

# 构建项目
npm run build

故障排除

常见问题

  1. "需要 NETLIFY_ACCESS_TOKEN 环境变量"

    • 确保您已在环境或 .env 文件中设置了该令牌
  2. "创建站点失败:401 未授权"

    • 您的访问令牌可能无效或已过期
    • 从 Netlify 设置中生成新的令牌
  3. "存储库格式无效"

    • 确保存储库格式为 owner/repo
    • 示例:facebook/react,而不是 https://github.com/facebook/react

贡献

欢迎贡献!请随时提交拉取请求。

  1. 分叉仓库
  2. 创建您的功能分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m '添加一些很棒的功能')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开拉取请求

许可证

本项目采用 MIT 许可证 - 详情请参阅 LICENSE 文件。

致谢