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"Локально прежде всего. Приватно. Бесплатно. Без API-ключей. Фронтирные модели (GPT-4o, Claude 4) необязательны — используются только как планировщики, пока небольшие локальные модели выполняют работу. Алиас
forge/forgecodeсохраняет мышечную память.
Зачем lmstudio-ollama-mcp
Claude Code / Codex | lmstudio-ollama-mcp | |
Работает на | Облачный API (платно, данные покидают машину) | LM Studio · Ollama · llama.cpp (офлайн, приватно) |
Стоимость | $ за токен | $0 после загрузки модели |
Субагенты | Однопоточность или облачный параллелизм | Аппаратно-ориентированный локальный параллелизм |
Выбор модели | Привязка к вендору | Любая GGUF / OpenAI-совместимая модель |
Гибридный режим | — | Фронтир планирует, локальная выполняет (опционально) |
Песочница | Облачный контейнер | Ваша файловая система, ваши правила |
MCP | — | Готово: мост локальных рантаймов как MCP-инструменты |
Одной фразой: lmstudio-ollama-mcp приносит агентный цикл Claude Code — читать → планировать → редактировать → проверять инструментами — на ваш MacBook, с интеллектуальным маршрутизатором, который отправляет простые задачи локальной 7B, а сложные рассуждения — фронтирной модели, только когда это нужно.
Related MCP server: Shared Workspace MCP
Демо
# 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.htmlБыстрый старт
Предварительные требования
Node.js >= 18
Одно из:
Установка
npm install -g lmstudio-ollama-mcp
# aliases also available: forge, forgecode
# or one-off
npx lmstudio-ollama-mcp doctorПервый запуск
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"Для режима local-only API-ключи не нужны. Для гибридного режима (фронтир + локальная) задайте переменные окружения:
export OPENAI_API_KEY=sk-...
export ANTHROPIC_API_KEY=sk-ant-...Архитектура
┌─────────────────────────────────────────────────────────┐
│ 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 │
└─────────────────────────────────────────────────────────┘Поток данных:
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 summaryПровайдеры
Provider | URL по умолчанию | Обнаружение | Примечания |
LM Studio |
| сканирование | Поддерживает |
Ollama |
| нативный | требуется |
llama.cpp |
|
| Любая GGUF через |
OpenAI |
| API | Установите |
Anthropic |
| API | Установите |
Все провайдеры работают через OpenAI-совместимые Chat Completions с tools (вызов функций). reasoning_content (Qwen/Gemma) нормализуется автоматически.
Добавление собственного эндпоинта
// lmstudio-ollama-mcp.json
{
"providers": {
"my-local": { "type": "openai", "baseUrl": "http://192.168.1.10:1234/v1", "enabled": true }
}
}Параллельные субагенты
Разбивает сложные цели на 2–6 независимых подзадач с помощью LLM-планировщика (фронтир, если доступен, иначе локальная). Выполнение ограничено аппаратными ресурсами:
// 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 = 8Задачи с dependsOn группируются топологически — пачка N запускается только после завершения пачки N-1.
Дружелюбно к локальным моделям: простые задачи (lint, format, summarize, explain) всегда маршрутизируются локально независимо от стратегии.
Конфигурация
Порядок разрешения конфигурации: DEFAULT < ~/.lmstudio-ollama-mcp/config.json < ./lmstudio-ollama-mcp.json < переменные окружения.
Устаревшие ~/.forgecode/config.json и forgecode.json / forge.json по-прежнему читаются для обратной совместимости (новый путь имеет приоритет).
lmstudio-ollama-mcp config --show # resolved JSON
lmstudio-ollama-mcp config --path # file locations
lmstudio-ollama-mcp init # scaffold lmstudio-ollama-mcp.jsonСправочник 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
}
}Стратегии:
auto— простые/маленькие → локально, средние/большие → фронтир, если доступен, иначе локально. (рекомендуется)local-first— только средние/большие идут к фронтиру.local-only— никогда не вызывать фронтир (изолированная среда).frontier-first— всегда предпочитать фронтир.
Инструменты
У агентов 7 инструментов — та же поверхность, что и у Claude Code, в песочнице рабочей области:
Tool | Описание |
| Читает файл (лимит 2 МБ) |
| Создаёт/перезаписывает файл (mkdir -p автоматически) |
| Замена точной строки (должна совпасть ровно один раз) |
| Выполняет команду ( |
| Поиск через |
| Поиск по регулярному выражению (пропускает |
| Вывод содержимого каталога |
Безопасность: выход за пределы рабочей директории блокируется, если только permissions.allowWriteOutsideWorkspace=true; опасные команды (rm -rf /) отклоняются; большие выводы усекаются (30k).
Сравнение: когда использовать какую модель
Задача | Почему локальная модель выигрывает | Пример |
Lint / format / grep | 0.2s против 2s RTT |
|
Explain / summarize | Приватная кодовая база остаётся локальной |
|
Мелкие правки | Без очереди, без затрат |
|
Крупный рефакторинг | Фронтир планирует, локальные выполняют параллельно |
|
Сложные рассуждения | Нужны 70B / фронтир |
|
Разработка
npm install
npm run build # tsc
npm test # vitest
npm run dev -- doctorКарта проекта:
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)Дорожная карта
Потоковый вывод (
--stream)MCP (Model Context Protocol) сервер — предоставить локальные модели как MCP-инструменты для других агентов
Постоянная память (
.lmstudio-ollama-mcp/memory.md)lmstudio-ollama-mcp plan— пробный прогон декомпозиции без выполненияМодели зрения (Gemma 12B, мультимодальные) для работы с UI по скриншотам
hooks— пред/пост хуки инструментовПодсказки планировщика для Windows / Linux GPU (CUDA/Vulkan)
Вклад в проект
PR приветствуются. Придерживайтесь основных принципов: локально прежде всего, минимальные зависимости, учёт аппаратного обеспечения, без ИИ-мусора.
npm run build && npm testКлючевые слова
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
Лицензия
MIT — см. 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