Skip to main content
Glama

MCP Cloud Deploy

Model Context Protocol server for deploying projects to multiple cloud platforms via CLI.

Deploy your projects to Vercel, Railway, Neon (PostgreSQL), MongoDB Atlas, Docker (local), or run them as local dev servers — all through natural language commands from any MCP-compatible client (Kiro, Claude Desktop, etc.).


Features

Tool

Description

deploy_to_vercel

Deploy frontend/fullstack apps to Vercel

deploy_to_railway

Deploy apps to Railway with database plugins

provision_neon_database

Create serverless PostgreSQL on Neon

provision_mongodb

Create MongoDB Atlas clusters

deploy_docker_local

Run with Docker Compose (auto-generates configs)

deploy_local

Start native local dev server

orchestrate_deploy

Full-stack deploy combining multiple services

check_deploy_prerequisites

Verify which CLIs are installed


Related MCP server: project-scaffold

Quick Start

1. Install

# Clone or download this project
cd mcp-cloud-deploy

# Install dependencies
npm install

# Build
npm run build

2. Configure in your MCP client

For Kiro / Claude Desktop — add to your MCP config:

{
  "mcpServers": {
    "cloud-deploy": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-cloud-deploy/dist/index.js"]
    }
  }
}

For development (with auto-reload):

{
  "mcpServers": {
    "cloud-deploy": {
      "command": "npx",
      "args": ["tsx", "/absolute/path/to/mcp-cloud-deploy/src/index.ts"]
    }
  }
}

3. Get your API tokens

Service

Where to get token

Vercel

https://vercel.com/account/tokens

Railway

https://railway.app/account/tokens

Neon

https://console.neon.tech/app/settings/api-keys

MongoDB Atlas

Organization > Access Manager > API Keys

4. Install CLIs (only the ones you need)

# Vercel
npm install -g vercel

# Railway
npm install -g @railway/cli

# Neon
npm install -g neonctl

# MongoDB Atlas
brew install mongodb-atlas-cli   # macOS
# Or: https://www.mongodb.com/docs/atlas/cli/stable/install-atlas-cli/

# Docker (for local deployments)
# https://docs.docker.com/get-docker/

Usage Examples

Deploy a Next.js app to Vercel

"Deploy my project at /home/user/my-app to Vercel. Here's my token: vercel_xxxxx"

The MCP will call deploy_to_vercel with:

  • Auto-detect framework (Next.js)

  • Deploy as preview (or production if specified)

  • Return the deployment URL

Full-stack: Vercel + Neon PostgreSQL

"Deploy my app to Vercel with a PostgreSQL database on Neon.
Vercel token: vercel_xxx
Neon API key: neon_xxx
Project name: my-saas-app"

The orchestrate_deploy tool will:

  1. Create a Neon project + database

  2. Get the connection string

  3. Deploy to Vercel with DATABASE_URL injected

Deploy everything on Railway

"Put my project on Railway with a PostgreSQL database.
Token: railway_xxx
Path: /home/user/my-api"

Railway handles app + database in one platform.

Local development with Docker

"Start my project locally with Docker, include PostgreSQL and Redis"

This will:

  1. Auto-generate a Dockerfile (based on project type)

  2. Generate docker-compose.yml with app + PostgreSQL + Redis

  3. Build and start all containers

  4. Return URLs for each service

Quick local dev server

"Run my project locally at /home/user/my-app on port 4000"

Auto-detects Node.js/Python/Go/Rust and runs the appropriate dev command.


Tools Reference

deploy_to_vercel

Parameter

Required

Description

projectPath

Yes

Absolute path to project

token

Yes

Vercel API token

production

No

Deploy to production (default: false)

teamId

No

Vercel Team ID

projectName

No

Custom project name

envVars

No

Environment variables object

buildCommand

No

Custom build command

framework

No

Framework preset

deploy_to_railway

Parameter

Required

Description

projectPath

Yes

Absolute path to project

token

Yes

Railway API token

projectName

No

Railway project name

serviceName

No

Service name

withPostgres

No

Add PostgreSQL (default: false)

withRedis

No

Add Redis (default: false)

withMongoDB

No

Add MongoDB (default: false)

envVars

No

Environment variables

region

No

Deploy region

provision_neon_database

