#24709 MCP: health check skipped for OAuth2 M2M servers — always shows 'unknown'
## Bug Report
### Description
MCP servers configured with OAuth2 `client_credentials` (M2M) auth always show `status: "unknown"` because the health check is unconditionally skipped.
### Root Cause
In `mcp_server_manager.py` `health_check_server()` (around line 2663), the health check is skipped when: ```python elif ( server.auth_type and server.auth_type != MCPAuth.none and server.auth_type != MCPAuth.aws_sigv4 and not server.authentication_token ): should_skip_health_check = True ```
For M2M OAuth2 servers, `authentication_token` is always `None` — the token is fetched dynamically at request time via `client_id`/`client_secret`/`token_url`. So this condition always evaluates to `True` and the health check never runs.
### Expected Behavior
For OAuth2 M2M servers (where `token_url`, `client_id`, and `client_secret` are configured), the health check should fetch an OAuth2 token using the stored credentials and use it to perform the health check, similar to how `execute_mcp_tool` fetches tokens at request time.
### Actual Behavior
Health check is skipped entirely. Status remains `"unknown"` in both UI and API responses.
### Steps to Reproduce
1. Create a…