Skip to main content
Glama
XiaYeAI
by XiaYeAI
README.md
# Vercel MCP Server

一个用于集成Vercel API的MCP (Model Context Protocol) 服务器,提供项目管理、部署管理、环境变量管理和域名管理等功能。

## 功能特性

### 基础功能
- **项目管理**: 获取项目列表和详细信息
- **部署管理**: 获取部署列表、详情、取消部署、获取日志
- **环境变量管理**: 获取、创建、更新、删除环境变量
- **域名管理**: 获取域名列表、添加、删除域名

### 高优先级功能
- **运行时日志**: 获取和流式传输应用运行时日志
- **构建日志**: 获取和流式传输构建过程日志
- **Webhook管理**: 创建、更新、删除、查询Webhook配置
- **团队管理**: 管理团队成员、权限和团队信息
- **分析监控**: 获取性能指标、使用统计和分析数据

### 低优先级功能
- **访问控制**: 管理访问组和权限控制
- **审计日志**: 获取和流式传输审计日志
- **Token管理**: 创建、删除、查询API Token
- **部署高级功能**: 部署推广、回滚、别名管理

### 技术特性
- **完整的错误处理和日志记录**
- **TypeScript支持**
- **流式数据传输**
- **统一的API响应格式**

## 安装和配置

### 1. 克隆项目并安装依赖

```bash
git clone <repository-url>
cd vercel-mcp-server
npm install
```

### 2. 构建项目

```bash
npm run build
```

### 3. 获取Vercel API Token

