mcp-launcher
v1.0.3
Published
Deploy MCP (Model Context Protocol) servers to Google Cloud Run with a beautiful web dashboard
Maintainers
Readme
mcp-launcher
🚀 Deploy MCP (Model Context Protocol) servers to Google Cloud Run with a beautiful web dashboard
Features
- 🎛️ Interactive Web Dashboard - Visual interface for managing deployments
- ☁️ One-Click Cloud Run Deployments - Deploy MCP servers in seconds
- 📊 Real-time Logs & Metrics - Monitor your deployments with live updates
- 🔧 Built-in Templates - Start with a working MCP server template
- 🔄 Live Deployment Tracking - Watch your deployment progress in real-time
Prerequisites
Before using mcp-launcher, ensure you have:
- Node.js 18+ installed
- Google Cloud SDK (
gcloud) installed and authenticated - Docker installed and running
- GCP Project with billing enabled
- Anthropic API Key (optional, for agent/audit features)
GCP Setup
# Install gcloud CLI
# https://cloud.google.com/sdk/docs/install
# Authenticate
gcloud auth login
gcloud config set project YOUR_PROJECT_ID
# Enable required APIs
gcloud services enable run.googleapis.com artifactregistry.googleapis.com cloudbuild.googleapis.comInstallation
Using npx (Recommended)
npx mcp-launcherGlobal Installation
npm install -g mcp-launcher
mcp-launcherLocal Development
git clone <repository-url>
cd mcp-launcher
npm install
cd src/frontend && npm install && cd ../..
npm run build
npm startUsage
Interactive Mode (Recommended)
Simply run the launcher and follow the prompts:
npx mcp-launcherThe CLI will:
- Check prerequisites (gcloud, docker)
- Prompt for your Google Cloud Project ID (if not already configured)
- Optionally ask for your Anthropic API Key
- Offer to save configuration to a
.envfile - Launch the web dashboard at
http://localhost:3000
Command Line Options
# With all options specified
npx mcp-launcher --project my-project-id --api-key sk-ant-...
# Save configuration for future runs
npx mcp-launcher --project my-project-id --save-config
# Run on a different port without opening browser
npx mcp-launcher --port 8080 --no-browser
# Show help
npx mcp-launcher --help
# Show version
npx mcp-launcher --versionConfiguration Methods
The launcher looks for configuration in this order:
- Command line flags (highest priority)
- Environment variables
- Existing .env file in current directory
- Interactive prompts (if not in CI mode)
Configuration File
You can also create a .env file manually:
# Required
GOOGLE_PROJECT_ID=your_gcp_project_id
# Optional (for agent features)
ANTHROPIC_API_KEY=your_anthropic_api_key_here
# Optional (defaults shown)
PORT=3000
CI=falseDeploying Your MCP Server
Once the dashboard is running:
- Select your project - Use the built-in template or browse to your MCP server directory
- Configure deployment - Review the GCP project settings
- Click Deploy - Watch real-time progress in the dashboard
- Get your URL - Your MCP server will be live on Cloud Run!
Project Structure
mcp-launcher/
├── bin/ # CLI entry point
├── src/
│ ├── server/ # Express + Socket.io backend
│ ├── frontend/ # React/Vite dashboard
│ ├── orchestrator/ # Deployment pipeline
│ ├── gcp/ # GCP integrations
│ ├── agent/ # Agent/audit functionality
│ └── config/ # Configuration management
├── template/ # MCP server template
│ ├── math_bot.py # Example FastMCP server
│ ├── Dockerfile
│ ├── Makefile
│ └── pyproject.toml
├── public/ # Built frontend assets
└── dist/ # Compiled TypeScriptConfiguration
CLI Flags
| Flag | Short | Description |
|------|-------|-------------|
| --project <id> | -p | Google Cloud Project ID |
| --api-key <key> | -k | Anthropic API Key (optional) |
| --port <number> | | Server port (default: 3000) |
| --no-browser | | Don't open browser automatically |
| --save-config | -s | Save configuration to .env file |
| --ci | | Run in non-interactive mode |
| --help | -h | Show help message |
| --version | -v | Show version number |
Environment Variables
| Variable | Required | Description |
|----------|----------|-------------|
| GOOGLE_PROJECT_ID | Yes | Your GCP project ID |
| ANTHROPIC_API_KEY | No | Your Anthropic API key for agent features |
| PORT | No | Server port (default: 3000) |
| CI | No | Set to true to disable browser auto-open |
Frontend Development
cd src/frontend
npm install
npm run dev # Vite dev server on port 5173
npm run build # Build for productionDeployment Process
The launcher automates these steps:
- GCP Setup - Enables required APIs and creates Artifact Registry
- Docker Build - Builds container image for your MCP server
- Push to Registry - Pushes image to Google Artifact Registry
- Cloud Run Deploy - Deploys to Cloud Run with auto-scaling
- Verification - Confirms deployment and captures service URL
Template
The included template (template/) provides a working MCP server:
- FastMCP - Modern Python MCP framework
- HTTP Transport - Ready for Cloud Run
- Tools - Example
addtool - Resources - Dynamic greeting resources
- Prompts - Configurable greeting prompts
Customize template/math_bot.py to create your own MCP server!
Troubleshooting
Docker not running
# macOS
open -a Docker
# Linux
sudo systemctl start dockergcloud not authenticated
gcloud auth login
gcloud auth configure-dockerPermission denied
# Ensure you have the right GCP permissions
# Required roles: Cloud Run Admin, Artifact Registry Admin, Service Account UserDevelopment
# Install dependencies
npm install
cd src/frontend && npm install
# Build everything
npm run build
# Run in development mode (backend only)
npm run dev
# Run frontend dev server
cd src/frontend && npm run devLicense
ISC
Contributing
Contributions welcome! Please read our contributing guidelines and submit PRs.
