I’m developing an Android chat assistant app, which can convert an user query to tool calls by invoking a backend service API on cloud. In my case, many tools must be run on mobile client side (i.e. on Android OS), and some of them are time-consuming, e.g. switching Bluetooth on/off, setting an alarm, making a phone call to somebody on behalf of user, etc. That means the problem is, agents on cloud must trigger a tool call running on mobile client side.
Is MCP server applicable for implement those tools running on mobile client side? In my opinion, the answer is NO. It's not a good idea to start a http server on mobile phone, because it is power-consuming, vulnerable, and also mobile network is unstable.
If not applicable, what is the best way to call tools on mobile side from cloud side? The only way I can think of is, forwarding LLM output of response.choices.message.tool_calls to mobile client side, then client parses the function name and arguments to invoke the tool.