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"Local-first. Privado. Gratis. Sin claves de API. Los modelos de vanguardia (GPT-4o, Claude 4) son opcionales: se usan solo como planificadores mientras los modelos locales pequeños hacen el trabajo. El alias
forge/forgecodemantiene la memoria muscular.
Por qué lmstudio-ollama-mcp
Claude Code / Codex | lmstudio-ollama-mcp | |
Se ejecuta en | API en la nube (de pago, los datos salen del equipo) | LM Studio · Ollama · llama.cpp (sin conexión, privado) |
Coste | $ por token | $0 tras descargar el modelo |
Subagentes | Paralelismo de un solo hilo o en la nube | Paralelismo local consciente del hardware |
Elección de modelo | Bloqueado por el proveedor | Cualquier modelo GGUF / compatible con OpenAI |
Modo híbrido | — | Los modelos de vanguardia planifican, los locales ejecutan (opcional) |
Entorno aislado | Contenedor en la nube | Tu sistema de archivos, tus reglas |
MCP | — | Listo: conecta los runtimes locales como herramientas MCP |
En una frase: lmstudio-ollama-mcp lleva el bucle de agente de Claude Code — leer → planificar → editar → verificar con herramientas — a tu MacBook, con un enrutador inteligente que envía las tareas triviales a un 7B local y el razonamiento complejo a un modelo de vanguardia solo cuando es necesario.
Related MCP server: Shared Workspace MCP
Demostración
# 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.htmlInicio rápido
Requisitos previos
Node.js >= 18
Una de estas opciones:
Instalación
npm install -g lmstudio-ollama-mcp
# aliases also available: forge, forgecode
# or one-off
npx lmstudio-ollama-mcp doctorPrimera ejecución
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"No se necesitan claves de API para el modo solo local. Para el modo híbrido (modelos de vanguardia + local), configura las variables de entorno:
export OPENAI_API_KEY=sk-...
export ANTHROPIC_API_KEY=sk-ant-...Arquitectura
┌─────────────────────────────────────────────────────────┐
│ 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 │
└─────────────────────────────────────────────────────────┘Flujo de datos:
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 summaryProveedores
Proveedor | URL por defecto | Detección | Notas |
LM Studio |
| escaneo de | Compatible con |
Ollama |
|
| requiere |
llama.cpp |
|
| Cualquier GGUF mediante |
OpenAI |
| API | Configura |
Anthropic |
| API | Configura |
Todos los proveedores hablan Chat Completions compatible con OpenAI con tools (llamada a funciones). Normaliza reasoning_content (Qwen/Gemma) automáticamente.
Añadir un endpoint personalizado
// lmstudio-ollama-mcp.json
{
"providers": {
"my-local": { "type": "openai", "baseUrl": "http://192.168.1.10:1234/v1", "enabled": true }
}
}Subagentes paralelos
Divide los objetivos complejos en 2–6 subtareas independientes mediante un LLM planificador (de vanguardia si está disponible; si no, local). La ejecución está limitada por el hardware:
// 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 = 8Las tareas con dependsOn se agrupan en lotes de forma topológica: el lote N solo comienza cuando el lote N-1 termina.
Amigable con los modelos locales: las tareas triviales (lint, format, summarize, explain) se enrutan siempre a nivel local, independientemente de la estrategia.
Configuración
Resolución de configuración: DEFAULT < ~/.lmstudio-ollama-mcp/config.json < ./lmstudio-ollama-mcp.json < variables de entorno.
Las rutas heredadas ~/.forgecode/config.json y forgecode.json / forge.json se siguen leyendo por compatibilidad con versiones anteriores (la nueva ruta tiene prioridad).
lmstudio-ollama-mcp config --show # resolved JSON
lmstudio-ollama-mcp config --path # file locations
lmstudio-ollama-mcp init # scaffold lmstudio-ollama-mcp.jsonReferencia de 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
}
}Estrategias:
auto— trivial/pequeña → local; mediana/grande → de vanguardia si está disponible; si no, local. (recomendada)local-first— solo las medianas/grandes van al modelo de vanguardia.local-only— nunca llama a un modelo de vanguardia (aislado).frontier-first— prefiere siempre un modelo de vanguardia.
Herramientas
Los agentes disponen de 7 herramientas — la misma superficie que Claude Code, aisladas en el espacio de trabajo:
Herramienta | Descripción |
| Leer un archivo (límite de 2 MB; si no, usa grep) |
| Crear/sobrescribir un archivo ( |
| Reemplazo de cadena exacta (debe coincidir una vez) |
| Ejecutar un comando ( |
| Búsqueda con |
| Búsqueda regex (omite |
| Listado del directorio |
Seguridad: el escape de la ruta está bloqueado salvo que permissions.allowWriteOutsideWorkspace=true; los comandos peligrosos (rm -rf /) se rechazan; las salidas grandes se truncan (30k).
Comparativa: cuándo usar cada modelo
Tarea | Por qué gana lo local | Ejemplo |
Lint / format / grep | 0.2s vs 2s RTT |
|
Explicar / resumir | El código privado permanece local |
|
Ediciones pequeñas | Sin colas, sin coste |
|
Refactorización grande | Los modelos de vanguardia planifican, los locales ejecutan en paralelo |
|
Razonamiento complejo | Se requiere 70B / un modelo de vanguardia |
|
Desarrollo
npm install
npm run build # tsc
npm test # vitest
npm run dev -- doctorMapa del proyecto:
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)Hoja de ruta
Salida en streaming (
--stream)Servidor MCP (Model Context Protocol): exponer modelos locales como herramientas MCP para otros agentes
Memoria persistente (
.lmstudio-ollama-mcp/memory.md)lmstudio-ollama-mcp plan— descomposición de prueba sin ejecuciónModelos de visión (Gemma 12B multimodal) para trabajo de UI guiado por capturas de pantalla
hooks— ganchos de herramientas pre/postSugerencias de planificador para GPU en Windows / Linux (CUDA/Vulkan)
Contribuciones
Se aceptan PRs. Mantén los principios fundamentales: local-first, dependencias mínimas, consciente del hardware, sin basura de IA.
npm run build && npm testPalabras clave
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
Licencia
MIT — consulta 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