VibeOps MCP Server Documentation

VibeOps deployment and infrastructure management MCP server.

Debug Information

Debug Mode: False

Logging Level: 20

Available Endpoints

GET /health

Health check

GET /info

Server info

GET /tools

List MCP tools

POST /mcp

MCP protocol endpoint (enhanced with logging)

GET /debug

Debug 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:

  1. Analyze Repository: analyse_repo_locally_mcp(repo_path=".", max_depth=2)
  2. Check Infrastructure: get_infrastructure_status() (optional)
  3. Deploy Application: deploy_application(repo_url, environment="production", config, subdomain)
  4. Monitor Deployment: check_deployment_status(deployment_id) (poll until completed)
  5. Get Logs (if failed): get_deployment_logs(deployment_id, lines=100)
  6. 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:

Provide API key in request headers:

Debug Mode

Set DEBUG=true to enable detailed logging and debug information.

Debug mode provides: