Skip to main content
Glama
fthsrbst

lmstudio-ollama-mcp

by fthsrbst

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

  • Одно из:

    • LM Studio — Разработчик → Локальный сервер → Запуск (порт 1234)

    • Ollamaollama serve, затем ollama pull qwen2.5-coder:7b

    • llama.cpp./llama-server -m model.gguf --port 8080

Установка

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

http://localhost:1234/v1

сканирование /v1/models + ~/.lmstudio/models/**/*.gguf

Поддерживает reasoning_content (Gemma)

Ollama

http://localhost:11434

нативный /api/tags, резерв /v1/models

требуется ollama pull <model>

llama.cpp

http://localhost:8080

/health + /v1/models

Любая GGUF через llama-server

OpenAI

https://api.openai.com/v1

API

Установите OPENAI_API_KEY

Anthropic

https://api.anthropic.com

API

Установите ANTHROPIC_API_KEY

Все провайдеры работают через 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 machines
lmstudio-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

Описание

read_file

Читает файл (лимит 2 МБ)

write_file

Создаёт/перезаписывает файл (mkdir -p автоматически)

edit_file

Замена точной строки (должна совпасть ровно один раз)

bash

Выполняет команду (timeout 30s, буфер 5 МБ)

glob

Поиск через fast-glob

grep

Поиск по регулярному выражению (пропускает node_modules/dist/.git)

list_dir

Вывод содержимого каталога

Безопасность: выход за пределы рабочей директории блокируется, если только permissions.allowWriteOutsideWorkspace=true; опасные команды (rm -rf /) отклоняются; большие выводы усекаются (30k).


Сравнение: когда использовать какую модель

Задача

Почему локальная модель выигрывает

Пример

Lint / format / grep

0.2s против 2s RTT

lmstudio-ollama-mcp "format src/**/*.ts with prettier"

Explain / summarize

Приватная кодовая база остаётся локальной

lmstudio-ollama-mcp "explain how auth works"

Мелкие правки

Без очереди, без затрат

lmstudio-ollama-mcp "add zod validation to src/config/schema.ts"

Крупный рефакторинг

Фронтир планирует, локальные выполняют параллельно

lmstudio-ollama-mcp "migrate to ESM"

Сложные рассуждения

Нужны 70B / фронтир

lmstudio-ollama-mcp --model openai:gpt-4o "design CRDT sync"


Разработка

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.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

UpdatingMaintainers
UpdatingResponse time
Release cycle
0Releases (12mo)
Commit activity

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

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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