local-worker-mcp
Allows delegating tasks to a local Ollama model, which runs its own tool-calling loop with file read/write, web search, and current date/time tools, and returns auditable steps.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@local-worker-mcpSearch the web for the latest Qwen3.6 release and save a summary to notes.md"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
local-worker-mcp
An MCP server that exposes a local Ollama model (e.g. Qwen3.6) as an agentic worker -- with its own tool-calling loop (read/list/write files inside an allow-listed folder, search the web, get the real current date/time) -- for use from any MCP client: Claude Code, Claude Desktop, Continue, Cursor, whatever.
"Foreman/worker" pattern: the MCP client (you, or a larger LLM like Claude) keeps the full context and decides what's worth delegating; this server only ever executes the one scoped, well-specified task it's handed, with no memory of anything else.
Why this exists
Grew out of using Continue.dev with local models and hitting real instability in that extension (it hangs). Instead of continuing to patch a VS Code extension, this project separates the concern: a plain MCP server, no GUI in the loop, talking straight to Ollama.
Related MCP server: MCP Filesystem
Architecture
MCP client (Claude Code, Claude Desktop, ...)
│ tools/call "delegate_task"
▼
local-worker-mcp (this server, streamable HTTP)
│ /api/chat with tools attached
▼
Ollama (localhost:11434, or remote over Tailscale)
│ tool_calls: read_file / write_file / search_web / ...
▼
local-worker-mcp executes each tool call, scoped to workspace_rootSecurity (read this before using it)
allowedRootsin the config is a real allow-list: the server refuses anyworkspace_rootor path that isn't literally inside one of those folders -- empty by default, by design. You have to explicitly add folders via the dashboard or the config file before the worker can touch anything.trustedParentsis the ergonomic escape hatch for the above: any subdirectory under one of these is auto-allowed without registering it individually -- defaults to~/code, so any project you keep there (and whateverworkspace_rootyour MCP client passes for it, e.g. the current Claude Code project directory) just works with zero manual setup. UseallowedRootsinstead when you want something scoped tighter than "everything under this folder".Every write (
write_file) is logged to~/.local-worker-mcp/activity.logwith the full path and size -- so you can audit what the model touched afterward.Explicitly tested that a directory-escape attempt (
../../etc/...) is rejected by the server itself, not just "trusted" to the model behaving.The local model can get things wrong (see
~/local-llm-bench/RESULTS.mdfor real data on when and how much) -- always reviewstepsin the response before trusting a file change.
Install / run
git clone https://github.com/deatherick/local-worker-mcp.git
cd local-worker-mcp
npm install
npm run build
node dist/server.jsOpen http://localhost:8787 for the config dashboard (model, context
length, allowed folders, etc. -- saved to ~/.local-worker-mcp/config.json).
To run it centralized (one Mac with Ollama, reachable from other machines
over Tailscale/LAN) and connect from an MCP client on another machine,
point that client's MCP config at http://<host>:8787/mcp
(streamable-http transport), e.g. in Continue:
mcpServers:
- name: Local Worker
type: streamable-http
url: http://your-host.your-tailnet.ts.net:8787/mcpExposed tools
delegate_task(task, workspace_root, model?, think?, max_steps?)-- runs the full loop. ReturnsfinalTextplus everystepsentry (which tool it called, with what arguments, and the result) so you can audit before trusting the outcome.list_worker_config()-- current config, so a client can confirm which model/folders it's talking to before delegating.
Development
npm run dev # build + startRoadmap / not included yet
Proxying to other existing MCP servers (Git, Context7) from inside the worker's own loop -- today it only has its own
search_webplus the native file tools.A shell-command tool -- deliberately NOT included in v0.1 given the risk; if added, it needs its own allow-list of permitted commands, not free execution.
Auth on the HTTP endpoint -- currently assumes it runs behind a trusted network (Tailscale/LAN), not exposed to the open internet.
License
Apache 2.0.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
No tool schema history has been recorded yet.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
OCR, transcription, file extraction, and image generation for AI agents via MCP.
Hosted MCP runtime where the agent is the operator: sign up by tool call, publish your own tools.
171Discover and call AI agents via MCP. Supports A2A agents and platform agents with async tasks.
Read-only MCP server exposing a user ORANO library to their own AI agent.
1
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables seamless integration between Ollama's local LLM models and MCP-compatible applications, supporting model management and chat interactions.131,144170AGPL 3.0
- AlicenseNot gradedqualityDmaintenanceEnables natural language filesystem operations (create, list, delete directories/files) via Ollama local LLM and MCP protocol within allowed directories.221MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for delegating coding tasks to local Ollama models. Supports listing models and executing tasks with file writing capabilities.1,144AGPL 3.0
- AlicenseAqualityBmaintenanceEnables AI agents to offload mechanical, high-token work to local Ollama models through MCP, with role-based model discovery, batch processing, and file-aware inputs.4MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/deatherick/local-worker-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server