Lmstudio Local Tools
FreeNot checkedOffline terminal, browser, and web-search tools for any local LM Studio model — no cloud API, no API keys.
About
Offline terminal, browser, and web-search tools for any local LM Studio model — no cloud API, no API keys.
README
lmstudio-local-tools
A local-AI fallback stack for LM Studio: terminal and browser control via MCP, a stdlib-only terminal chat client, and a keyless web search server. Point any tool-calling-capable local model at your shell, your real Chrome, and the open web — no cloud API, no API keys, nothing leaves your machine.
What's included
qwen |
stdlib-only Python REPL that talks to LM Studio's local server API, including MCP tool calls. Works with any tool-calling-capable model. |
rg_websearch_mcp.py |
keyless MCP server exposing web_search(query, max_results=5), backed by Bing's HTML results page — no API key required. |
mcp.json.example |
template MCP server config for ~/.lmstudio/mcp.json. |
scripts/ + launchagents/ |
optional LaunchAgent to keep the LM Studio local server running in the background. |
MCP servers used:
- terminal → @wonderwhy-er/desktop-commander — shell command execution, file read/write/edit/search.
- browser → @playwright/mcp
--extension— controls your real running Chrome via a bridge extension.
Both run via npx, no persistent install required.
Setup
Copy the MCP config. Copy
mcp.json.exampleto~/.lmstudio/mcp.json(merge with any existing entries), filling in the placeholders:PLAYWRIGHT_MCP_EXTENSION_TOKEN— shown when you install the Playwright Extension in Chrome.- The absolute path to
rg_websearch_mcp.pyfor thewebsearchentry.
Reload MCP servers in LM Studio. Open LM Studio → left sidebar → Program (plug/MCP icon). You should see
terminal,browser, andwebsearchlisted; hit refresh or restart LM Studio if not.Load a tool-calling capable model from LM Studio's model picker, and enable the
terminal/browser/websearchMCP tools for the chat.Enable server authentication (Developer tab → Local Server → Server Settings): turn on Require Authentication, then Manage Tokens → Create Token, and export it:
export LM_API_TOKEN="<your token>"This must be on before "Allow calling servers from mcp.json" will take effect — enabling only the mcp.json toggle without authentication first silently does nothing.
Usage
cd lmstudio-local-tools
export LM_API_TOKEN="<your token>"
./qwen # interactive REPL, both tools on
./qwen --no-browser # terminal tool only
./qwen --no-terminal # browser tool only
./qwen --model "<model-id>"
./qwen --show-reasoning # show the model's reasoning blocks
./qwen -p "list files in ~/Desktop" # one-shot, non-interactive
$ ./qwen
model: qwen/qwen3.8-27b
tools: ['mcp/terminal', 'mcp/browser']
type 'exit' or Ctrl-D to quit
> list the files on my Desktop
[tool] terminal.list_directory({"path": "~/Desktop"})
-> Portfolio, Screenshots, notes.txt, ...
Your Desktop has a Portfolio folder, a Screenshots folder, and a notes.txt file.
The client keeps the conversation stateful across turns, prints each tool
call it makes with a truncated output preview, then the model's final reply.
Type exit or Ctrl-D to quit.
Want to just type qwen from anywhere?
ln -s "$(pwd)/qwen" ~/.local/bin/qwen # make sure ~/.local/bin is on your PATH
Then qwen works as a plain command in any terminal, no cd or python3 needed.
Test the web search server standalone:
python3 rg_websearch_mcp.py --self-test "your query here"
Isolated browser profile (optional)
If you'd rather not install the Playwright extension, edit the browser
entry in mcp.json to use a separate persistent Chrome profile instead of
your real one:
"args": ["-y", "@playwright/mcp@latest", "--browser", "chrome", "--user-data-dir", "~/.lmstudio-browser-profile"]
Auto-start the LM Studio server
Copy scripts/ensure-lmstudio-server.sh to ~/.local/bin/ and
launchagents/com.lmstudio.server-autostart.plist to
~/Library/LaunchAgents/, updating the paths inside each to match your
username, then:
launchctl load ~/Library/LaunchAgents/com.lmstudio.server-autostart.plist
This runs lms server start at login and every 5 minutes thereafter.
Safety notes
- terminal gives the model real shell access — full read/write/delete on
your filesystem and the ability to run any command. Leave LM Studio's
per-tool-call confirmation dialog on (
neverAskForToolConfirmation: falsein~/.lmstudio/settings.json), and don't approve a command you don't understand. - browser with
--extensioncan act in your real, logged-in browser. Don't approve actions on sensitive tabs you haven't reviewed. qwenhas no per-tool-call confirmation of its own — the API executes tool calls immediately once the server setting above is on.- Local models are more likely than a frontier hosted model to misread instructions or run a destructive command by mistake. Review before approving anything destructive.
Notes on the web search backend
rg_websearch_mcp.py scrapes Bing's plain HTML results page rather than
DuckDuckGo, because DuckDuckGo's html.duckduckgo.com / lite.duckduckgo.com
endpoints return an anti-bot CAPTCHA for a bare scripted request. Scraping a
search engine's HTML is inherently a "verify it still works" integration — if
Bing starts blocking requests too, check the page's current markup in a
browser and adjust the regexes accordingly.
License
MIT © 2026 RouterGlock — see LICENSE.
Installing Lmstudio Local Tools
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/RouterGlock/lmstudio-local-toolsFAQ
Is Lmstudio Local Tools MCP free?
Yes, Lmstudio Local Tools MCP is free — one-click install via Unyly at no cost.
Does Lmstudio Local Tools need an API key?
No, Lmstudio Local Tools runs without API keys or environment variables.
Is Lmstudio Local Tools hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Lmstudio Local Tools in Claude Desktop, Claude Code or Cursor?
Open Lmstudio Local Tools on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
Playwright
Browser automation, scraping, screenshots
by MicrosoftPuppeteer
Browser automation and web scraping.
by modelcontextprotocolGarmin Connect
An MCP server for Garmin Connect that provides access to fitness activities, health statistics, and sleep data by routing requests through a headless browser to
by etweisbergHiggsfield Unlimited
MCP server for Higgsfield AI that enables unlimited-mode image, video, audio generation, uploads, and job management via multiple parallel accounts, using brows
by nukIeeropentabs-dev/opentabs
Plugin-based MCP server + Chrome extension that gives AI agents access to web applications through the user's authenticated browser session. 100+ plugins with a
by opentabs-devrobhunter/agentdeals
1,500+ developer infrastructure deals, free tiers, and startup programs across 54 categories. Search deals, compare vendors, plan stacks, and track pricing chan
by robhunterhlydecker/ucsc-genome-mcp
MCP server to interact with the UCSC Genome Browser API, letting you find genomes, chromosomes, and more.
by hlydecker34892002/bilibili-mcp-js
A MCP server that supports searching for Bilibili content. Provides LangChain integration examples and test scripts.
by 34892002achiya-automation/safari-mcp
Native Safari browser automation for AI agents with 80+ tools. No Chrome dependency, optimized for Apple Silicon with 60% less CPU overhead.
by achiya-automationagent-infra/mcp-server-browser
Browser automation capabilities using Puppeteer, both support local and remote browser connection.
by bytedanceCompare Lmstudio Local Tools with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All browse MCPs
