> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloudthinker.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Vercel

> Kết nối Vercel với CloudThinker để kiểm kê project, kiểm tra deployment, phân loại runtime log, và kiểm tra domain

Kết nối tài khoản Vercel của bạn để cho phép các agent CloudThinker kiểm kê project, kiểm tra deployment và build event, lấy runtime log, kiểm tra domain và alias, cũng như chạy các thao tác có approval-gate như hủy deployment bị treo hoặc tạm dừng project.

Vercel xác thực bằng **access token** mà CloudThinker truyền tới Vercel MCP server chính thức (`@vercel/sdk`). **Phạm vi** của token — tài khoản cá nhân hoặc một team cụ thể — xác định những gì agent có thể truy cập. Không cần quy trình OAuth.

***

## Điều kiện tiên quyết

* Một **tài khoản Vercel** với quyền truy cập vào các team và project bạn muốn kiểm tra.
* Một **access token** được giới hạn cho đúng team.
* Quyền tạo token cho phạm vi đó.

<Info>
  Giới hạn token chỉ cho team mà CloudThinker cần. Các thao tác đọc của kết nối không bao giờ thay đổi tài nguyên Vercel — chỉ có ba thao tác điều khiển có approval-gate mới làm điều đó.
</Info>

***

## Thiết lập

<Steps>
  <Step title="Tạo access token">
    Trong Vercel, vào **Settings → Tokens → Create Token**:

    * **Name**: `cloudthinker`
    * **Scope**: chọn **team** (hoặc tài khoản cá nhân) mà CloudThinker nên truy cập
    * **Expiration**: chọn thời hạn và lên kế hoạch xoay vòng

    Sao chép token ngay — Vercel chỉ hiển thị một lần.
  </Step>

  <Step title="Thêm kết nối trong CloudThinker">
    Điều hướng đến **Connections → Vercel** và nhập:

    * **Token**: access token bạn vừa tạo

    Nhấp **Connect**. CloudThinker khởi động Vercel MCP server và hiển thị trạng thái **Connected**.
  </Step>
</Steps>

<Warning>
  Sao chép access token ngay sau khi tạo. Bạn cần tạo token mới nếu bị mất.
</Warning>

***

## Chi tiết kết nối

| Trường            | Mô tả                                         | Ví dụ |
| ----------------- | --------------------------------------------- | ----- |
| **VERCEL\_TOKEN** | Vercel access token dùng làm MCP bearer token | —     |

<Note>
  CloudThinker xác định team và project từ phạm vi của token, nên không cần cấu hình team ID hay URL thủ công.
</Note>

***

## Quyền cần thiết

Giới hạn token cho **team** có project, deployment, domain và log mà CloudThinker nên truy cập. Các thao tác đọc hoạt động với bất kỳ token nào có thể thấy các tài nguyên đó; ba thao tác điều khiển ngoài ra yêu cầu phạm vi token cho phép chúng **và** [approval](/vi/guide/approval) rõ ràng trong CloudThinker.

<Tip>
  Tuân thủ đặc quyền tối thiểu: giới hạn token cho một team duy nhất và đặt thời hạn. Giữ các thao tác điều khiển có approval-gate thay vì xóa biện pháp bảo vệ.
</Tip>

***

## Khả năng của agent

Sau khi kết nối, các agent có quyền đọc đối với project và deployment Vercel của bạn.

| Khả năng               | Mô tả                                                               |
| ---------------------- | ------------------------------------------------------------------- |
| **Teams & Projects**   | Liệt kê team và project, và kiểm tra domain của project             |
| **Deployments**        | Liệt kê và kiểm tra deployment, deployment event và build output    |
| **Runtime Logs**       | Lấy runtime log để phân loại lỗi                                    |
| **Domains & Aliases**  | Kiểm tra domain, cấu hình domain và alias                           |
| **Account**            | Đọc thông tin người dùng Vercel đã xác thực                         |
| **Deployment Control** | Hủy deployment, tạm dừng và tiếp tục project — **yêu cầu approval** |

<Info>
  `Cancel deployment`, `Pause project` và `Unpause project` có approval-gate. CloudThinker yêu cầu xác nhận trước khi chạy chúng; các thao tác chỉ đọc chạy không cần approval.
</Info>

### Xác minh kết nối

```text theme={null}
@alex check the Vercel connection and list accessible teams and projects
```

### Ví dụ câu lệnh

```text theme={null}
@alex list all projects across my Vercel teams with their framework and latest deployment status and #report as a table
@alex the latest production deployment failed — pull the build events, find the error, and #recommend a fix
@alex show runtime error logs for my Vercel project over the last 6 hours and #alert on 5xx spikes
```

<Note>
  Đối với tài khoản có nhiều project, hãy giới hạn yêu cầu trong một team hoặc project để agent trả về kết quả tập trung hơn.
</Note>

***

## Xử lý sự cố

<Accordion title="Lỗi 401 hoặc 403 Unauthorized">
  Token bị thiếu, hết hạn hoặc bị thu hồi. Tạo Vercel token mới và kết nối lại kết nối Vercel.
</Accordion>

<Accordion title="Agent không thấy team hoặc project mong đợi">
  Phạm vi token không bao gồm các team đó. Tạo token mới được giới hạn cho đúng team và kết nối lại.
</Accordion>

<Accordion title="CloudThinker báo Vercel đã được kết nối">
  Mỗi workspace chỉ cho phép một kết nối Vercel. Sử dụng kết nối hiện có hoặc xóa nó trước khi kết nối lại.
</Accordion>

<Accordion title="Thao tác điều khiển không chạy">
  Hủy, tạm dừng và tiếp tục yêu cầu cả phạm vi token cho phép hành động đó lẫn approval rõ ràng trong CloudThinker. Phê duyệt hành động khi được nhắc và xác nhận phạm vi token cho phép nó.
</Accordion>

***

## Bảo mật

* **Quyền tối thiểu** — chỉ cấp các quyền mà agent cần cho trường hợp sử dụng của bạn; bắt đầu với quyền chỉ đọc và mở rộng sau.
* **Chỉ đọc theo mặc định** — sử dụng thông tin xác thực chỉ đọc trừ khi bạn muốn agent thực hiện thay đổi qua kết nối này.
* **Xoay vòng thông tin xác thực** — xoay vòng khóa và token theo lịch trình thông thường của bạn; CloudThinker sẽ lấy giá trị mới khi bạn cập nhật kết nối.
* **Thu hồi khi bàn giao** — xóa thông tin xác thực tại nhà cung cấp khi bạn xóa một kết nối hoặc khi đồng nghiệp rời nhóm.

- **Đặt thời hạn token** — chọn thời hạn khi tạo token và lên kế hoạch xoay vòng; Vercel token không tự động xoay vòng.
- **Approval cho các thao tác điều khiển** — giữ các hành động hủy, tạm dừng và tiếp tục có approval-gate thay vì xóa biện pháp bảo vệ.

***

## Liên quan

<CardGroup cols={2}>
  <Card title="Kết nối MCP" icon="https://mintcdn.com/cloudthinker/aLd-ttc-SCW-aFky/images/icons/mcp.svg?fit=max&auto=format&n=aLd-ttc-SCW-aFky&q=85&s=c89b6087a9d233901dea5e354452eff6" href="/vi/guide/connections/mcp" width="24" height="24" data-path="images/icons/mcp.svg">
    Kết nối các công cụ và dịch vụ tùy chỉnh bằng MCP
  </Card>

  <Card title="Approval" icon="shield-check" href="/vi/guide/approval">
    Cách thức hoạt động của các hành động có approval-gate
  </Card>
</CardGroup>
