Vercel AI SDK MCP Server Project
MCP Server for Vercel AI SDK with Figma and magic-mcp integration
chiziuwaga
README
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
ToolManager
with aset_tool_category
meta-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-figma
andmagic-mcp
, intended for orchestration via Cursor AI (Pathway 2). - Smithery Deployment Ready: Configured with
Dockerfile
andsmithery.yaml
for easy deployment on Smithery.ai. - Cursor Integration: Designed to be used within Cursor via the
.cursor/mcp.json
configuration.
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-mcp
server 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
.env
File: Copy.env.example
to.env
and 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-figma
andmagic-mcp
are runnable vianpx
locally. -
Modify your workspace
.cursor/mcp.json
to 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
Dockerfile
andsmithery.yaml
, is pushed to themain
branch on GitHub. - Go to Smithery.ai: Log in and find/add your
chiziuwaga/vercel-ai-sdk-mcp-project
server. - 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.json
to 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--config
JSON 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.env
for local runs.ANTHROPIC_API_KEY
: Optional, for Anthropic models.FIGMA_API_KEY
: Required only whenFigmaConnector
is implemented.TWENTY_FIRST_API_KEY
: Required only whenMagicMcpConnector
is implemented.
Placeholders & Future Work
- Implement Connectors: The
src/integrations/figma/connector.ts
andsrc/integrations/magicMcp/connector.ts
contain 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
).
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
MCP Package Docs Server
Facilitates LLMs to efficiently access and fetch structured documentation for packages in Go, Python, and NPM, enhancing software development with multi-language support and performance optimization.
Claude Code MCP
An implementation of Claude Code as a Model Context Protocol server that enables using Claude's software engineering capabilities (code generation, editing, reviewing, and file operations) through the standardized MCP interface.
@kazuph/mcp-taskmanager
Model Context Protocol server for Task Management. This allows Claude Desktop (or any MCP client) to manage and execute tasks in a queue-based system.
Linear MCP Server
Enables interaction with Linear's API for managing issues, teams, and projects programmatically through the Model Context Protocol.
mermaid-mcp-server
A Model Context Protocol (MCP) server that converts Mermaid diagrams to PNG images.
Jira-Context-MCP
MCP server to provide Jira Tickets information to AI coding agents like Cursor

Linear MCP Server
A Model Context Protocol server that integrates with Linear's issue tracking system, allowing LLMs to create, update, search, and comment on Linear issues through natural language interactions.

Sequential Thinking MCP Server
This server facilitates structured problem-solving by breaking down complex issues into sequential steps, supporting revisions, and enabling multiple solution paths through full MCP integration.