health_check
Verify system health and connectivity to ensure the Vibe platform is operational. Diagnose connectivity issues with a single check.
Instructions
Check the health and connectivity of the Vibe system
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |
Implementation Reference
- app/tools/vibe_tools.py:421-444 (handler)Core handler implementation: _execute_health_check method in VibeMCPTools class. Makes an API call to get_project_list as a health probe and returns status, message, and api_accessible fields. Sets 'healthy' on success, 'unhealthy' on exception.
async def _execute_health_check( self, tool_input: dict[str, Any], log: structlog.stdlib.BoundLogger, ) -> list[TextContent]: """Execute health_check tool.""" try: # Try to fetch projects as a health check response = await self.vibe_client.get_project_list(environment="Development") result = { "status": "healthy", "message": "Vibe API is responding", "api_accessible": response.success, } except Exception as e: log.warning("Health check failed", error=str(e)) result = { "status": "unhealthy", "message": f"Vibe API health check failed: {str(e)}", "api_accessible": False, } log.info("Health check completed", result=result) return [TextContent(type="text", text=json.dumps(result, indent=2))] - app/tools/vibe_tools.py:223-233 (schema)Tool schema definition: _get_health_check_tool method defines the MCP Tool with name 'health_check', description, and empty input schema (no parameters required).
def _get_health_check_tool(self) -> Tool: """Define Health Check tool.""" return Tool( name="health_check", description="Check if Vibe API server is healthy and responsive", inputSchema={ "type": "object", "properties": {}, "required": [], }, ) - app/tools/registration.py:172-186 (registration)FastMCP registration: @mcp.tool decorator registers 'health_check' with the FastMCP server. The async wrapper calls _execute_health_check and returns the text result.
@mcp.tool( name="health_check", description="Check the health and connectivity of the Vibe system", ) async def health_check() -> str: try: result = await _tools()._execute_health_check( {}, logger.bind(tool="health_check"), ) return result[0].text except Exception as e: log = logger.bind(tool="health_check") log.error("Tool execution failed", error=str(e)) raise MCPToolExecutionError(f"Tool execution failed: {str(e)}") from e - app/tools/vibe_tools.py:44-51 (registration)Tool listing: get_all_tools() includes _get_health_check_tool() in the returned list of all available tools.
return [ self._get_project_list_tool(), self._create_repo_tool(), self._create_bucket_tool(), self._get_activity_tool(), self._get_code_tool(), self._get_health_check_tool(), ] - app/tools/vibe_tools.py:268-269 (registration)Dispatch routing: execute_tool() routes the 'health_check' tool name to _execute_health_check.
elif tool_name == "health_check": return await self._execute_health_check(tool_input, log)