salesforce-mcp-mdapi-calls-must-be-async-wrapped

All simple-salesforce mdapi calls are synchronous and block the event loop if called directly in async tool handlers. Every mdapi.deploy(), mdapi.retrieve(), mdapi.check_deploy_status(), and mdapi.check_retrieve_status() must be wrapped with asyncio.to_thread() to prevent event loop starvation in FastMCP.