关于 Vercel AI SDK MCP Server Project
此 MCP 服务将部分 Vercel AI SDK Core 能力封装给 Cursor 等 AI 开发环境使用。它面向编排多服务工作流的开发者,并通过工具分类控制开放的工具;Figma 和 magic-mcp 连接器目前为占位实现。
主要功能
- 01将 Vercel AI SDK 函数封装为工具
- 02生成结构化对象和 UI 组件
- 03分类管理启用的工具
- 04提供 Figma 和 magic-mcp 占位连接器
- 05支持 Cursor 配置
适用场景
- 01在 Cursor 中生成结构化内容
- 02使用 Vercel AI SDK 创建 UI 组件
- 03控制 Cursor 中启用的工具数量
MCP 相关
它将 Vercel AI SDK Core 函数作为 MCP 工具提供给 Cursor 等客户端。其预期工作流会协调调用本服务与其他 MCP 服务;Figma 和 magic-mcp 连接器目前仍为占位实现。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Vercel AI SDK MCP 服务项目
此代码仓库包含一个模型上下文协议(MCP)服务,旨在向 Cursor 等 AI 开发环境提供 Vercel AI SDK Core 的功能。它支持使用 generateObject、generateText、streamText 和 UI 生成等功能,还可与其他 MCP 服务(例如通过 Smithery 提供的 mcp-figma 和 magic-mcp)配合使用。
核心功能
- Vercel AI SDK 集成: 提供封装 Vercel AI SDK 核心函数(
generate_object、generate_ui_component等)的 MCP 工具。 - 工具分类: 实现了一个
ToolManager,并提供set_tool_category元工具,以管理向 Cursor 暴露的活动工具数量,确保其保持在合理范围内。 - Figma/Magic MCP 占位项: 包含
mcp-figma和magic-mcp的占位连接器和工具注册,计划通过 Cursor AI 进行编排(路径 2)。 - 支持通过 Smithery 部署: 配置了
Dockerfile和smithery.yaml,便于在 Smithery.ai 上部署。 - Cursor 集成: 设计为通过
.cursor/mcp.json配置在 Cursor 中使用。
架构方案(路径 2 编排)
此服务主要设计为由 Cursor 中的 AI 编排的多 MCP 工作流中的一个组件(路径 2)。
预期工作流如下:
- 使用提示词和 Cursor 规则(
.cursor/rules/)引导 AI。 - 依次调用不同的 MCP 服务:
- 使用
mcp-figma(通过 Smithery)提取设计。 - 使用
magic-mcp(通过 Smithery)获取灵感并构建组件。 - 使用此
vercel-ai-sdk-mcp服务处理 Vercel AI SDK 特定任务(例如结构化生成)。
- 使用
- AI 汇总各步骤中的上下文,以实现最终目标。
代码中存在一个展示服务间直接交互的组合工具(generate_enhanced_component_from_figma)(路径 1),位于 src/integrations/crossIntegration.ts;但要使用它,需要在连接器中实现功能完整的 MCP 客户端,因此这并非此设置的主要预期使用模式。
前置条件
- Node.js(推荐 v20 或更高版本)
- npm
- Git
- Cursor
- Smithery 账号(用于部署)
- API 密钥:
- OpenAI API 密钥(必需)
- Figma API 密钥(实现 Figma 集成时必需)
- 21st Dev API 密钥(实现 Magic MCP 集成时必需)
本地设置
- 克隆代码仓库:
git clone https://github.com/chiziuwaga/vercel-ai-sdk-mcp-project.git cd vercel-ai-sdk-mcp-project - 安装依赖项:
npm install - 创建
.env文件: 将.env.example复制为.env,并填写 API 密钥:OPENAI_API_KEY=sk-your-openai-key ANTHROPIC_API_KEY=sk-ant-your-anthropic-key # 可选 FIGMA_API_KEY=your-figma-key # 后续实现时使用 TWENTY_FIRST_API_KEY=your-21st-key # 后续实现时使用 TRANSPORT_TYPE=stdio # 本地使用时保持为 stdio PORT=3000 # 仅在 TRANSPORT_TYPE=sse 时使用 - 构建代码:
npm run build - 在本地运行:
服务将通过 stdio 运行,并等待连接。npm run start
Cursor 集成(本地)
要在 Cursor 中使用本地服务:
-
确保可通过本地
npx运行mcp-figma和magic-mcp。 -
修改工作区的
.cursor/mcp.json,使用 Node 直接运行此服务:{ "mcpServers": { "magic-mcp": { ... }, // 保留现有 Smithery 配置 "mcp-figma": { ... }, // 保留现有 Smithery 配置 "vercel-ai-sdk-mcp": { "command": "node", "args": ["dist/index.js"], // 相对于工作区根目录的路径 "env": { // 本地运行时直接传入密钥 "OPENAI_API_KEY": "${OPENAI_API_KEY}", "ANTHROPIC_API_KEY": "${ANTHROPIC_API_KEY}", "FIGMA_API_KEY": "${FIGMA_API_KEY}", "TWENTY_FIRST_API_KEY": "${TWENTY_FIRST_API_KEY}", "TRANSPORT_TYPE": "stdio" } } } } -
确保 Cursor 能从你的环境中读取
${API_KEY}变量。
使用示例(路径 2)
-
确保 MCP 服务正在运行(在本地运行,或通过
.cursor/mcp.json中的 Smithery 配置)。 -
创建 Cursor 规则: 在
.cursor/rules/中添加规则文件,以指导 AI(参见下文)。 -
向 Cursor AI 提示: 提供类似前文所述用户故事的多步骤提示,指示 AI 依次调用
mcp-figma、magic-mcp和vercel-ai-sdk-mcp中的工具。示例片段:
"首先,使用 mcp-figma 的 extract_figma_design……然后,使用 magic-mcp 的灵感工具……最后,使用 vercel-ai-sdk-mcp 的 generate_ui_component,并结合上下文……"
Cursor 规则(.cursor/rules/)
要有效使用路径 2 的编排方式,需要为 Cursor AI 创建指导规则。你必须在项目根目录中创建 .cursor/rules/ 目录,并添加规则文件(例如,figma.cursorule、magic.cursorule、vercel.cursorule)。
- 这些文件应包含自然语言说明,内容包括:
- 针对特定任务,使用各 MCP 服务中的哪些工具。
- 如何组织这些工具的提示词。
- 如何在连续的工具调用之间传递上下文(数据)。
- 标准工作流(例如,Figma -> Magic -> Vercel)。
有关语法和示例,请参阅 Cursor 规则文档。
部署(Smithery)
- 推送到 GitHub: 确保已将最新代码(包括
Dockerfile和smithery.yaml)推送到 GitHub 上的main分支。 - 前往 Smithery.ai: 登录并查找/添加你的
chiziuwaga/vercel-ai-sdk-mcp-project服务。 - 部署: 前往“Deployments”选项卡,然后点击“Create Deployment”。
- 配置: 按 Smithery 的提示提供必需的 API 密钥(
openaiApiKey等)。这些密钥会得到安全存储。 - 启动: 开始部署流程。Smithery 会构建 Docker 镜像并运行容器。
Cursor 集成(已部署)
在 Smithery 上完成部署后:
-
更新
.cursor/mcp.json,为你的服务使用 Smithery CLI 运行器(内容应与当前内容一致):{ "mcpServers": { "magic-mcp": { ... }, // 保留现有 Smithery 配置 "mcp-figma": { ... }, // 保留现有 Smithery 配置 "vercel-ai-sdk-mcp": { "command": "npx", "args": [ "-y", "@smithery/cli@latest", "run", "chiziuwaga/vercel-ai-sdk-mcp-project", "--config", // 确保 Cursor 能访问这些环境变量 "{"openaiApiKey":"${OPENAI_API_KEY}", "anthropicApiKey":"${ANTHROPIC_API_KEY}", "figmaApiKey":"${FIGMA_API_KEY}", "twentyFirstApiKey":"${TWENTY_FIRST_API_KEY}", "transportType":"stdio"}" ] } } } -
确保 Cursor 能从你的环境中访问
--configJSON 字符串中引用的${API_KEY}变量。
配置
完整功能需要 API 密钥:
OPENAI_API_KEY:Vercel AI SDK 工具必需。请在 Smithery 部署配置中提供,或在本地运行时填写到.env中。ANTHROPIC_API_KEY:可选,用于 Anthropic 模型。FIGMA_API_KEY:仅在实现FigmaConnector时必需。TWENTY_FIRST_API_KEY:仅在实现MagicMcpConnector时必需。
占位内容与后续工作
- 实现连接器:
src/integrations/figma/connector.ts和src/integrations/magicMcp/connector.ts中包含占位内容。需要添加实际的 API 调用(针对 Figma)和 MCP 客户端逻辑(可能针对 Magic MCP,具体取决于其接口),以启用集成工具。 - 添加更多工具: 按照规范实现剩余的 Vercel AI SDK 工具(文本生成、流式传输、聊天、代码生成等)。
- 错误处理: 改进错误处理,尤其是针对缺少 API 密钥的情况。
- 测试: 添加自动化测试。
许可证
ISC 许可证(根据 package.json)。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。