Skip to content

Varity MCP Server Reference

Varity Team Core Contributors Updated June 2026

The Varity MCP server (@varity-labs/mcp) gives AI editors a full set of tools for the full build and deploy workflow. It runs locally via stdio. Install the current npm package.

  • Node.js 20+ (runs the MCP server)
  • Python 3.11+ (needed for varitykit CLI)
  • varitykit (install with: pipx install varitykit)

Add to .cursor/mcp.json in your project root:

{
"mcpServers": {
"varity": {
"command": "npx",
"args": ["-y", "@varity-labs/mcp"]
}
}
}

Restart Cursor. The Varity tools appear in the MCP tool list.

The server exposes a full set of tools. Read-only tools run safely with no side effects. Destructive tools create files or deploy infrastructure.

Verify that your development environment is ready to build and deploy Varity apps. Checks Node.js, npm, varitykit CLI installation, and authentication status.

No parameters required.

Annotations: readOnlyHint: true

Example prompt: “Check if my environment is set up for Varity”


Log in to Varity to enable deployments. If a deploy_key is provided, it is saved to local config; otherwise the tool opens the developer portal where you add a payment method and copy your deploy key. Required before deploying apps.

ParameterTypeRequiredDefaultDescription
deploy_keystringNononeYour deploy key from the developer portal (developer.store.varity.so/dashboard/settings). If omitted, opens the portal to get one.

Example prompt: “Log in to Varity” or “Authenticate with my deploy key”


Search Varity docs for guides, API references, and tutorials.

ParameterTypeRequiredDefaultDescription
querystringYesnoneSearch query (e.g., “database setup”, “how to deploy”)
maxResultsnumberNo3Maximum results to return

Annotations: readOnlyHint: true

Example prompt: “Search the Varity docs for how to set up authentication”


Compare Varity’s flat hosting cost against usage-metered hosting as your traffic grows.

ParameterTypeRequiredDefaultDescription
usersnumberYesnoneEstimated monthly active users
storage_gbnumberNo10Storage needed in GB
has_databasebooleanNotrueWhether the app uses a database
has_authbooleanNotrueWhether the app uses authentication

Annotations: readOnlyHint: true

Example prompt: “How much would it cost to host a SaaS app with 500 users on Varity?”


varity_install_deps: Install npm dependencies

Section titled “varity_install_deps: Install npm dependencies”

Install dependencies for a Varity project. Runs npm install for all packages or installs specific packages.

ParameterTypeRequiredDefaultDescription
pathstringNoCurrent directoryProject directory to install dependencies in
packagesstring[]NononeSpecific packages to install (e.g., ["axios", "lodash"]). If omitted, installs all dependencies.

Example prompt: “Install dependencies for my project” or “Install axios and lodash”


varity_dev_server: Manage local dev server

Section titled “varity_dev_server: Manage local dev server”

Start, stop, or check the status of your local development server. Returns the localhost URL for previewing your app.

ParameterTypeRequiredDefaultDescription
action"start" | "stop" | "status"YesnoneAction to perform
pathstringNoCurrent directoryProject directory
portnumberNo3000Port to run the dev server on. If busy, auto-selects next available port and persists to varity.config.json.

Example prompt: “Start the dev server” or “Check dev server status”


Build the project for production. Auto-detects framework from package.json. Run before deploying or to verify the project compiles.

ParameterTypeRequiredDefaultDescription
pathstringNoCurrent directoryPath to the project directory

Example prompt: “Build my project”


Open a URL in the user’s default browser. Use after deploying to show the live app or after starting the dev server.

ParameterTypeRequiredDefaultDescription
urlstringYesnoneURL to open in the default browser

Example prompt: “Open the deployment in my browser”


varity_create_repo: Create GitHub repository

Section titled “varity_create_repo: Create GitHub repository”

Create a new GitHub repository and push your project to it. Useful for getting your code into version control before deploying.

ParameterTypeRequiredDefaultDescription
namestringYesnoneRepository name (lowercase, hyphens allowed)
descriptionstringNononeShort description for the repo
pathstringNoCurrent directoryAbsolute path to the local project to push (e.g. /home/user/my-app)
visibility"public" | "private"No"public"Repository visibility
github_tokenstringNononeGitHub personal access credential with repo scope (or set GITHUB_TOKEN)

Annotations: destructiveHint: true (creates an external GitHub repository)

Example prompt: “Create a new GitHub repo called my-dashboard and push my project”


