VercelDeployer
The VercelDeployer bundles your Mastra server and generates output conforming to Vercel's Build Output API. Vercel deploys this output directly as serverless functions.
InstallationInstallation的直接链接
To use VercelDeployer, install the @mastra/deployer-vercel package:
- npm
- pnpm
- Yarn
- Bun
npm install @mastra/deployer-vercel@latest
pnpm add @mastra/deployer-vercel@latest
yarn add @mastra/deployer-vercel@latest
bun add @mastra/deployer-vercel@latest
Usage exampleUsage example的直接链接
Import VercelDeployer and set it as the deployer in your Mastra configuration:
import { Mastra } from '@mastra/core'
import { VercelDeployer } from '@mastra/deployer-vercel'
export const mastra = new Mastra({
deployer: new VercelDeployer(),
})
Constructor optionsConstructor options的直接链接
The deployer accepts the following options:
studio?: boolean: Deploy Studio alongside your API as static assets served from Vercel's Edge CDN. Defaults tofalse.maxDuration?: number: Function execution timeout (in seconds)memory?: number: Function memory (in MB)regions?: string[]: Regions to deploy the function (e.g.['sfo1','iad1'])
The maxDuration, memory, and regions options are merged into .vercel/output/functions/index.func/.vc-config.json while preserving default fields (handler, launcherType, runtime, shouldAddHelpers).
Example with overridesExample with overrides的直接链接
import { Mastra } from '@mastra/core'
import { VercelDeployer } from '@mastra/deployer-vercel'
export const mastra = new Mastra({
deployer: new VercelDeployer({
studio: true,
maxDuration: 600,
memory: 1536,
regions: ['sfo1', 'iad1'],
}),
})
Build outputBuild output的直接链接
After running mastra build, the deployer generates a .vercel/output directory conforming to Vercel's Build Output API (v3). This directory contains routing configuration and serverless function bundles that Vercel deploys directly, bypassing framework detection.
The output contains:
- config.json: Routing configuration that directs requests to the appropriate handler
- functions/: Your Mastra server bundled as a serverless function
- static/: Studio SPA assets (only when
studio: true)
Without studio:
.vercel/
└── output/
├── config.json
└── functions/
└── index.func/
├── .vc-config.json
├── index.mjs
└── node_modules/
With studio: true:
.vercel/
└── output/
├── config.json
├── static/
│ ├── index.html
│ └── assets/
│ ├── *.js
│ └── *.css
└── functions/
└── index.func/
├── .vc-config.json
├── index.mjs
└── node_modules/
When studio is enabled, the routing is configured so that / and the Studio routes listed in the Studio build's route manifest are served from index.html for client-side routing, and static assets (JS, CSS) are served from Vercel's Edge CDN with no function invocations. All other paths, including /api/* and custom routes registered with registerApiRoute(), are handled by the serverless function. Custom routes that fall under a Studio route (for example, /agents/custom) are served from index.html instead, so register custom routes outside Studio's route roots.
This folder is generated during build and shouldn't be committed to version control.