#32281 [Bug]: MCP tool conversion drops `function` wrapper key on /v1/chat/completions, causing 400 with hosted_vllm
### Check for existing issues
- [x] I have searched the existing issues and checked that my issue is not a duplicate.
### What happened?
When using the "type": "mcp" tool passthrough on /v1/chat/completions against a hosted_vllm/ model, LiteLLM converts the MCP server's tool list into OpenAI-format tools but omits the required `function` wrapper key. Each tool is sent flat (`name`, `parameters`, `description`, `type` all at the top level) instead of nested under `function`. vLLM's strict OpenAI-schema validation rejects the request with a 400 before the model ever sees the prompt.
**Expected:** each Matomo MCP tool converts into valid OpenAI tool schema, e.g.:
{ "type": "function", "function": { "name": "matomo-matomo_site_list", "description": "...", "parameters": { "type": "object", "properties": { ... } } } }
...and the request succeeds (or fails for a reason unrelated to tool schema shape).
**Actual:** vLLM returns a 400 with 12 validation errors, one per Matomo tool, each reporting a missing `function` field. The tools are being sent flat instead:
{ "name": "matomo-matomo_site_list", "parameters": { "type": "object", "properties": { ... } }, "ty…