Deploy the current project to production. Detects the framework, selects static vs dynamic hosting, auto-configures any backend services your code needs, and returns a live URL at https://varity.app/<name>/. Deploy from source (a project path or a GitHub repo) or from a prebuilt Docker/OCI image.

ParameterTypeRequiredDefaultDescription
pathstringNoMCP working dirAbsolute path to the project root (the directory with package.json).
repo_urlstringNoauto-detectedGitHub repo URL. Required for dynamic deployments; auto-detected from .git/config if omitted.
app_namestringNodirectory nameURL-safe name controlling the URL https://varity.app/{app_name}/.
imagestringNononeDeploy a prebuilt Docker/OCI image (e.g. ghcr.io/you/app:latest) instead of building. Mutually exclusive with repo_url.
image_credentialsobjectNonone{ host, username, password } pull credentials for a private registry image. Omit for public images.
portintegerNo80Container listen port for an image deploy.

Annotations: destructiveHint: true (deploys real infrastructure)

Example prompt: “Deploy this project to Varity” or “Deploy the image ghcr.io/me/api:latest on port 8080”


List deployments or get the status of a specific one. Shows URL, status, framework, size, and creation time.

ParameterTypeRequiredDefaultDescription
deployment_idstringNononeSpecific deployment ID (omit to list recent)
pathstringNononeProject directory. Only show deployments for this project
limitintegerNo10Maximum deployments to return (max 50)

Annotations: readOnlyHint: true

Example prompt: “Show me the status of my deployments”


Get build and deployment logs for debugging failed or recent deployments.

ParameterTypeRequiredDefaultDescription
deployment_idstringYesnoneThe deployment ID to get logs for
limitnumberNo100Maximum log lines to return

Annotations: readOnlyHint: true

Example prompt: “Show me the build logs for deployment abc123”


varity_set_env: Set env vars on a live app

Section titled “varity_set_env: Set env vars on a live app”

Set or update environment variables (config + secrets) on an app that is already deployed, then redeploy it in place with the same URL and same reserved hardware. By default the supplied variables are merged over the current set; pass replace: true to overwrite the entire set. Values are write-only and are never echoed back.

ParameterTypeRequiredDefaultDescription
namestringYesnoneThe app name or subdomain. The <name> in https://varity.app/<name>/
envobjectYesnoneVariables to set, as a map of UPPER_SNAKE_CASE name to value
replacebooleanNofalseWhen true, replace the entire variable set instead of merging

Annotations: destructiveHint: true (redeploys live infrastructure)

Example prompt: “Set DATABASE_URL on my-api and redeploy” or “Rotate the API key on worker-bot”


Redeploy or restart an app that is already deployed, in place. This re-pulls the image (or rebuilds from source) and restarts the container on the same deployment with the same URL and same reserved hardware. Takes no body and keeps the current environment variables; use varity_set_env to change config at the same time.

ParameterTypeRequiredDefaultDescription
namestringYesnoneThe app name or subdomain. The <name> in https://varity.app/<name>/

Annotations: destructiveHint: true (restarts live infrastructure)

Example prompt: “Redeploy my-api” or “My app is stuck. Restart worker-bot”


varity_delete_deployment: Tear down a deployment

Section titled “varity_delete_deployment: Tear down a deployment”

Permanently remove a deployment by its app name and stop its billing immediately. Use when you no longer need an app you deployed.

ParameterTypeRequiredDefaultDescription
namestringYesnoneThe app name or subdomain. The <name> in https://varity.app/<name>/

Annotations: destructiveHint: true (tears down live infrastructure)

Example prompt: “Stop my worker-bot deployment” or “Delete the app my-dashboard”


varity_list_templates: List certified templates

Section titled “varity_list_templates: List certified templates”

List certified Varity templates from the gateway-owned catalog.

No parameters required.

Annotations: readOnlyHint: true

Example prompt: “What templates can Varity deploy?”


varity_template_info: Show template details

Section titled “varity_template_info: Show template details”

Show required environment variables, resource profile, access mode, hardware profile, and certification state for one certified template.

ParameterTypeRequiredDefaultDescription
templatestringYesnoneTemplate ID from varity_list_templates

Annotations: readOnlyHint: true

Example prompt: “Show details for Agent Zero”


Deploy one certified Varity template. Use this for curated templates such as Agent Zero instead of varity_deploy, which is for deploying a local project or Docker image.

