VibeOps MCP Server Documentation
VibeOps deployment and infrastructure management MCP server.
Debug Information
Debug Mode: False
Logging Level: 20
Available Endpoints
POST /mcpMCP protocol endpoint (enhanced with logging)
GET /debugDebug information (requires DEBUG=true)
Available MCP Tools (5 total)
check_deployment_status: Check the status of a VibeOps deployment
USAGE: Call this repeatedly after deploy_application to monitor progress.
Poll every 30 seconds until status is "completed" or "failed".
Args:
deployment_id (str): The unique identifier of the deployment to check
Returns:
dict: Dictionary containing deployment status information with status, progress, and logs
deploy_application: Deploy an application using VibeOps with automatic repository analysis
USAGE: This tool automatically analyzes the repository and deploys the application.
It combines repository analysis and deployment in a single step.
Steps:
1. Analyze repository locally using analyse_repo_locally
2. Extract git information, environment variables, framework, project type, build tool, package manager, entry point, build command, start command, container port from analysis
3. Check git remote url connection status
3.1 if connected
3.1.1 get the url and check in vibeops 'projects' table against user id if that url is registered as project or not
3.1.1.1 if registered, confirm user that it's okay to commit the changes(if any) to the repo and intiate deployment, mark project_registered_bool as True
3.1.1.2 if not registered, prompt user that this app is not registered as project in vibeOps, ask user to connect repo to vibeops via vibeops github app and try again, display link: https://github.com/apps/vibeops-ai, mark project_registered_bool as False, stop process.
3.2 if not connected, prompt user to connect repo to vibeops via vibeops github app and try again, display link: https://github.com/apps/vibeops-ai, mark git_connected_bool as False, stop process.
4. Confirm git repo connected to vibeops
5. Deploy using analysis results
Args:
repo_path (str): Path to the repository/working directory (default: current directory)
max_depth (int): Maximum depth to scan directories (default: 2)
git_connected_bool (bool): Whether the git remote url is connected to vibeops
project_registered_bool (bool): Whether the project is registered in vibeops
environment (str): The deployment environment (default: "production")
subdomain (str): User input custom subdomain for the deployed application. Ask user for their subdomain choice.
user_id (str): User ID for authentication (automatically injected)
Returns:
dict: Dictionary containing deployment information and status with deployment_id for monitoring
get_infrastructure_status: Get the current status of VibeOps infrastructure
USAGE: Call this optionally before deployment to verify infrastructure health.
Can be skipped if infrastructure is known to be stable.
Returns:
dict: Dictionary containing infrastructure status information with service health and uptime
scale_service: Scale a service to the specified number of instances
USAGE: Call this optionally after successful deployment for production scaling.
Use the subdomain as service name (e.g., "myapp-service").
Args:
service_name (str): The name of the service to scale (typically subdomain-service)
instances (int): The target number of instances for the service
Returns:
dict: Dictionary containing scaling operation status and details
get_deployment_logs: Get logs for a specific deployment
USAGE: Call this when deployment fails or for debugging purposes.
Use after check_deployment_status shows "failed" status.
Args:
deployment_id (str): The unique identifier of the deployment
lines (int, optional): Number of log lines to retrieve (default: 100)
Returns:
dict: Dictionary containing deployment logs and metadata for troubleshooting
Example Usage Sequence
Complete Deployment Workflow:
- Analyze Repository:
analyse_repo_locally_mcp(repo_path=".", max_depth=2)
- Check Infrastructure:
get_infrastructure_status() (optional)
- Deploy Application:
deploy_application(repo_url, environment="production", config, subdomain)
- Monitor Deployment:
check_deployment_status(deployment_id) (poll until completed)
- Get Logs (if failed):
get_deployment_logs(deployment_id, lines=100)
- Scale Service:
scale_service(service_name, instances) (optional)
Important: Always start with repository analysis. Use analysis results to build the config parameter for deployment.
Usage
This server implements the Model Context Protocol (MCP) for VibeOps deployment automation and infrastructure management.
Getting Started
1. Configure your deployment credentials in environment variables
2. Set up API key authentication: export VIBEOPS_API_KEY='your-api-key'
3. Use the available tools for deployment and infrastructure management
4. Run with: python main.py --http
5. Test with: pytest or python test_client.py
6. Enable debug mode: DEBUG=true python main.py --http
API Key Authentication
All MCP endpoints require API key authentication except:
- /health - Health check endpoint
- /docs - Documentation endpoint
- /info - Server information
- /tools - List available tools
- /mcp - MCP protocol endpoint (no auth required for now)
Provide API key in request headers:
- Authorization: Bearer your-api-key
- X-API-Key: your-api-key
Debug Mode
Set DEBUG=true to enable detailed logging and debug information.
Debug mode provides:
- Detailed request/response logging
- Stack traces for errors
- Additional debug endpoints
- Verbose error messages