Parameter

Required

Description

apiKey

Yes

Neon API key

projectName

Yes

Neon project name

databaseName

No

Database name (default: main)

roleName

No

Role name (default: app_user)

region

No

Region (default: aws-us-east-1)

schemaFile

No

Path to .sql schema file

runMigrations

No

Migration command to execute

migrationsCwd

No

Working directory for migrations

provision_mongodb

Parameter

Required

Description

publicKey

Yes

Atlas public API key

privateKey

Yes

Atlas private API key

orgId

Yes

Atlas Organization ID

projectName

Yes

Atlas project name

clusterName

Yes

Cluster name

tier

No

Tier: M0 (free), M2, M5, M10...

provider

No

AWS, GCP, AZURE (default: AWS)

region

No

Region (default: US_EAST_1)

dbName

No

Database name (default: main)

dbUser

No

Username (default: app_user)

dbPassword

No

Password (auto-generated)

ipAllowAll

No

Allow all IPs (default: false)

ipWhitelist

No

List of IPs to whitelist

deploy_docker_local

Parameter

Required

Description

projectPath

Yes

Absolute path to project

serviceName

No

Docker service name (default: app)

port

No

Port to expose (default: 3000)

withPostgres

No

Include PostgreSQL container

withMongoDB

No

Include MongoDB container

withRedis

No

Include Redis container

envVars

No

Additional env vars

dockerfilePath

No

Custom Dockerfile path

generateDockerfile

No

Auto-generate Dockerfile (default: true)

generateCompose

No

Generate docker-compose.yml (default: true)

build

No

Build before start (default: true)

detach

No

Run in background (default: true)

deploy_local

Parameter

Required

Description

projectPath

Yes

Absolute path to project

port

No

Port (default: 3000)

installDeps

No

Install dependencies (default: true)

runMigrations

No

Migration command

seedCommand

No

Seed command

envVars

No

Environment variables

envFile

No

Path to .env file

startCommand

No

Custom start command (auto-detected)

background

No

Run in background (default: true)

orchestrate_deploy

Parameter

Required

Description

projectPath

Yes

Absolute path to project

target

Yes

One of: vercel+neon, vercel+mongodb, railway-fullstack, docker-local, local

tokens

Yes

Object with tokens for each service

projectName

Yes

Project name

production

No

Production mode (default: false)

envVars

No

Additional env vars

dbSchema

No

Path to DB schema file

port

No

Port for local targets (default: 3000)

check_deploy_prerequisites

No parameters. Returns a table showing which CLIs are installed.


Architecture

mcp-cloud-deploy/
├── src/
│   ├── index.ts              # Entry point - stdio transport
│   ├── server.ts             # MCP server with all tools registered
│   ├── tools/
│   │   ├── vercel.ts         # Vercel deployment logic
│   │   ├── railway.ts        # Railway deployment logic
│   │   ├── neon.ts           # Neon PostgreSQL provisioning
│   │   ├── mongodb.ts        # MongoDB Atlas provisioning
│   │   ├── docker-local.ts   # Docker Compose local deployment
│   │   ├── local.ts          # Native local dev server
│   │   └── orchestrator.ts   # Multi-service orchestration
│   ├── auth/
│   │   └── token-manager.ts  # In-memory token handling
│   └── utils/
│       ├── cli-runner.ts     # Safe CLI execution wrapper
│       └── logger.ts         # Stderr logger (MCP-safe)
├── dist/                     # Compiled JavaScript
├── package.json
└── tsconfig.json

Security

  • Tokens are NEVER persisted to disk — they exist only in memory during the session

  • Tokens are passed per-call — each tool invocation includes the token it needs

  • stderr for logging — all logs go to stderr to not interfere with MCP stdio

  • CLI execution is sandboxed — commands run with timeouts and buffer limits


Supported Project Types (Auto-detection)

The Docker and local tools automatically detect your project type:

Type

Detection

Dev Command

Docker Base

Next.js

next in dependencies

npx next dev

Multi-stage Node 20

Nuxt

nuxt in dependencies

npx nuxt dev

Node 20

SvelteKit

@sveltejs/kit in deps

npx vite dev

Node 20

Vite

vite in deps

npx vite

Node 20

Express/Fastify

express/fastify in deps

