Model Context Protocol server for v0 - enables MCP clients to create, manage, and iterate on v0 chats and projects
v0-mcp has 9 tools with explicit schemas and descriptions. Most tools follow verb_noun naming conventions (create_chat, get_user_info, list_files, etc.) which is good. However, there are significant gaps in parameter descriptions, schema completeness, and output documentation. Descriptions are present but often generic (e.g., 'Retrieve user information from v0' lacks context on what fields are returned or when to use it). Several parameters lack descriptions or are under-specified (e.g., find_chats has limit/offset as strings instead of integers, isFavorite as string instead of boolean). Error handling and recovery guidance are absent from tool descriptions. No tool includes documentation of output schemas or what fields downstream tools can expect. The server does implement basic error handling via errorReporting but lacks actionable error messages that guide agent recovery.
Create a new v0 chat session with AI
Add a new message to an existing v0 chat
Create a new project in v0
Mark a v0 chat as favorite or remove from favorites
Search and list v0 chats with optional filtering
Retrieve a specific v0 chat by ID and populate sessionfilestore with its files
Retrieve user information from v0
find_chats uses string types for limit and offset instead of integers, and isFavorite as string instead of boolean. This violates type correctness and forces LLM to pass invalid values.
get_user_info lacks any description of what fields it returns, making it impossible for agents to plan downstream tool calls. No output schema documented.
Multiple tools have generic descriptions that fail to explain WHEN to use them vs similar tools. E.g., create_chat vs init_chat, when should an agent choose each?
No tool descriptions document their output schema or what fields are returned. Agents cannot know if a response includes team_id, user_id, or other chaining IDs needed for follow-up calls.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 67 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 0 | - | v1 |
Initialize a new v0 chat from existing files. If not provided by the user, ask what directory or list of files you should get the contents of to send over.
List files from a specific v0 chat. Automatically fetches files from v0 if not already cached locally. Returns code files, components, and other generated content from the chat.
No parameter descriptions explain constraints, formats, or valid values. E.g., chatPrivacy enum in init_chat has values but no guidance on what each means or the default.
No error handling guidance in any tool description. Agents cannot know what to do if a call fails (retry? ask user? give up?). No recovery patterns documented.
init_chat description says 'If not provided by the user, ask what directory...' but tools should not ask users, tools should have required parameters. This is vague guidance that shifts responsibility to the agent.
list_files parameter descriptions lack guidance on what format the language filter expects. Should it be 'typescript' or 'ts' or both?