lmstudio-ollama-mcp
lmstudio-ollama-mcp
npm install -g lmstudio-ollama-mcp
lmstudio-ollama-mcp doctor # or: forge doctor
lmstudio-ollama-mcp "add unit tests for src/utils/logger.ts"Lokal zuerst. Privat. Kostenlos. Keine API-Schlüssel erforderlich. Frontier-Modelle (GPT-4o, Claude 4) sind optional — sie werden nur als Planer eingesetzt, während kleine lokale Modelle die Arbeit erledigen. Der Alias
forge/forgecodebewahrt das Muskelgedächtnis.
Warum lmstudio-ollama-mcp
Claude Code / Codex | lmstudio-ollama-mcp | |
Läuft auf | Cloud-API (kostenpflichtig, Daten verlassen den Rechner) | LM Studio · Ollama · llama.cpp (offline, privat) |
Kosten | $ pro Token | $0 nach dem Modell-Download |
Sub-Agenten | Single-threaded oder Cloud-Parallelität | Hardwarebewusste lokale Parallelität |
Modellwahl | Herstellerabhängig | Beliebiges GGUF / OpenAI-kompatibles Modell |
Hybrid-Modus | — | Frontier plant, lokale führen aus (optional) |
Sandbox | Cloud-Container | Dein Dateisystem, deine Regeln |
MCP | — | Bereit: Brücke lokaler Laufzeiten als MCP-Tools |
In einem Satz: lmstudio-ollama-mcp bringt die agentische Schleife von Claude Code — lesen → planen → bearbeiten → verifizieren mit Tools — auf dein MacBook, mit einem intelligenten Router, der triviale Aufgaben an ein lokales 7B-Modell schickt und anspruchsvolles Denken nur bei Bedarf an ein Frontier-Modell.
Related MCP server: Shared Workspace MCP
Demo
# 1 — Diagnose
lmstudio-ollama-mcp doctor
# Hardware: Apple M3 (8 cores / 16GB) • Recommended: 8 agents
# ● lmstudio (LM Studio) http://localhost:1234/v1 available
# models: gemma-3-12b-qat, qwen3-27b-ud-iq2_s …
lmstudio-ollama-mcp models
# ● lmstudio ▸ gemma-3-12b-qat 6.5GB Q4_0
# ▸ qwen3-27b 7.8GB IQ2_S
# 2 — One-shot
lmstudio-ollama-mcp "refactor src/providers into a registry + add tests. keep public API stable"
# 3 — Parallel (auto-splits into sub-agents)
lmstudio-ollama-mcp --parallel 4 "implement auth module, write tests, and update docs"
# forge alias also works:
forge --parallel 4 "implement auth module, write tests, and update docs"
# 4 — Force a specific model
lmstudio-ollama-mcp --model ollama:qwen2.5-coder:14b "explain this repo's error handling"
lmstudio-ollama-mcp --provider lmstudio --model gemma-3-12b "fix the failing test in tests/tools.test.ts"
# 5 — Interactive
lmstudio-ollama-mcp
# lmstudio-ollama-mcp> add dark mode to docs/index.htmlSchnellstart
Voraussetzungen
Node.js >= 18
Eines davon:
Installation
npm install -g lmstudio-ollama-mcp
# aliases also available: forge, forgecode
# or one-off
npx lmstudio-ollama-mcp doctorErster Start
git clone https://github.com/your-org/your-project && cd your-project
lmstudio-ollama-mcp init # creates lmstudio-ollama-mcp.json (also reads forgecode.json for compat)
lmstudio-ollama-mcp doctor # verify providers + hardware
lmstudio-ollama-mcp "list the codebase structure and suggest 3 small improvements"Für den rein lokalen Modus sind keine API-Schlüssel nötig. Für den Hybrid-Modus (Frontier + lokal) folgende Umgebungsvariablen setzen:
export OPENAI_API_KEY=sk-...
export ANTHROPIC_API_KEY=sk-ant-...Architektur
┌─────────────────────────────────────────────────────────┐
│ CLI lmstudio-ollama-mcp "task" • doctor • models │
│ aliases: forge, forgecode │
├─────────────────────────────────────────────────────────┤
│ Router (strategy: auto | local-first | frontier-first)│
│ ├─ classify(prompt) → trivial | small | medium | large │
│ └─ thresholds.preferLocalFor: lint/format/test/search │
├─────────────────────────────────────────────────────────┤
│ Orchestrator (decompose → batch by deps → schedule) │
│ ├─ Planner LLM decomposes goal → SubTasks[] │
│ └─ Scheduler (hardware-aware p-limit, preserves order) │
├─────────────────────────────────────────────────────────┤
│ Agent Loop (provider.chat ↔ tool executor) │
│ ├─ Tools: read_file, write_file, edit_file, bash, │
│ │ glob, grep, list_dir │
│ └─ Max 25 tool turns, exact-string edits │
├─────────────────────────────────────────────────────────┤
│ Providers (OpenAI-compatible) │
│ ├─ LM Studio http://localhost:1234/v1 (+ fs scan) │
│ ├─ Ollama http://localhost:11434 (+ /api/tags) │
│ ├─ llama.cpp http://localhost:8080/v1 │
│ └─ Frontier OpenAI / Anthropic (optional) │
├─────────────────────────────────────────────────────────┤
│ Hardware Detector • Scheduler │
│ cores × overcommit, free mem / perAgent → maxParallel │
│ Apple Silicon bonus, clamp 1..16 │
└─────────────────────────────────────────────────────────┘Datenfluss:
User prompt
→ Router.classify → pick provider+model (local for small, frontier for large)
→ If parallel & non-trivial: Orchestrator.decompose → 2-6 SubTasks
→ Scheduler.runAll(SubTasks) with maxParallel = f(cores, RAM)
→ Each SubTask → Agent(provider, model, ToolExecutor) → tool loop
→ Synthesis agent merges results
→ Final summaryAnbieter
Anbieter | Standard-URL | Erkennung | Hinweise |
LM Studio |
|
| Unterstützt |
Ollama |
|
|
|
llama.cpp |
|
| Beliebiges GGUF über |
OpenAI |
| API |
|
Anthropic |
| API |
|
Alle Anbieter unterstützen OpenAI-kompatible Chat Completions mit tools (Function Calling). reasoning_content (Qwen/Gemma) wird automatisch normalisiert.
Benutzerdefinierten Endpunkt hinzufügen
// lmstudio-ollama-mcp.json
{
"providers": {
"my-local": { "type": "openai", "baseUrl": "http://192.168.1.10:1234/v1", "enabled": true }
}
}Parallele Sub-Agenten
Zerlegt komplexe Ziele in 2–6 unabhängige Teilaufgaben mithilfe eines Planungs-LLM (Frontier, falls verfügbar, sonst lokal). Die Ausführung wird durch die Hardware begrenzt:
// hardware/detector.ts — recommendParallelism()
cpuLimit = floor(cores * overcommit) - 1
memLimit = floor((totalGb*1024 - 2048) / perAgentMb)
maxParallel = min(cpuLimit, memLimit) + appleSiliconBonus
// clamp: 1..8 default, up to 16 on 64GB machineslmstudio-ollama-mcp --parallel 8 "migrate codebase from Jest to Vitest"
# Decomposed:
# t1 Explore & plan → search (routed to local 7B)
# t2 Implement → code (routed to local or frontier)
# t3 Verify → test (routed to local)
# Runner: Scheduler.runAll with p-limit = 8Aufgaben mit dependsOn werden topologisch gebündelt — Batch N startet erst, nachdem N-1 abgeschlossen ist.
Freundlich zu lokalen Modellen: Triviale Aufgaben (lint, format, summarize, explain) werden immer lokal geroutet, unabhängig von der Strategie.
Konfiguration
Auflösung der Konfiguration: DEFAULT < ~/.lmstudio-ollama-mcp/config.json < ./lmstudio-ollama-mcp.json < Umgebungsvariablen.
Die alten ~/.forgecode/config.json- und forgecode.json/forge.json-Dateien werden weiterhin aus Kompatibilitätsgründen gelesen (der neue Pfad hat Vorrang).
lmstudio-ollama-mcp config --show # resolved JSON
lmstudio-ollama-mcp config --path # file locations
lmstudio-ollama-mcp init # scaffold lmstudio-ollama-mcp.jsonReferenz lmstudio-ollama-mcp.json
{
"version": 1,
"providers": {
"lmstudio": { "type": "lmstudio", "baseUrl": "http://localhost:1234/v1", "enabled": true },
"ollama": { "type": "ollama", "baseUrl": "http://localhost:11434", "enabled": true },
"llamacpp": { "type": "llamacpp", "baseUrl": "http://localhost:8080", "enabled": true },
"openai": { "type": "openai", "baseUrl": "https://api.openai.com/v1", "apiKey": "sk-..." }
},
"router": {
"strategy": "auto", // auto | local-first | frontier-first | local-only
"frontierProvider": "openai",
"frontierModel": "gpt-4o-mini",
"thresholds": {
"smallTaskMaxTokens": 2000,
"preferLocalFor": ["lint","format","test","search","summarize","explain"]
}
},
"hardware": {
"maxParallelAgents": 4, // auto if omitted
"maxMemoryPerAgentMb": 1200,
"cpuOvercommit": 1
},
"permissions": {
"allowBash": true,
"allowWriteOutsideWorkspace": false,
"allowNetwork": true
}
}Strategien:
auto— trivial/klein → lokal, mittel/groß → Frontier, falls verfügbar, sonst lokal. (empfohlen)local-first— nur mittel/groß geht an Frontier.local-only— Frontier wird nie aufgerufen (air-gapped).frontier-first— Frontier immer bevorzugen.
Werkzeuge
Agenten haben 7 Werkzeuge — dieselbe Oberfläche wie Claude Code, auf den Arbeitsbereich beschränkt:
Werkzeug | Beschreibung |
| Datei lesen (2-MB-Limit, sonst grep verwenden) |
| Datei erstellen/überschreiben ( |
| Exakten String ersetzen (muss genau einmal vorkommen) |
| Befehl ausführen ( |
|
|
| Regex-Suche (überspringt |
| Verzeichnis auflisten |
Sicherheit: Pfad-Ausbrüche werden blockiert, außer permissions.allowWriteOutsideWorkspace=true; gefährliche Befehle (rm -rf /) werden abgelehnt; große Ausgaben werden gekürzt (30k).
Vergleich: Wann welches Modell verwenden
Aufgabe | Warum lokal gewinnt | Beispiel |
Lint / Format / grep | 0,2 s vs. 2 s RTT |
|
Erklären / Zusammenfassen | Private Codebasis bleibt lokal |
|
Kleine Änderungen | Keine Warteschlange, keine Kosten |
|
Großes Refactoring | Frontier plant, lokale führen parallel aus |
|
Anspruchsvolles Denken | 70B / Frontier nötig |
|
Entwicklung
npm install
npm run build # tsc
npm test # vitest
npm run dev -- doctorProjektübersicht:
src/
cli/ commander CLI + commands (doctor, models, config, init)
config/ Zod schema + layered store (global ↔ project)
hardware/ detector (cores/RAM/GPU) + p-limit scheduler
providers/ base + openai-compatible + lmstudio/ollama/llamacpp + registry + router
core/ Agent (tool loop) + Orchestrator (decompose + parallel)
tools/ definitions + executor (fs/glob/grep/bash)
utils/ logger, format
tests/ vitest suites (hardware, tools, router, config, providers)
docs/ GitHub Pages landing (WizardZ-inspired, lime/black)Roadmap
Streaming-Ausgabe (
--stream)MCP-Server (Model Context Protocol) — lokale Modelle als MCP-Tools für andere Agenten bereitstellen
Persistenter Speicher (
.lmstudio-ollama-mcp/memory.md)lmstudio-ollama-mcp plan— Trockenlauf-Zerlegung ohne AusführungVision-Modelle (Gemma 12B multimodal) für Screenshot-gesteuerte UI-Arbeit
hooks— Pre-/Post-Tool-HooksWindows- / Linux-GPU (CUDA/Vulkan) Scheduler-Hinweise
Mitwirken
PRs willkommen. Behalte die Kernprinzipien bei: lokal zuerst, minimale Abhängigkeiten, hardwarebewusst, kein KI-Schrott.
npm run build && npm testSchlüsselwörter
lm-studio lmstudio ollama llama.cpp local-llm local-first coding-agent autonomous-agent claude-code codex sub-agents parallel-agents mcp model-context-protocol hardware-aware openai-compatible gguf agentic dev-tools ai-coding on-device-ai privacy
Lizenz
MIT — siehe LICENSE.
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 Servers
- AlicenseAqualityAmaintenanceA fully featured coding agent that uses symbolic operations (enabled by language servers) and works well even in large code bases. Essentially a free to use alternative to Cursor and Windsurf Agents, Cline, Roo Code and others.2928,582MIT
- AlicenseNot gradedqualityBmaintenanceLocal-first memory, pipelines, learning, feedback, and safe code tools for AI coding agents.MIT
- FlicenseNot gradedqualityDmaintenanceMulti-agent continuous development system with local LLM orchestration.1
- AlicenseCqualityBmaintenanceEnables AI coding agents to navigate massive codebases through fast code property graph queries, sandboxed recursive language model execution, durable semantic memory, and swarm concurrency coordination.4MIT
Related MCP Connectors
Cross-agent artifact workspace with provenance across Claude Code, Codex, Cursor, LangGraph.
Coding agents from Claude Code, Cursor and Codex claim jobs and lock files on one shared board.
Coding agents build full-stack apps in persistent workspaces and share them by link.
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/fthsrbst/lmstudio-ollama-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server