npm run dev

Node 20

Python/FastAPI

requirements.txt

uvicorn main:app

Python 3.12

Django

manage.py exists

python manage.py runserver

Python 3.12

Go

go.mod exists

go run .

Go 1.22 multi-stage

Rust

Cargo.toml exists

cargo run

Rust multi-stage


Development

# Run in development mode (with tsx)
npm run dev

# Build for production
npm run build

# Run built version
npm start

# Clean build output
npm run clean

License

MIT

Available Tools

8 tools
check_deploy_prerequisitesA

Check which deployment CLIs are installed and available. Shows status of: vercel, railway, neonctl, atlas, docker, docker-compose, git, node, npm.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the transparency burden. The verbs 'Check' and 'Shows status' clearly indicate a non-destructive read-only operation, but it does not explicitly state that no system modifications occur or describe any permissions/requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that states the action first and then lists the exact items checked. Every word earns its place; no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple status-check tool with no parameters and no output schema, the description is complete. It explicitly lists all CLIs covered and states that it shows availability, which fully satisfies the user's likely need.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so there is no parameter information to add. Per the baseline for 0-param tools, a score of 4 is appropriate since the description fills the schema's empty space with context about what is being checked.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Check' and identifies the resource as deployment CLIs, listing all nine tools it inspects. This clearly distinguishes it from sibling deployment and provisioning tools, which perform actions rather than inspect prerequisites.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies this is a pre-deployment checklist but does not explicitly state when to use it or provide alternatives. It doesn't mention that it should be used before deploy_to_* or orchestrate_deploy, leaving the usage context to inference from the tool name and sibling list.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deploy_docker_localA

Deploy the project locally using Docker/Docker Compose. Auto-generates Dockerfile and docker-compose.yml. Can include PostgreSQL, MongoDB, and Redis containers. Requires Docker to be installed and running.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoPort to expose
buildNoBuild images before starting
detachNoRun in background
envVarsNoAdditional environment variables
withRedisNoInclude Redis container
projectPathYesAbsolute path to the project
serviceNameNoDocker service nameapp
withMongoDBNoInclude MongoDB container
withPostgresNoInclude PostgreSQL container
dockerfilePathNoCustom Dockerfile path (auto-detected if not set)
generateComposeNoGenerate docker-compose.yml
generateDockerfileNoGenerate Dockerfile if none exists

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of behavioral disclosure. It does mention that Dockerfile and docker-compose.yml are auto-generated and that optional containers (PostgreSQL, MongoDB, Redis) can be included, but it omits important side effects like modifying or overwriting existing project files, starting long-running processes, or what happens if Docker is not available.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences long, front-loaded with the core action, and contains no redundant or filler content. Each sentence adds useful context: what it does, what it generates, and a prerequisite.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This tool has 12 parameters, no output schema, and no annotations, yet the description is very brief. It lacks crucial context about what happens after deployment (e.g., how to access the app, whether the command blocks or returns immediately), potential file modifications, and failure modes beyond the Docker prerequisite. The schema covers parameter meaning but not the overall deployment behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema already documents all 12 parameters. The description adds limited extra meaning by explicitly naming the supported database containers and auto-generated files, but it does not go beyond what the schema descriptions already convey.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states what the tool does: deploys the project locally using Docker/Docker Compose, with auto-generated Dockerfile and compose file. It is specific about the resource (local Docker deployment) and differentiates from cloud deployment siblings like deploy_to_vercel and deploy_to_railway, though it does not explicitly contrast with the similar sibling 'deploy_local'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly states the prerequisite that Docker must be installed and running, and the scope ('locally using Docker') gives context for when to use this tool versus cloud-based alternatives. However, it does not provide exclusions or guidance on when NOT to use it (e.g., when the project is not Docker-compatible).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deploy_localA

