Vercel 的 REST API 的 Model Context Protocol (MCP) 集成,通过像 Claude 和 Cursor 这样的AI助手提供对 Vercel 部署管理的程序化访问。
此 MCP 服务器实现了 Vercel 的核心 API 端点作为工具,支持以下功能:
vercel-list-all-deployments - 列出部署并进行过滤vercel-get-deployment - 获取特定部署的详细信息vercel-list-deployment-files - 列出部署中的文件vercel-create-deployment - 创建新的部署vercel-create-project - 创建新的 Vercel 项目vercel-list-projects - 列出所有项目并分页vercel-find-project - 根据ID或名称查找特定项目vercel-create-environment-variables - 创建多个环境变量vercel-get-project-domain - 获取项目中特定域的信息vercel-get-environments - 访问项目环境变量vercel-create-custom-environment - 为项目创建自定义环境vercel-list-all-teams - 列出所有可访问团队vercel-create-team](docs/teams.md#ver- cel-create-team) - 创建具有自定义slug和名称的新团队有关每个工具的详细信息,请参阅以下文档:
git clone [your-repo-url]
cd vercel-mcp
npm install
.env 文件:VERCEL_API_TOKEN=your_api_token_here
npm start
Claude 通过其 Anthropic Console 或 Claude Code 接口支持 MCP 工具。
npm start 在本地启动 MCP 服务器/connect 命令:
/connect mcp --path [path-to-server]
对于基于 CLI 的使用 stdio 的服务器,指定服务器可执行文件的路径请使用 vercel-list-all-deployments 工具列出我最近的 Vercel 部署
mcp-proxy 的工具将 MCP 服务器暴露为 HTTP 服务器
npm install -g @modelcontextprotocol/proxy
mcp-proxy --stdio --cmd "npm start" --port 3399
然后在 Claude 中连接:/connect mcp --url http://localhost:3399Cursor 通过其扩展系统内置支持 MCP 工具。
npm start 启动 MCP 服务器你也可以使用 Model Context Protocol SDK 在自己的应用程序中与服务器进行程序化集成:
import { Client } from "@modelcontextprotocol/sdk/client";
// 创建一个连接到 stdio 传输的 MCP 客户端
const client = new Client({
transport: "stdio",
cmd: "npm --prefix /path/to/vercel-mcp start",
});
// 或连接到 HTTP 传输
const httpClient = new Client({
transport: "http",
url: "http://localhost:3399",
});
// 连接到服务器
await client.connect();
// 列出可用工具
const { tools } = await client.listTools();
console.log(
"可用工具:",
tools.map((t) => t.name)
);
// 调用工具
const result = await client.callTool({
name: "vercel-list-all-deployments",
args: { limit: 5 },
});
console.log("部署:", result);
// 你也可以在 Express 服务器中使用这个:
app.post("/api/deployments", async (req, res) => {
try {
const result = await client.callTool({
name: "vercel-list-all-deployments",
args: req.body,
});
res.json(result);
} catch (error) {
res.status(500).json({ error: error.message });
}
});
这里有一些快速示例来帮助你入门。对于更详细的文档和更多示例,请参阅 工具文档。
const response = await mcpClient.callTool({
name: "vercel-list-all-deployments",
args: {
limit: 5,
target: "production",
},
});
const project = await mcpClient.callTool({
name: "vercel-create-project",
args: {
name: "my-awesome-project",
framework: "nextjs",
teamId: "team_1a2b3c4d5e6f7g8h9i0j1k2l",
},
});
const deployment = await mcpClient.callTool({
name: "vercel-create-deployment",
args: {
project: "my-project-id",
gitSource: {
type: "github",
ref: "main",
},
},
});
对于包括文件部署、环境管理和团队操作在内的更详细示例,请参阅文档:
docker build -t vercel-mcp .
docker run -it --rm \
-e VERCEL_API_TOKEN=your_token_here \
-p 3399:3399 \
vercel-mcp
docker run -d \
--name vercel-mcp \
--restart unless-stopped \
-e VERCEL_API_TOKEN=your_token_here \
-p 3399:3399 \
vercel-mcp
docker build --target builder -t vercel-mcp-dev .
docker run -it --rm \
-e VERCEL_API_TOKEN=your_token_here \
-p 3399:3399 \
-v $(pwd)/src:/app/src \
vercel-mcp-dev
src/
├── constants/ # 工具定义
├── tools/
│ ├── deployments/ # 部署处理器
│ │ ├── handlers.ts
│ │ ├── schema.ts
│ │ └── types.ts
│ └── environments/# 环境管理
├── utils/ # API 辅助工具
└── index.ts # 服务器入口点
| 变量 | 描述 | 必需 |
|---|---|---|
VERCEL_API_TOKEN | Vercel 访问令牌 | 是 |
git checkout -b feature/amazing-feature)git commit -m '添加神奇功能')git push origin feature/amazing-feature)MIT 许可证 - 详情见 LICENSE