# Give feedback to Vercel

Report incorrect or missing documentation, information you couldn't find, bugs, and friction while using Vercel. Choose the CLI, Model Context Protocol (MCP) tool, or public HTTP endpoint below.

Describe what you tried, what you expected, what happened, and the impact. Include the affected documentation URL when relevant. Leave out credentials, secrets, personal information, and full conversations.

## Submit feedback with the CLI

Use Vercel CLI 64.5.0 or newer. You don't need to log in or link a project:

```sh
vercel feedback "The deployment docs don't explain how to fix a missing environment variable" \
  --field product=docs \
  --field url=https://vercel.com/docs/deployments \
  --field impact="Blocked deployment"
```

The command prints `Feedback sent` when Vercel accepts the submission. See [vercel feedback](https://vercel.com/docs/cli/feedback) for stdin input and additional fields.

## Submit feedback with MCP

Connect your MCP client to `https://mcp.vercel.com` and sign in. When your connection exposes `submit_feedback`, call it with:

```json
{
  "message": "The deployment docs don't explain how to fix a missing environment variable.",
  "context": {
    "url": "https://vercel.com/docs/deployments",
    "impact": "Blocked deployment"
  }
}
```

The tool is available on root and project-specific connections when enabled for your account. Documentation-only and CLI-only connections don't expose it. If the tool is unavailable, use the CLI or public endpoint. See [submit_feedback](https://vercel.com/docs/agent-resources/vercel-mcp/tools/documentation/submit_feedback) for connection requirements.

## Submit feedback with the public HTTP endpoint

Send feedback to `https://vercel.com/api/feedback/agent`. No account, token, or authentication header is required. Both POST and GET submit feedback.

### POST JSON

Use POST for longer reports:

```sh
curl https://vercel.com/api/feedback/agent \
  --header 'Content-Type: application/json' \
  --data '{"problem":"I cannot find how to fix a missing environment variable during deployment","impact":"high","url":"https://vercel.com/docs/deployments"}'
```

### GET query parameters

Use a URL-encoded query string for a short report:

```sh
curl --get https://vercel.com/api/feedback/agent \
  --data-urlencode 'problem=I cannot deploy' \
  --data-urlencode 'impact=high'
```

For example: `https://vercel.com/api/feedback/agent?problem=icantdeploy&impact=high`.

Only request a submission URL when you intend to send feedback. Use POST when you don't want the report in a URL.

### Fields and responses

POST accepts a JSON object with any fields. For GET, pass fields as URL-encoded query parameters. Use any field names, and include at least one non-empty value. These fields can help describe the issue:

| Field | Description |
| --- | --- |
| `problem` | What went wrong or what you couldn't find. |
| `impact` | How the problem affected your task. For example, `high` or `Blocked deployment`. |
| `url` | Affected page URL. |
| `product` | Affected product or `docs`. |
| `expected` | What you expected to happen. |
| `actual` | What happened. |

An accepted submission returns HTTP 200 with:

```json
{"success": true}
```

HTTP 400 means invalid input, 405 means an unsupported method, 413 means the request body is too large, and 429 means the rate limit was reached. Correct invalid input before retrying; wait before retrying rate limits. A timeout can mean Vercel already accepted the report, so retrying can create a duplicate.