Start the project locally as a native development server. Auto-detects project type (Node.js, Python, Go, Rust) and runs the appropriate dev command. Handles dependency installation, migrations, and seeding.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoPort to run the dev server on
envFileNoPath to .env file to load
envVarsNoEnvironment variables to set
backgroundNoRun server in background
installDepsNoInstall dependencies first
projectPathYesAbsolute path to the project
seedCommandNoSeed command to run (e.g., 'npx prisma db seed')
startCommandNoCustom start command (auto-detected if not set)
runMigrationsNoMigration command to run (e.g., 'npx prisma migrate dev')

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description discloses key behaviors: auto-detection, running dev commands, and handling dependency installation, migrations, and seeding. Since no annotations are provided, the description carries the burden, and it does add some context. However, it omits potential side effects like modifying project files, network access, or failure handling, leaving room for more transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences. The first sentence names the core action, and the second adds essential behavior. No filler or repetition of schema content, making it efficient and easy to scan.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 9 parameters, no output schema, and no annotations, the description gives a high-level overview but lacks detail on return values, long-running behavior, or prerequisites. It covers the main workflow but not enough to fully inform an agent about edge cases (e.g., what happens if migrations are skipped or if the port is busy).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema provides detailed descriptions for all 9 parameters, covering 100% of the schema, so the baseline is 3. The description's mention of 'handles dependency installation, migrations, and seeding' aligns with parameters like installDeps, runMigrations, and seedCommand, but it adds no new semantic meaning beyond what the schema already tells the agent. The description provides context but not additional parameter-level detail.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's primary action: 'Start the project locally as a native development server.' It specifies the resource (project) and the mode (local), distinguishing it from sibling tools like deploy_to_vercel or deploy_to_railway. The auto-detection of project types adds specificity without ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly indicates local usage ('Start the project locally') and implies a development context, which contrasts with cloud deployment siblings. However, it does not explicitly state when not to use it or mention alternatives (e.g., 'use deploy_to_vercel for production'), so it lacks explicit exclusions. The context is clear enough for an agent to select this tool for local development.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deploy_to_railwayA

