使用说明
项目简介
Three Vision Builder MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在为LLM客户端提供生成和管理3D模型的能力。它允许用户通过文本提示和参考图像,利用AI模型(如GPT-4o)生成 Three.js 代码,从而创建3D模型。此服务器作为 MCP 服务器,负责处理模型生成请求、管理生成历史,并通过标准化的 MCP 协议与客户端进行通信。
主要功能点
- 3D 模型生成: 接受文本提示和可选的参考图像,调用 AI 模型生成 Three.js 代码以创建 3D 模型。
- 模型迭代: 支持基于先前的渲染结果或代码进行迭代优化模型。
- 生成历史管理: 提供资源接口,允许客户端查询和访问过往的模型生成记录。
- 可中断生成: 提供工具接口,允许客户端中断正在进行的模型生成过程。
- 基于 MCP 协议: 遵循 MCP 协议标准,易于与兼容 MCP 协议的 LLM 客户端集成。
安装步骤
- 克隆仓库:
git clone https://github.com/cfreshman/three-vision-builder.git cd three-vision-builder - 安装依赖:
npm install - 配置 OpenAI API 密钥:
在项目根目录下创建 '.env' 文件,并添加你的 OpenAI API 密钥:
OPENAI_API_KEY=your_key_here
服务器配置
MCP 客户端需要配置以下信息以连接到 Three Vision Builder MCP Server。以下是基于仓库信息生成的配置示例(JSON 格式):
{ "serverName": "three-vision-builder-mcp-server", "transport": "stdio", "command": "node", "args": [ "path/to/three-vision-builder/dist/mcp/server.js" // 将 "path/to/three-vision-builder" 替换为你的仓库本地路径 ], "capabilities": { "resources": [ "generations", "generation" ], "tools": [ "generate-manifold", "interrupt" ] } }
配置参数说明:
- 'serverName': MCP 服务器的名称,可以自定义。
- 'transport': 传输协议,这里使用 'stdio' (标准输入输出)。
- 'command': 启动 MCP 服务器的命令,这里使用 'node' 运行 JavaScript 文件。
- 'args': 启动命令的参数,指向编译后的 MCP 服务器入口文件 'server.js' 的路径。 请务必将 'path/to/three-vision-builder' 替换为你的仓库在本地的实际路径。 该路径应指向仓库根目录下的 'dist/mcp/server.js' 文件。
- 'capabilities': 声明服务器提供的能力,包括 'resources' (资源) 和 'tools' (工具)。
- 'resources': 服务器提供的资源名称,例如 'generations' (生成记录列表) 和 'generation' (特定生成记录详情)。
- 'tools': 服务器提供的工具名称,例如 'generate-manifold' (生成 3D 模型) 和 'interrupt' (中断生成)。
重要提示:
- 在运行 MCP 客户端之前,请确保已经成功构建项目。运行 'npm run build' 命令可以构建项目,生成 'dist' 目录。
- MCP 客户端需要根据上述配置信息,使用 Stdio 传输协议连接到该 MCP 服务器。
基本使用方法
- 启动服务器:
在项目根目录下,分别启动前端、API 服务器和 MCP 服务器,或者直接运行 'npm run dev' 一次性启动所有服务。
或者分别启动:npm run devnpm run dev:client # 前端 (Vite/React) npm run dev:api # API 服务器 (Express) npm run dev:mcp # MCP 服务器 (TypeScript) - 配置 MCP 客户端: 根据上述 "服务器配置" 部分的说明,配置你的 MCP 客户端,使其能够连接到本 MCP 服务器。你需要提供正确的 'command' 和 'args' 以启动 'dist/mcp/server.js' 文件。
- 通过 MCP 客户端与服务器交互:
- 客户端可以调用 'generate-manifold' 工具,并提供文本提示和参考图像(可选)来请求生成 3D 模型。
- 客户端可以调用 'interrupt' 工具来中断正在进行的模型生成过程。
- 客户端可以读取 'generations://list' 资源来获取所有生成记录的列表。
- 客户端可以读取 'generation://{id}' 资源来获取特定生成记录的详细信息,例如生成的 Three.js 代码。
- 查看和使用生成的 3D 模型: 生成的 Three.js 代码可以被客户端获取并用于在 Three.js 环境中渲染和展示 3D 模型。仓库自带的 Web 客户端 (Frontend) 提供了一个示例,展示了如何加载和显示生成的模型。
信息
分类
AI与计算