1. 访问 [Vercel Dashboard](https://vercel.com/dashboard)
2. 进入 Settings > Tokens
3. 创建新的API Token
4. 复制生成的token

### 4. 在Trae中配置MCP服务器

在Trae的MCP配置中添加以下JSON配置:

#### 方法一:使用npx(推荐)

```json
{
  "mcpServers": {
    "vercel": {
      "command": "npx",
      "args": [
        "--yes",
        "--package=file:E:\\GIT_CODE\\mcp\\vercel-mcp-server",
        "vercel-mcp-server"
      ],
      "env": {
        "VERCEL_TOKEN": "your_vercel_api_token_here",
        "LOG_LEVEL": "info"
      }
    }
  }
}
```

#### 方法二:使用node命令(备用方案)

```json
{
  "mcpServers": {
    "vercel": {
      "command": "node",
      "args": [
        "E:\\GIT_CODE\\mcp\\vercel-mcp-server\\dist\\index.js"
      ],
      "env": {
        "VERCEL_TOKEN": "your_vercel_api_token_here",
        "LOG_LEVEL": "info"
      }
    }
  }
}
```

**重要提示:**
- 将 `E:\\GIT_CODE\\mcp\\vercel-mcp-server` 替换为你的实际项目路径
- 将 `your_vercel_api_token_here` 替换为你的实际Vercel API Token
- 确保项目已经构建(运行过 `npm run build`)

## 配置参数说明

- `VERCEL_TOKEN`: Vercel API访问令牌(必需)
- `VERCEL_TEAM_ID`: Vercel团队ID(可选,用于团队项目)
- `LOG_LEVEL`: 日志级别(可选,默认为info)
- `API_TIMEOUT`: API请求超时时间,单位毫秒(可选,默认为30000)

## 可用的MCP工具

### 基础功能工具

#### 项目管理
- `vercel_list_projects`: 获取项目列表
- `vercel_get_project`: 获取项目详细信息

#### 部署管理
- `vercel_list_deployments`: 获取部署列表
- `vercel_get_deployment`: 获取部署详细信息
- `vercel_cancel_deployment`: 取消部署
- `vercel_get_deployment_logs`: 获取部署日志

#### 环境变量管理
- `vercel_list_env_vars`: 获取环境变量列表
- `vercel_create_env_var`: 创建环境变量
- `vercel_update_env_var`: 更新环境变量
- `vercel_delete_env_var`: 删除环境变量

#### 域名管理
- `vercel_list_domains`: 获取域名列表
- `vercel_add_domain`: 添加域名
- `vercel_delete_domain`: 删除域名

### 高优先级功能工具

#### 运行时日志
- `vercel_get_runtime_logs`: 获取运行时日志
- `vercel_stream_runtime_logs`: 流式传输运行时日志

#### 构建日志
- `vercel_get_build_logs`: 获取构建日志
- `vercel_stream_build_logs`: 流式传输构建日志

#### Webhook管理
- `vercel_list_webhooks`: 获取Webhook列表
- `vercel_create_webhook`: 创建Webhook
- `vercel_update_webhook`: 更新Webhook
- `vercel_delete_webhook`: 删除Webhook
- `vercel_get_webhook`: 获取Webhook详情

#### 团队管理
- `vercel_list_teams`: 获取团队列表
- `vercel_get_team`: 获取团队详情
- `vercel_list_team_members`: 获取团队成员列表
- `vercel_add_team_member`: 添加团队成员
- `vercel_remove_team_member`: 移除团队成员
- `vercel_update_team_member`: 更新团队成员

#### 分析监控
- `vercel_get_analytics`: 获取分析数据
- `vercel_get_performance_metrics`: 获取性能指标
- `vercel_get_usage_stats`: 获取使用统计

### 低优先级功能工具

#### 访问控制
- `vercel_list_access_groups`: 获取访问组列表
- `vercel_create_access_group`: 创建访问组
- `vercel_update_access_group`: 更新访问组
- `vercel_delete_access_group`: 删除访问组

#### 审计日志
- `vercel_get_audit_logs`: 获取审计日志
- `vercel_stream_audit_logs`: 流式传输审计日志

#### Token管理
- `vercel_list_tokens`: 获取Token列表
- `vercel_create_token`: 创建Token
- `vercel_delete_token`: 删除Token
- `vercel_get_token_info`: 获取Token信息

#### 部署高级功能
- `vercel_promote_deployment`: 推广部署
- `vercel_rollback_deployment`: 回滚部署
- `vercel_create_alias`: 创建别名
- `vercel_delete_alias`: 删除别名

## 故障排除

### 常见错误及解决方案

1. **MCP error -32000: Connection closed**
   - 这是正常现象!MCP服务器通过stdio与客户端通信
   - 直接运行 `node dist/index.js` 会立即退出,因为没有MCP客户端连接
   - 只有在Trae等MCP客户端中配置后才能正常工作
   - 如果在Trae中仍然出现此错误,请检查:
     - VERCEL_TOKEN环境变量是否正确设置
     - 项目是否已正确构建 (`npm run build`)
     - 配置路径是否正确

2. **'vercel-mcp-server' 不是内部或外部命令**
   - 确保项目已构建:`npm run build`
   - 检查package.json中是否有bin字段
   - 尝试使用方法二(node命令)

3. **ENOENT错误**
   - 检查配置中的路径是否正确
   - 确保使用绝对路径
   - 确保dist/index.js文件存在

4. **API认证错误**
   - 检查VERCEL_TOKEN是否正确
   - 确保token有足够的权限
   - 检查token是否已过期

## 开发

```bash
# 开发模式
npm run dev

# 运行测试
npm test

# 代码检查
npm run lint

# 代码格式化
npm run format
```

## 许可证

MIT License

TDQS

B3.3/5.0

Scored across 13 tools

Disambiguation5/5

Each tool targets a distinct resource and action: projects, deployments (with logs and cancel), environment variables (full CRUD), and domains (list, add, delete). No overlapping purposes.

Naming Consistency5/5

All tools follow the consistent pattern 'vercel_verb_noun' (e.g., vercel_list_projects, vercel_get_deployment). Verbs are uniform (list, get, create, update, delete, cancel, add) and snake_case is used throughout.

Tool Count5/5

13 tools is a reasonable size for a Vercel management server, covering the main areas of projects, deployments, environment variables, and domains without being excessive or sparse.

Completeness4/5

The tool set covers core CRUD for environment variables and domains, plus deployments and project details. However, missing create/delete for projects and create deployment are notable gaps, though some may be by design (deployments triggered via git).

Maintenance

ActivityInactive
ResponsivenessNo issues