vercel-mcp-server
# 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 LicenseTDQS
Scored across 13 tools
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.
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.
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.
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).