Vercel AI SDK MCP Server Project
An MCP server for the Vercel AI SDK, enabling integrations with Figma and 21st.dev Magic.
Vercel AI SDK MCP Server Project
This repository contains a Model Context Protocol (MCP) server designed to expose capabilities of the Vercel AI SDK Core to AI development environments like Cursor. It allows leveraging features like generateObject, generateText, streamText, and UI generation alongside other MCP servers (like mcp-figma and magic-mcp via Smithery).
Core Features
- Vercel AI SDK Integration: Provides MCP tools wrapping core Vercel AI SDK functions (
generate_object,generate_ui_component, etc.). - Tool Categorization: Implements a
ToolManagerwith aset_tool_categorymeta-tool to manage the number of active tools exposed to Cursor, keeping within reasonable limits. - Figma/Magic MCP Placeholders: Includes placeholder connectors and tool registrations for
mcp-figmaandmagic-mcp, intended for orchestration via Cursor AI (Pathway 2). - Smithery Deployment Ready: Configured with
Dockerfileandsmithery.yamlfor easy deployment on Smithery.ai. - Cursor Integration: Designed to be used within Cursor via the
.cursor/mcp.jsonconfiguration.
Architectural Approach (Pathway 2 Orchestration)
This server is primarily designed to be one component in a multi-MCP workflow orchestrated by the AI within Cursor (Pathway 2).
The intended workflow involves:
- Using prompts and Cursor Rules (
.cursor/rules/) to guide the AI. - Making sequential calls to different MCP servers:
mcp-figma(via Smithery) for design extraction.magic-mcp(via Smithery) for inspiration/component building.- This
vercel-ai-sdk-mcpserver for Vercel AI SDK specific tasks (like structured generation).
- The AI combines context from each step to achieve the final goal.
While a composite tool (generate_enhanced_component_from_figma) demonstrating direct server-to-server interaction (Pathway 1) exists in the code (src/integrations/crossIntegration.ts), it requires implementing functional MCP clients within the connectors and is not the primary intended usage pattern for this setup.
Prerequisites
- Node.js (v20 or later recommended)
- npm
- Git
- Cursor
- Smithery Account (for deployment)
- API Keys:
- OpenAI API Key (Required)
- Figma API Key (Required for implementing Figma integration)
- 21st Dev API Key (Required for implementing Magic MCP integration)
Local Setup
- Clone Repository:
git clone https://github.com/chiziuwaga/vercel-ai-sdk-mcp-project.git cd vercel-ai-sdk-mcp-project - Install Dependencies:
npm install - Create
.envFile: Copy.env.exampleto.envand fill in your API keys:OPENAI_API_KEY=sk-your-openai-key ANTHROPIC_API_KEY=sk-ant-your-anthropic-key # Optional FIGMA_API_KEY=your-figma-key # For future implementation TWENTY_FIRST_API_KEY=your-21st-key # For future implementation TRANSPORT_TYPE=stdio # Keep as stdio for local PORT=3000 # Only used if TRANSPORT_TYPE=sse - Build the Code:
npm run build - Run Locally:
The server will be running using stdio, waiting for connections.npm run start
Cursor Integration (Local)
To use the local server in Cursor:
-
Ensure
mcp-figmaandmagic-mcpare runnable vianpxlocally. -
Modify your workspace
.cursor/mcp.jsonto run this server directly with Node:{ "mcpServers": { "magic-mcp": { ... }, // Keep existing Smithery config "mcp-figma": { ... }, // Keep existing Smithery config "vercel-ai-sdk-mcp": { "command": "node", "args": ["dist/index.js"], // Path relative to workspace root "env": { // Pass keys directly for local run "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" } } } } -
Make sure the
${API_KEY}variables are accessible in your environment where Cursor can read them.
Usage Example (Pathway 2)
-
Ensure MCP Servers are running (locally or configured via Smithery in
.cursor/mcp.json). -
Create Cursor Rules: Add rule files in
.cursor/rules/to guide the AI (see section below). -
Prompt Cursor AI: Give a multi-step prompt like the User Story described previously, instructing the AI to call tools sequentially across
mcp-figma,magic-mcp, andvercel-ai-sdk-mcp.Example Snippet:
"First, use mcp-figma's extract_figma_design... Then use magic-mcp's inspiration tool... Finally, use vercel-ai-sdk-mcp's generate_ui_component with the combined context..."
Cursor Rules (.cursor/rules/)
Effective use of the Pathway 2 orchestration relies on creating guidance rules for the Cursor AI. You must create a .cursor/rules/ directory in your project root and add rule files (e.g., figma.cursorule, magic.cursorule, vercel.cursorule).
- These files should contain natural language instructions on:
- Which tools to use from each MCP server for specific tasks.
- How to structure prompts for those tools.
- How to pass context (data) between sequential tool calls.
- Standard workflows (e.g., Figma -> Magic -> Vercel).
Refer to the Cursor Rules Documentation for syntax and examples.
Deployment (Smithery)
- Push to GitHub: Ensure your latest code, including
Dockerfileandsmithery.yaml, is pushed to themainbranch on GitHub. - Go to Smithery.ai: Log in and find/add your
chiziuwaga/vercel-ai-sdk-mcp-projectserver. - Deploy: Go to the "Deployments" tab and click "Create Deployment".
- Configure: Provide the required API keys (
openaiApiKey, etc.) when prompted by Smithery. These are stored securely. - Launch: Start the deployment process. Smithery builds the Docker image and runs the container.
Cursor Integration (Deployed)
Once deployed on Smithery:
-
Update your
.cursor/mcp.jsonto use the Smithery CLI runner for your server (this should match the current content):{ "mcpServers": { "magic-mcp": { ... }, // Keep existing Smithery config "mcp-figma": { ... }, // Keep existing Smithery config "vercel-ai-sdk-mcp": { "command": "npx", "args": [ "-y", "@smithery/cli@latest", "run", "chiziuwaga/vercel-ai-sdk-mcp-project", "--config", // Ensure these env vars are available to Cursor "{"openaiApiKey":"${OPENAI_API_KEY}", "anthropicApiKey":"${ANTHROPIC_API_KEY}", "figmaApiKey":"${FIGMA_API_KEY}", "twentyFirstApiKey":"${TWENTY_FIRST_API_KEY}", "transportType":"stdio"}" ] } } } -
Ensure the
${API_KEY}variables referenced in the--configJSON string are accessible to Cursor from your environment.
Configuration
API Keys are required for full functionality:
OPENAI_API_KEY: Required for Vercel AI SDK tools. Provide during Smithery deployment config or in.envfor local runs.ANTHROPIC_API_KEY: Optional, for Anthropic models.FIGMA_API_KEY: Required only whenFigmaConnectoris implemented.TWENTY_FIRST_API_KEY: Required only whenMagicMcpConnectoris implemented.
Placeholders & Future Work
- Implement Connectors: The
src/integrations/figma/connector.tsandsrc/integrations/magicMcp/connector.tscontain placeholders. They need to be implemented with actual API calls (for Figma) and MCP client logic (potentially for Magic MCP, depending on its interface) to enable the integration tools. - Add More Tools: Implement the remaining Vercel AI SDK tools (text generation, streaming, chat, code gen, etc.) as outlined in the specs.
- Error Handling: Enhance error handling, especially around missing API keys.
- Testing: Add automated tests.
License
ISC License (as per package.json).
Похожие серверы
Alpha Vantage MCP Server
спонсорAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
Stimulsoft Documentation MCP Server
Official MCP server for Stimulsoft Reports & Dashboards documentation. Semantic search across FAQ, Programming Manual, Server/User Manual, and Server/Cloud API for .NET, WPF, Avalonia, WEB, Blazor, Angular, React, JS, PHP, Java, and Python platforms.
MCP for Dart
A Dart SDK for building MCP servers and clients.
FAL Imagen 4
Generate high-quality images using Google's Imagen 4 Ultra model via the FAL AI platform.
Raysurfer Code Caching
MCP server for LLM output caching and reuse. Caches and retrieves code from prior AI agent executions, delivering cached outputs up to 30x faster.
Cloudflare Logging
A server for logging, deployable as a Cloudflare Worker.
paytoll-mcp
Access 20+ DeFi, crypto, and AI endpoints through micro-payments. Get Aave rates, build DeFi transactions, fetch crypto prices, resolve ENS names, search Twitter, and query LLMs - all paid per-call with USDC on Base. No API keys needed, payment is the auth
Tuteliq
AI-powered safety tools for detecting grooming, bullying, threats, and harmful interactions in conversations. The server integrates Tuteliq’s behavioral risk detection API via the Model Context Protocol (MCP), enabling AI assistants to analyze interaction patterns rather than relying on keyword moderation. Use cases include platform safety, chat moderation, child protection, and compliance with regulations such as the EU Digital Services Act (DSA), COPPA, and KOSA.
Squidler.io
Squidler is designed to validate your web app as a human based on natural language use cases, without write brittle, DOM-dependent tests.
Bitcoin & Lightning Network
Interact with the Bitcoin and Lightning Network to generate keys, validate addresses, decode transactions, and query the blockchain.
Remote MCP Server Kindler
A template for deploying a remote MCP server without authentication on Cloudflare Workers.