项目简介

这是一个基于 Model Context Protocol (MCP) 标准构建的服务器实现,它集成了 Vercel 的 v0.dev AI 能力,为支持 MCP 协议的 LLM 客户端(如 Claude Desktop, Cursor 等)提供高级的代码辅助功能。通过这个服务器,你可以直接在兼容的 AI 编辑器或客户端中利用 v0.dev 的 AI 模型进行 Web 开发任务。

主要功能点

  • 完整 Web 应用生成: 根据自然语言描述,生成基于 Next.js, React, Vue, Svelte 等框架的完整 Web 应用程序代码。
  • 智能代码增强: 对现有代码进行 AI 驱动的改进和优化,例如添加类型、重构等。
  • 智能代码调试: 自动检测并修复代码中的问题,可根据错误信息进行精确修正。
  • 可复用组件生成: 创建带有 TypeScript 类型定义的、可复用的前端组件。
  • 高性能: 利用 Bun 运行时提供极快的安装和运行速度。
  • MCP 兼容: 可与任何支持 MCP 协议的客户端无缝协作。
  • 类型安全: 使用 TypeScript 开发,并结合 Zod 进行数据验证。

安装步骤

  1. 安装 Bun: 如果你尚未安装 Bun 运行时,请根据 Bun 官方文档 进行安装。推荐使用 'curl -fsSL https://bun.sh/install | bash' (macOS/Linux) 或 'powershell -c "irm bun.sh/install.ps1 | iex"' (Windows)。
  2. 获取代码: 克隆本仓库到你的本地机器。
    git clone https://github.com/nicotordev/v0-mcp-ts.git
    cd v0-mcp-ts
  3. 安装依赖: 使用 Bun 安装项目依赖。
    bun install
  4. 运行设置脚本: 执行设置脚本,它会引导你配置 v0.dev API Key,并构建项目。
    bun run setup
    • 你需要一个有效的 v0.dev API Key (需要 Premium 或 Team 计划)。设置脚本会提示你输入并保存在 '.env' 文件中。
    • 设置脚本会自动构建项目并运行测试。

服务器配置 (用于 MCP 客户端)

MCP 客户端(如 Claude Desktop, Cursor)需要配置 MCP 服务器的启动命令和参数才能与其建立连接。对于此服务器,你需要提供以下信息:

  • 服务器名称: 你可以自定义一个名称,例如 'v0.dev' 或 'v0-mcp-ts'。
  • 命令 (command): 启动服务器的可执行文件。由于项目构建后生成的是 Node.js 模块,通常命令是 'node'。
  • 参数 (args): 传递给命令的参数。参数应包含服务器的入口文件路径,例如 '/absolute/path/to/your/v0-mcp-ts/dist/index.js'。请将 '/absolute/path/to/your/v0-mcp-ts/' 替换为你实际克隆仓库的绝对路径。
  • 环境变量 (env): 必须设置 'V0_API_KEY' 环境变量,其值是你获得的 v0.dev API Key。大多数 MCP 客户端允许在配置中直接设置环境变量。

客户端配置示例(非代码,说明所需信息):

  • 指定一个服务器名称 (Name)。
  • 设置启动命令 (Command) 为 'node'。
  • 设置启动参数 (Args) 为包含服务器入口文件绝对路径的数组,例如 '['/path/to/v0-mcp-ts/dist/index.js']'。
  • 在环境变量 (Env) 中设置 'V0_API_KEY' 的值。

具体的配置方式请参考你的 MCP 客户端的文档。

基本使用方法

服务器启动后,通过兼容的 MCP 客户端连接到该服务器。连接成功后,你可以在客户端中发现此服务器提供的工具、资源和 Prompt:

  • 工具 (Tools): 调用如 'generate_webapp', 'enhance_code', 'debug_code', 'generate_component' 等工具,执行代码生成、增强、调试等任务。根据工具的描述和参数要求,向 AI 提出请求。
  • 资源 (Resources): 访问如 'v0://api-docs' 这样的资源,获取 v0.dev API 的相关文档和信息。
  • Prompt (Prompts): 使用预定义的 Prompt 模板,如 'create-webapp',来启动特定的 AI 工作流程。

在客户端界面中选择对应的工具、资源或 Prompt,并提供必要的输入信息即可与服务器进行交互。

信息

分类

开发者工具