Netlify MCP服务器

一个用于与Netlify API交互的模型上下文协议(MCP)服务器,提供站点搜索、站点详情获取和部署列表查看功能。

  • by jonigl
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 jonigl/netlify-mcp-server

使用说明

Netlify MCP 服务器

一个用于与Netlify API交互的模型上下文协议(MCP)服务器。使用MCP工具搜索站点、获取站点详细信息并列出部署。

特点

  • 搜索网站按名称搜索Netlify网站
  • 获取网站详细信息检索特定网站的信息
  • 部署列表查看任何网站的部署历史
  • 部署详情获取特定部署的相关信息
  • 环境变量列出一个网站的环境变量

先决条件

  • Python 3.10 或更高版本
  • 紫外线 - 快速Python包安装器
  • 一个带有API令牌的Netlify帐户

安装

  1. 克隆此存储库:
git clone <your-repo-url>
cd netlify-mcp-server
  1. 安装 uv(如果尚未安装):
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. 安装依赖项:
uv sync
  1. 创建一个 .env 文件并添加您的Netlify API令牌:
NETLIFY_API_TOKEN=your_actual_token_here

获取Netlify API令牌

  1. 登录到 Netlify(可译为“网飞利”或直接保留原名,根据上下文选择是否意译)
  2. 首选 用户设置 → 应用程序 → 个人访问令牌
  3. 点击 新的访问令牌
  4. 给它起个名字然后点击 生成令牌
  5. 复制令牌并将其添加到您的 .env 文件

用法

运行服务器

启动MCP服务器:

uv run main.py

或者使用已安装的脚本:

uv run netlify-mcp-server

服务器将在 http://0.0.0.0:3000/mcp 默认情况下。

可用工具

1. search_sites

按名称搜索 Netlify 网站。

参数:

  • name (可选):要搜索的站点名称(如果留空,则返回所有站点)
  • page (默认:1):分页的页码

返回值: 包含站点信息的列表,包括状态、计划、URL、仓库信息以及已发布的部署。

2. get_site_details

获取特定网站的相关信息,包括构建设置、SSL 配置和部署信息。

参数:

  • site_id (必填):站点的ID

返回值: 按部分组织的网站信息(URLs、SSL与安全、构建设置、已发布部署等)

3. list_site_deploys

列出网站的部署历史。

参数:

  • site_id (必填):站点的ID
  • page (默认:1):用于分页的页码
  • per_page (默认:10):每页结果数量(最大:100)

返回值: 包含状态、分支、提交信息、框架、URL 和时间戳的部署列表。

4. get_deploy_details

获取特定部署的相关信息。

参数:

  • site_id (必填):站点的ID
  • deploy_id (必需):部署的ID

返回值: 部署信息包括状态、URL、Git信息、构建详情、时间安排和功能调度。

5. list_site_env_vars

列出为某个站点配置的环境变量。

参数:

  • site_id (必填):站点的ID

返回值: 包含键、作用域、上下文和元数据的环境变量列表(对于敏感变量,值已隐藏)。

配置

您可以使用环境变量来自定义服务器的行为 .env 文件:

变量 默认值 描述
NETLIFY_API_TOKEN (必填) 您的 Netlify API 令牌
NETLIFY_API_BASE_URL https://api.netlify.com/api/v1 Netlify API 基础 URL
NETLIFY_MAX_RESULTS 100 网站搜索时每页的最大结果数
MCP_PORT 3000 MCP服务器的端口
MCP_PATH /mcp MCP 端点的路径
MCP_INSTRUCTIONS (默认消息) 针对MCP服务器的自定义指令

许可证

麻省理工学院(MIT)