Varity MCP Server
The Varity MCP server (@varity-labs/mcp) gives AI editors 14 tools for the full build → deploy → monetize workflow. It runs locally via stdio — no API keys, no accounts.
Prerequisites
Section titled “Prerequisites”- Node.js 18+ — runs the MCP server
- Python 3.8+ — needed for
varitykitCLI (used by deploy tools) - varitykit — install with
pip 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.
Run once from any directory:
claude mcp add varity -- npx -y @varity-labs/mcpClaude Code picks up the server automatically on the next conversation.
Add to .vscode/mcp.json:
{ "mcpServers": { "varity": { "command": "npx", "args": ["-y", "@varity-labs/mcp"] } }}Add to ~/.codeium/windsurf/mcp_config.json:
{ "mcpServers": { "varity": { "command": "npx", "args": ["-y", "@varity-labs/mcp"] } }}Tools Reference
Section titled “Tools Reference”The server exposes 14 tools. Read-only tools run safely with no side effects. Destructive tools create files or deploy infrastructure.
varity_doctor — Check environment setup
Section titled “varity_doctor — Check environment setup”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”
varity_search_docs — Search documentation
Section titled “varity_search_docs — Search documentation”Search Varity docs for guides, API references, and tutorials.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
query | string | Yes | — | Search query (e.g., “database setup”, “how to deploy”) |
maxResults | number | No | 3 | Maximum results to return |
Annotations: readOnlyHint: true
Example prompt: “Search the Varity docs for how to set up authentication”
varity_cost_calculator — Estimate costs
Section titled “varity_cost_calculator — Estimate costs”Compare Varity hosting costs against AWS, Vercel, and other platforms.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
users | number | Yes | — | Estimated monthly active users |
storage_gb | number | No | 10 | Storage needed in GB |
has_database | boolean | No | true | Whether the app uses a database |
has_auth | boolean | No | true | Whether 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_init — Create a new app
Section titled “varity_init — Create a new app”Scaffold a production-ready app with auth, database, and payments.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
name | string | Yes | — | Project name (lowercase, hyphens allowed) |
template | "saas-starter" | No | "saas-starter" | Template to use |
path | string | No | Current directory | Directory to create the project in |
Annotations: destructiveHint: true — creates files on your local filesystem
Example prompt: “Create a new Varity app called invoice-tracker”
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.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
path | string | No | Current directory | Project directory to install dependencies in |
packages | string[] | No | — | Specific 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_add_collection — Add database collection
Section titled “varity_add_collection — Add database collection”Add a new database collection to your project. Creates the TypeScript type, collection accessor, React hook, and optionally scaffolds a dashboard page.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
name | string | Yes | — | Collection name (lowercase, e.g., “invoices”, “team_members”) |
fields | array | Yes | — | Field definitions: [{name: "amount", type: "number"}, {name: "status", type: "string"}] |
path | string | No | Current directory | Project directory |
add_page | boolean | No | false | Scaffold a dashboard page with DataTable and Dialog |
Field types: "string", "number", "boolean", "Date"
Annotations: destructiveHint: true — creates/modifies files in your project
Example prompt: “Add an invoices collection with amount (number) and status (string) fields”
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.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
action | "start" | "stop" | "status" | Yes | — | Action to perform |
path | string | No | Current directory | Project directory |
port | number | No | 3000 | Port 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”
varity_build — Build for production
Section titled “varity_build — Build for production”Build the project for production. Auto-detects framework from package.json. Run before deploying or to verify the project compiles.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
path | string | No | Current directory | Path to the project directory |
Example prompt: “Build my project”
varity_open_browser — Open URL in browser
Section titled “varity_open_browser — Open URL in browser”Open a URL in the user’s default browser. Use after deploying to show the live app or after starting the dev server.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
url | string | Yes | — | URL 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 with the Varity SaaS template. Useful for browser-based workflows — create a repo, open in Gitpod/StackBlitz, and deploy.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
name | string | Yes | — | Repository name (lowercase, hyphens allowed) |
description | string | No | — | Short description for the repo |
template | "saas-starter" | No | "saas-starter" | Template to use |
visibility | "public" | "private" | No | "public" | Repository visibility |
github_token | string | No | — | GitHub personal access token with repo scope |
Annotations: destructiveHint: true — creates an external GitHub repository
Example prompt: “Create a new GitHub repo called my-dashboard with the Varity template”
varity_deploy — Deploy to production
Section titled “varity_deploy — Deploy to production”Build and deploy the current project. Auto-detects framework (Next.js, React, Vue), builds it, and returns a live URL.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
path | string | No | Workspace root | Path to the project directory |
submit_to_store | boolean | No | false | Also submit to the Varity App Store (90% revenue to you) |
Annotations: destructiveHint: true — deploys real infrastructure
Example prompt: “Deploy this project to Varity”
varity_deploy_status — Check deployments
Section titled “varity_deploy_status — Check deployments”List all deployments or get status of a specific one. Shows URL, status, framework, size, and creation time.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
deployment_id | string | No | — | Specific deployment ID (omit to list all) |
Annotations: readOnlyHint: true
Example prompt: “Show me the status of my deployments”
varity_deploy_logs — Get build logs
Section titled “varity_deploy_logs — Get build logs”Get build and deployment logs for debugging failed or recent deployments.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
deployment_id | string | Yes | — | The deployment ID to get logs for |
limit | number | No | 100 | Maximum log lines to return |
Annotations: readOnlyHint: true
Example prompt: “Show me the build logs for deployment abc123”
varity_submit_to_store — Publish to App Store
Section titled “varity_submit_to_store — Publish to App Store”Submit a deployed app to the Varity App Store marketplace. Revenue split: 90% to you, 10% to Varity.
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
deployment_id | string | Yes | — | Deployment ID from a previous varity_deploy |
name | string | Yes | — | Display name on the store |
description | string | Yes | — | Short description shown to users |
price | number | Yes | — | Monthly price in USD (use 0 for free apps) |
Annotations: destructiveHint: true — publishes to a public store
Example prompt: “Submit my last deployment to the Varity App Store at $9.99/month”
Response Format
Section titled “Response Format”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" }}Typical Workflow
Section titled “Typical Workflow”Here’s the full build-to-monetize flow using the MCP tools:
- “Check if my environment is ready” →
varity_doctor - “Create a Varity app called my-saas” →
varity_init(local) orvarity_create_repo(GitHub) - “Install dependencies” →
varity_install_deps - “Add an invoices collection with these fields…” →
varity_add_collection - “What will this cost for 200 users?” →
varity_cost_calculator - (Build your features)
- “Start the dev server” →
varity_dev_server→varity_open_browser - “Build for production” →
varity_build - “Deploy this” →
varity_deploy - “Did the deploy succeed?” →
varity_deploy_status - “Show me the build logs” →
varity_deploy_logs(if needed) - “Submit to the app store at $14.99” →
varity_submit_to_store
Troubleshooting
Section titled “Troubleshooting”“Cannot find module @varity-labs/mcp”
Make sure Node.js 18+ is installed. Run node --version to check.
Deploy tools fail with “varitykit not found”
Install the CLI: pip 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
Hosted MCP
Section titled “Hosted MCP”Connect directly to the hosted Varity MCP at:
https://mcp.varity.soClaude.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.
Self-Hosted HTTP
Section titled “Self-Hosted HTTP”Run the HTTP server locally for development:
npx -y @varity-labs/mcp --transport http --port 3100This starts the MCP server at http://localhost:3100/mcp.
llms.txt Alternative
Section titled “llms.txt Alternative”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
Support
Section titled “Support”- Documentation
- Discord — ask in #general
- GitHub Issues