#23544 MCP: list_tools called on every tool call for HTTP servers - should use cached tool list
## Describe the bug
When a `tools/call` request is made through LiteLLM's MCP proxy for an HTTP MCP server, LiteLLM calls `list_tools` on the upstream server on **every single tool call**. This causes:
1. An extra round-trip to the upstream MCP server on every call (doubles latency) 2. If `list_tools` is slow or gets cancelled (e.g. client disconnects), the `tools/call` is cancelled too 3. For OAuth2 M2M servers, this also means an extra token fetch/validation cycle
## Expected behavior
Tool metadata for HTTP MCP servers should be cached after the first successful `list_tools` (similar to how OpenAPI tools use `global_mcp_tool_registry`). The cache already exists in `global_mcp_tool_registry` — it's just not populated for HTTP servers.
Additionally, if `allowed_tools` is configured on the server (which is already stored in `MCPServer`), LiteLLM has enough information at startup to skip the runtime `list_tools` call entirely for validation purposes.
## Steps to reproduce
1. Configure an HTTP MCP server with `auth_type: oauth2` (M2M / client_credentials) 2. Make a `tools/call` request via the MCP protocol endpoint 3. Observe in logs: `list_tools` is called on the upstream serv…