Short context: I’m building a local Python agent with a llama.cpp-backed 3B model and MCP-style tools. One tool should open a YouTube search in the browser.

What works

Tool is called (show logs).

URL is correctly returned.

What doesn’t

webbrowser.open does nothing when called inside the tool/server.

Same code in a standalone script does open the browser (if that’s true after you test it).

Environment

OS (e.g. Ubuntu 24.04)

Desktop environment (GNOME/KDE/WSL/headless/etc.)

Concrete question: Is it a bad idea to call webbrowser.open from inside the server process? Should I move URL-opening logic to the client side? Any best practices for this in a local-only setup?

Alex_zlat's user avatar

New contributor

Alex_zlat is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.