Deploy a project to Railway with optional database plugins (PostgreSQL, Redis, MongoDB). Railway handles the full stack. Requires a Railway API token.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesRailway API token (get from https://railway.app/account/tokens)
regionNoDeployment region (us-west1, us-east4, europe-west4, asia-southeast1)
envVarsNoEnvironment variables to set (key-value pairs)
withRedisNoAdd Redis plugin to the project
projectNameNoName for the Railway project
projectPathYesAbsolute path to the project to deploy
serviceNameNoName for the service within the project
withMongoDBNoAdd MongoDB plugin to the project
withPostgresNoAdd PostgreSQL plugin to the project

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description must disclose behavioral traits. It mentions the API token requirement and that 'Railway handles the full stack,' but does not explain whether the deployment is destructive, creates a new project or updates existing, what the success/failure output looks like, or any side effects on the local project. The mutation nature is only implicit via the word 'deploy.'

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the primary action, and every clause adds useful information. It avoids redundancy and is appropriately sized for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a complex tool with 9 parameters, nested objects, no annotations, and no output schema. The description only covers the high-level purpose and token requirement, leaving significant gaps around deployment workflow, return values, error scenarios, and how it interacts with existing Railway projects. It is not complete enough for an agent to invoke confidently without further assumptions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds minimal value beyond schema: it groups 'PostgreSQL, Redis, MongoDB' as optional plugins, aligning with the boolean parameters, and highlights the token requirement. No additional syntax or edge-case semantics are provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Deploy a project to Railway with optional database plugins.' This specifies the verb (deploy), the resource (project to Railway), and unique features (database plugins), distinguishing it from sibling tools like deploy_to_vercel and deploy_local.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context by naming the target platform (Railway) and optional plugins, implying when it should be used. It does not explicitly exclude alternatives or mention when not to use it, but the platform-specific focus gives sufficient guidance for typical selection scenarios.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deploy_to_vercelA

Deploy a project to Vercel (frontend, fullstack, or API). Supports Next.js, Vite, Nuxt, SvelteKit, and more. Requires a Vercel API token.

ParametersJSON Schema
NameRequiredDescriptionDefault
tokenYesVercel API token (get from https://vercel.com/account/tokens)
teamIdNoVercel Team ID (optional, for team deployments)
envVarsNoEnvironment variables to set (key-value pairs)
frameworkNoFramework preset (nextjs, vite, nuxt, svelte, etc.)
productionNoDeploy to production (default: preview)
projectNameNoCustom project name on Vercel
projectPathYesAbsolute path to the project to deploy
buildCommandNoCustom build command

TDQS

A3.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description alone must disclose behavioral traits. It only states a prerequisite (API token) but fails to mention that deployment is a mutating operation, potential side effects, or return behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three concise sentences, front-loaded with the primary purpose. Each sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is complex (8 params, deployment, env vars) with no output schema, but the description provides only basic purpose and a prerequisite. Missing are usage guidance vs. siblings, deployment side effects, and outcome details.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are well-documented. The description adds meaningful context by listing supported frameworks and emphasizing the token requirement, going beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Deploy'), resource ('to Vercel'), and scope ('frontend, fullstack, or API'). It also distinguishes from sibling tools by naming Vercel and supported frameworks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies this tool is for Vercel deployments, providing context without explicit alternatives or exclusions. It does not mention siblings like deploy_to_railway or deploy_local, but the targeting is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

orchestrate_deployA

Orchestrate a full-stack deployment combining multiple services. Targets: vercel+neon, vercel+mongodb, railway-fullstack, docker-local, local. Provisions databases and deploys apps with all environment variables connected automatically.

ParametersJSON Schema
NameRequiredDescriptionDefault
portNoPort for local deployments
targetYesDeployment target combination: vercel+neon (frontend on Vercel, PostgreSQL on Neon), vercel+mongodb (frontend on Vercel, MongoDB Atlas), railway-fullstack (everything on Railway), docker-local (Docker containers locally), local (native local dev server)
tokensYesAPI tokens for the services being used
envVarsNoAdditional environment variables
dbSchemaNoPath to database schema file (.sql or migration)
productionNoProduction deployment
projectNameYesName for the project across services
projectPathYesAbsolute path to the project

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description must carry the full burden. It only states high-level outcomes (provisions databases, deploys apps, connects env vars) but does not disclose side effects, prerequisites, reversibility, or failure behavior. For a powerful orchestration tool, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences long, front-loaded with the primary action, and lists targets compactly. It avoids redundancy with the schema and every sentence contributes meaningful information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is complex (8 params, nested objects, no output schema), but the schema descriptions fill in most parameter details. The description provides a useful overview but lacks guidance on preconditions, return values, or edge cases (e.g., token requirements, project structure), leaving some context gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides 100% coverage with descriptive text for every parameter, including the 'target' enum and 'tokens' object. The description adds only a general statement about automatic env var connection, not specific parameter-level semantics, so it remains at the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool orchestrates full-stack deployments combining multiple services, and it explicitly lists target combinations (vercel+neon, etc.), distinguishing it from sibling tools that handle individual deployments or database provisioning.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage when a combined, multi-service deployment is needed, as evidenced by 'combining multiple services' and the target list. It does not explicitly name alternative tools, but the context is clear enough compared to siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

provision_mongodbA

Create a MongoDB Atlas cluster with database and user. Supports free tier (M0) through dedicated clusters. Requires MongoDB Atlas API keys (public + private).

ParametersJSON Schema
NameRequiredDescriptionDefault
tierNoCluster tier: M0 (free), M2, M5, M10, M20, M30...M0
orgIdYesMongoDB Atlas Organization ID
dbNameNoInitial database namemain
dbUserNoDatabase username to createapp_user
regionNoRegion (e.g., US_EAST_1, EU_WEST_1, AP_SOUTHEAST_1)US_EAST_1
providerNoCloud provider: AWS, GCP, AZUREAWS
publicKeyYesMongoDB Atlas public API key (Organization Access Manager > API Keys)
dbPasswordNoDatabase password (auto-generated if not provided)
ipAllowAllNoAllow connections from any IP (0.0.0.0/0) - NOT recommended for production
privateKeyYesMongoDB Atlas private API key
clusterNameYesName for the cluster
ipWhitelistNoList of IPs to whitelist (e.g., ['1.2.3.4/32'])
projectNameYesName for the Atlas project

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must carry full behavioral disclosure. It only mentions tier support and API key requirement, failing to clarify side effects like cost, resource provisioning time, idempotency, or project creation behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the main action, and no filler. Every word contributes to understanding the tool's purpose and prerequisites.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a complex 13-parameter provisioning tool with no output schema or annotations. The description doesn't cover return values, errors, execution time, or cost implications, leaving significant context gaps for an agent to predict behavior.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds minimal parameter context beyond reinforcing that public/private keys are needed. No additional syntax or format details are provided beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The first sentence clearly states the tool creates a MongoDB Atlas cluster with database and user, which is a specific verb+resource combination. It distinguishes from sibling tools like provision_neon_database by specifying MongoDB Atlas explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions tiers (free to dedicated) and requisite API keys, giving clear context for when this tool is appropriate. However, it doesn't explicitly contrast with alternatives like provision_neon_database or state when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

provision_neon_databaseA

Create a serverless PostgreSQL database on Neon. Supports schema application and migration commands. Requires a Neon API key.

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesNeon API key (get from https://console.neon.tech/app/settings/api-keys)
regionNoRegion: aws-us-east-1, aws-us-west-2, aws-eu-central-1, aws-ap-southeast-1aws-us-east-1
roleNameNoDatabase role name (default: app_user)app_user
schemaFileNoPath to SQL schema file to apply after creation
projectNameYesName for the Neon project
databaseNameNoName for the database (default: main)main
migrationsCwdNoWorking directory for migration command
runMigrationsNoMigration command to run (e.g., 'npx prisma migrate deploy')

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Without annotations, the description carries the transparency burden. It discloses mutating actions (create, apply schema, run migrations) and the requirement for an API key, but it does not describe side effects like cost, failure behavior, or what resources are affected. This is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the main action, and wastes no words. It efficiently conveys purpose, capability, and a key prerequisite.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (8 parameters, side effects, no output schema), the description is too brief. It doesn't explain what the tool returns (e.g., connection string, project ID) or potential errors, which is critical for a provisioning tool. Missing details about ordering or interactions between parameters also reduce completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with descriptive parameter names and defaults. The description adds little beyond confirming that schema files and migration commands are supported, which is redundant with the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description specifies a clear action—creating a serverless PostgreSQL database on Neon—and distinguishes it from sibling tools like provision_mongodb. It also mentions schema/migration support, so the agent knows the tool's core function.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for provisioning a Neon database but does not explicitly state when to choose this over alternatives. It provides a prerequisite (Neon API key) and mentions schema/migration support, which offers some contextual guidance, but no explicit exclusion or alternative references.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 8 tool updatesv1.0.0
    • First observedcheck_deploy_prerequisites
    • First observeddeploy_docker_local
    • First observeddeploy_local
    • First observeddeploy_to_railway
    • First observeddeploy_to_vercel
    • First observedorchestrate_deploy
    • First observedprovision_mongodb
    • First observedprovision_neon_database

TDQS

A3.9/5.0
Disambiguation5/5

Each tool targets a distinct action and target: deploy to specific cloud providers, provision specific database types, local deployment modes, orchestration, and prerequisites checking. While deploy_to_vercel and deploy_to_railway share the deploy action, their distinct target platforms and descriptions eliminate ambiguity.

Naming Consistency4/5

Most tools follow a clear verb_noun pattern (provision_neon_database, orchestrate_deploy, check_deploy_prerequisites). Minor inconsistency: deploy_to_vercel and deploy_to_railway use 'to_' while deploy_docker_local and deploy_local omit it, but the patterns remain predictable and readable.

Tool Count5/5

8 tools is well-scoped for a deployment/provisioning server. Each tool covers a necessary part of the deployment lifecycle—cloud deploy, database provisioning, local deploy, orchestration, and prerequisites—without redundancy or bloat.

Completeness4/5

The tool set covers core deployment workflows: cloud deploy, database provisioning, local deployment (Docker and native), multi-service orchestration, and environment checks. Minor gaps include no teardown/destroy or status/listing tools, but these are not essential for the stated purpose.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Unified deployment dashboard MCP server for AI agents. 9 tools to manage services across Vercel, Render, Railway, and Fly.io — deploy status, logs, service listing, environment variables, rollback, and health checks from one endpoint. Free tier: 50 requests/IP/day.
    3
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    MCP server for managing a self-hosted Coolify instance. Provides full REST CRUD, deploy/watch capabilities, and an optional host-ops tier for live log streaming, SSH, Docker, and database access.
    22
    16
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/fallegri/mcp-deploy'

If you have feedback or need assistance with the MCP directory API, please join our Discord server