ParameterTypeRequiredDefaultDescription
templatestringYesnoneTemplate ID from varity_list_templates
namestringNogenerated nameMemorable deployment name for the URL slug
envobjectNononeRequired environment variables for the selected template

Annotations: destructiveHint: true (deploys real infrastructure)

Example prompt: “Deploy Agent Zero on Varity”

The older varity_list_agents, varity_agent_info, and varity_deploy_agent tools are backward-compatible aliases for the template tools above.


varity_migrate: Migrate from Vercel to Varity

Section titled “varity_migrate: Migrate from Vercel to Varity”

Migrate a Vercel project to Varity in one step: clone the GitHub repository, remove Vercel-specific artifacts (vercel.json, @vercel/* packages, image optimizer config, env var renames), and deploy the transformed app to Varity.

ParameterTypeRequiredDefaultDescription
github_urlstringYesnoneGitHub repository URL to migrate (e.g. https://github.com/user/my-app)
dry_runbooleanNofalsePreview what would change without deploying

Annotations: destructiveHint: true (clones a repo and deploys infrastructure)

Example prompt: “Migrate my Vercel app at https://github.com/user/my-app to Varity”


All tools return JSON with a consistent structure:

// Success
{
success: true,
data: { /* tool-specific data */ },
message: "Human-readable summary"
}
// Error
{
success: false,
error: {
code: "ERROR_CODE",
message: "What went wrong",
suggestion?: "How to fix it"
}
}

Here is the practical build-and-deploy flow using the MCP tools:

Deploy an existing app:

  1. “Check if my environment is ready”varity_doctor
  2. “Install dependencies”varity_install_deps
  3. “What will this cost for 200 users?”varity_cost_calculator
  4. “Start the dev server”varity_dev_servervarity_open_browser
  5. “Build for production”varity_build
  6. “Deploy this”varity_deploy
  7. “Did the deploy succeed?”varity_deploy_status
  8. “Show me the build logs”varity_deploy_logs (if needed)
  9. “Update env vars”varity_set_env (when live config changes)
  10. “Redeploy this app”varity_redeploy (same URL, no new reservation)
  11. “Tear down this deployment”varity_delete_deployment (when you no longer need it)

Deploying Agent Zero or another template:

  1. “What templates can Varity deploy?”varity_list_templates
  2. “Show details for Agent Zero”varity_template_info
  3. “Deploy Agent Zero”varity_deploy_template

Migrating from Vercel:

  1. “Check if my environment is ready”varity_doctor
  2. “Migrate my Vercel app at https://github.com/user/my-appvarity_migrate
  3. (Done. The app is live on Varity infrastructure.)

Deploying a certified template:

  1. “What templates can I deploy?”varity_list_templates
  2. “What does the Agent Zero template need?”varity_template_info
  3. “Deploy Agent Zero”varity_deploy_template
  4. “Did it come up?”varity_deploy_status

“Cannot find module @varity-labs/mcp” Make sure Node.js 20+ is installed. Run node --version to check.

Deploy tools fail with “varitykit not found” Install the CLI: pipx install varitykit. Run varitykit doctor to verify.

Server not showing in Cursor Restart Cursor after adding the config. Check that .cursor/mcp.json is valid JSON.

Server not showing in Claude Code Run claude mcp list to verify the server is registered. Re-add with claude mcp add varity -- npx -y @varity-labs/mcp.

HTTP Transport (Claude.ai, ChatGPT, Browser-Based LLMs)

Section titled “HTTP Transport (Claude.ai, ChatGPT, Browser-Based LLMs)”

The MCP server supports two transports:

  • stdio (default): for desktop editors like Cursor, Claude Code, VS Code, Windsurf
  • HTTP: for browser-based AI tools like Claude.ai and ChatGPT

Connect directly to the hosted Varity MCP at:

https://mcp.varity.so

Claude.ai: Settings → Connectors → Add MCP Server → URL: https://mcp.varity.so

ChatGPT: Settings → Connectors → Create → MCP server URL: https://mcp.varity.so

The first time you connect, you’ll authenticate via the Varity login page.

Run the HTTP server locally for development:

Terminal window
npx -y @varity-labs/mcp --transport http --port 3100

This starts the MCP server at http://localhost:3100/mcp.

For LLMs without MCP support, use the docs context files:

  • Summary: https://docs.varity.so/llms.txt
  • Full context: https://docs.varity.so/llms-full.txt