# V0 — MCP server on mcp.ai > Connect your V0 account and use 44 tools for artificial intelligence straight from your AI agent. Connect with your own API key. v0 is an AI-powered web development assistant built by Vercel, designed to generate real, production-ready code for modern web applications. By: mcp.ai · official Page: https://mcp.ai/v0 ## Connect (MCP protocol) Remote MCP endpoint (HTTP, streamable): https://api.mcp.ai/p_v0?ms=1787296080000 Add it as a custom/remote MCP connector, then authenticate when prompted. ## REST API (no MCP client required) Every tool is also a REST endpoint, authed with a workspace API key. Discover: GET https://api.mcp.ai/api/v0/_endpoints # public; lists every endpoint Call: POST https://api.mcp.ai/api/v0/ Authorization: Bearer sk_live_… # create one at https://mcp.ai/settings/api-keys Content-Type: application/json Body: { …args } → { "ok": true, "tool": "", "result": { … } } ## Developer docs How to use (MCP or REST), markdown: https://mcp.ai/v0/skill.md Postman collection (v2.1): https://mcp.ai/v0/postman.json ## Tools - v0_assign_chat_to_project(chatId: string, projectId: string) — Tool to assign a chat to a project. Use when you need to group a conversation under a shared project context for better organization. - v0_chat_completions(model?: string, tools?: object[], stream?: boolean, messages: object[], tool_choice?: string|object) — Tool to generate a chat model response given a list of messages. Use when you need AI-powered conversational replies via the v0 API. Note: This action uses the POST /chats endpoint which creates a per - v0_create_hook_v0(url: string, name: string, chatId?: string, events: string[]) — Tool to create a new webhook subscription for receiving event notifications. Use when you need to listen for chat or message events from v0. - v0_create_project(icon?: string, name: string, privacy?: string, description?: string, instructions?: string, vercelProjectId?: string, environmentVariables?: object[]) — Tool to create a new v0 project container for chats and code generation. Use when you need to start a clean project with specific configuration. - v0_create_project_env_vars(upsert?: boolean, decrypted?: string, projectId: string, environmentVariables: object[]) — Tool to create new environment variables for a v0 project. Use when you need to add environment variables to a project. By default, fails if any keys already exist unless upsert is set to true. - v0_create_vercel_project(name: string, projectId: string) — Tool to link a Vercel project to an existing v0 project. Use when you need to enable Vercel-related features and deployment integration for a v0 project. - v0_delete_chat(chatId: string) — Tool to permanently delete a specific chat by ID. Use when you need to remove a chat and all its contents irreversibly. - v0_delete_deployment(deploymentId: string) — Tool to delete a deployment by ID from Vercel. Use when you need to remove a specific deployment permanently. - v0_delete_hook(hookId: string) — Tool to delete a webhook by its ID. Use when you need to remove a webhook subscription. This action is irreversible. - v0_delete_project_env_vars_v0(projectId: string, environmentVariableIds: string[]) — Tool to delete multiple environment variables from a project by their IDs. Use when you need to remove environment variables from a v0 project. - v0_delete_v0_project(projectId: string, deleteAllChats?: string) — Tool to permanently delete a v0 project by its ID. Use when you need to remove a project and optionally all its associated chats. This operation is irreversible. - v0_deploy_project(chatId: string, projectId: string, versionId: string) — Tool to deploy a specific v0 chat version to Vercel. Use when you need to create a live deployment with public URLs after generating code via v0. - v0_download_chat_version(chatId: string, format?: string, versionId: string, includeDefaultFiles?: string) — Tool to download all files for a specific chat version as a zip or tarball archive. Use when you need to retrieve a complete downloadable archive of a version's files, optionally including deployment - v0_export_project_code(chatId: string, versionId: string, includeDefaultFiles?: string) — Tool to export a deployable snapshot of a v0 chat version by retrieving all files (including default/deployment files). Use when you need to get the complete generated code for a specific version, rea - v0_favorite_chat(chatId: string, isFavorite: boolean) — Tool to mark a chat as favorite or remove the favorite status. Use when you need to organize and quickly access important chats. - v0_find_chats(limit?: integer, offset?: integer, isFavorite?: boolean) — Tool to retrieve a list of chats. Use when you need to list user chats with pagination and optional favorite filtering after authentication. - v0_find_projects(after?: string, limit?: integer) — Tool to retrieve a list of projects associated with the authenticated user. Use after obtaining a valid API key. - v0_find_vercel_projects(after?: string, limit?: integer) — Tool to retrieve a list of Vercel projects linked to the user's v0 workspace. Use when you need to discover available Vercel projects for deployment or integration purposes. - v0_fork_chat(chatId: string, privacy?: string, versionId?: string) — Tool to create a fork (copy) of an existing chat. Use when you need to explore alternative directions without modifying the original conversation. - v0_get_chat(chatId: string) — Tool to retrieve the full details of a specific chat using its chatId. Use when you need to access chat messages, metadata, and configuration for a specific chat. - v0_get_chat_project(chatId: string) — Tool to retrieve the v0 project associated with a given chat. Use when you need to determine the context or scope of a chat session. - v0_get_deployment_errors(deploymentId: string) — Tool to retrieve errors for a specific deployment. Use when diagnosing and debugging deployment issues. - v0_get_deployment_logs(since?: integer, deploymentId: string) — Tool to retrieve logs for a specific deployment. Use when you need to debug or monitor deployment behavior by fetching log entries, optionally filtered by timestamp. - v0_get_hook(hookId: string) — Tool to retrieve detailed information about a specific webhook by its ID. Use when you need to inspect webhook configuration, subscribed events, or target URL. - v0_get_message(chatId: string, messageId: string) — Tool to retrieve detailed information about a specific message within a chat. Use when you need to access message content, metadata, attachments, or model configuration for a known message ID. - v0_get_project(projectId: string) — Tool to retrieve the details of a specific v0 project by its ID, including associated chats and metadata. Use when you need to inspect project configuration or access related chats. - v0_get_project_env_var(decrypted?: string, projectId: string, environmentVariableId: string) — Tool to retrieve a specific environment variable for a given project by its ID, including its value. Use when you need to get the details of a particular environment variable for a project. - v0_get_rate_limits(scope?: string) — Tool to retrieve the current rate limits for the authenticated user. Use when you need to monitor usage limits and avoid throttling. - v0_get_usage_report_v0(limit?: integer, chatId?: string, cursor?: string, userId?: string, endDate?: string, messageId?: string, startDate?: string) — Tool to retrieve detailed usage events including costs, models used, and metadata. Use when you need to access usage data from the dashboard, filter by chat/user, or analyze costs. - v0_get_user() — Tool to retrieve the currently authenticated user's information. Use when you need to get the user's ID, name, email, avatar, or account metadata. - v0_get_user_billing(scope?: string) — Tool to fetch billing usage and quota information for the authenticated user. Use when you need to check the user's billing details or usage metrics. Can be scoped to a specific project or namespace. - v0_get_user_plan_v0() — Tool to retrieve the authenticated user's subscription plan details including billing cycle and balance. Use to check plan status and usage limits. - v0_get_user_scopes() — Tool to retrieve all accessible scopes for the authenticated user, such as personal workspaces or shared teams. Use when you need to understand which workspaces the user can access. - v0_init_v0_chat(zip?: object, name?: string, repo?: object, type?: string, files?: object[], registry?: object, projectId?: string, templateId?: string, chatPrivacy?: string) — Tool to initialize a new chat from source content such as files, repositories, registries, zip archives, or templates. Use when you need to start a new v0 chat session with pre-populated content. Init - v0_list_chat_versions(limit?: integer, chatId: string, cursor?: string) — Tool to retrieve all versions (iterations) for a specific chat, ordered by creation date (newest first). Use when you need to view the history of a chat's generated versions with cursor-based paginati - v0_list_deployments(chatId: string, projectId: string, versionId: string) — Tool to retrieve a list of deployments for a given project, chat, and version. Use when you need to check existing deployments for specific project versions. - v0_list_hooks(after?: string, limit?: integer) — Tool to retrieve all webhooks tied to chat events or deployments. Use when you need to list configured webhooks after authentication. - v0_list_messages(limit?: integer, chatId: string, cursor?: string) — Tool to retrieve all messages within a specific chat. Use when you need to list messages with content, role, and type information. Supports pagination for chats with many messages. - v0_list_project_env_vars(decrypted?: string, projectId: string) — Tool to retrieve all environment variables for a project with optional decryption. Use when you need to view project configuration or secrets. - v0_update_chat(name?: string, chatId: string, privacy?: string) — Tool to update metadata of an existing v0 chat. Use when you need to rename a chat or change its privacy setting after creation. - v0_update_chat_version(files: object[], chatId: string, versionId: string) — Tool to update source files of a specific chat version. Use when you need to manually edit generated files through the API. - v0_update_hook(url?: string, name?: string, events?: string[], hookId: string) — Tool to update the configuration of an existing webhook, including its name, event subscriptions, or target URL. Use when you need to modify webhook settings after creation. - v0_update_project(name?: string, privacy?: string, projectId: string, description?: string, instructions?: string) — Tool to update the metadata of an existing v0 project using its projectId. Use when you need to change the project name, description, instructions, or privacy setting. - v0_update_project_env_vars(decrypted?: string, projectId: string, environmentVariables: object[]) — Tool to update environment variables for a v0 project. Use when you need to modify the values of existing environment variables. ## Example prompts - "What can I do in V0?" - "Show me a summary of my V0 account" ## Links Docs: https://mcp.ai/docs/mcps/v0 Website: https://mcp.ai/mcps/v0