Skip to main content
Glama
README.md
# ollama-mcp

MCP-сервер на Python, который позволяет Claude Code отправлять простые задачи
(объяснение кода, написание базовых тестов, добавление комментариев) в
локальную модель через [Ollama](https://ollama.com), не тратя на это токены
Claude API.

## Инструменты

| Инструмент            | Назначение                                                |
|-----------------------|------------------------------------------------------------|
| `ask_ollama`           | Отправить произвольный запрос в Ollama и получить ответ   |
| `ollama_explain_code`  | Объяснить переданный код простым языком                   |
| `ollama_write_tests`   | Написать базовые unit-тесты для переданной функции         |
| `ollama_add_comments`  | Добавить поясняющие комментарии к коду                    |

## Требования

- Python 3.10+
- Установленная и запущенная [Ollama](https://ollama.com) с хотя бы одной
  загруженной моделью (например `ollama pull llama3`)

## Установка

```bash
cd ollama-mcp
python -m venv .venv
source .venv/bin/activate   # Windows: .venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env         # при необходимости поправить значения
```

Запустите Ollama (если ещё не запущена) и убедитесь, что нужная модель
загружена:

```bash
ollama serve
ollama pull llama3
```

## Тестовый запуск сервера

Сервер работает по транспорту stdio, поэтому самостоятельный запуск без
клиента просто откроет процесс, ожидающий ввода на stdin. Для быстрой
проверки, что сервер стартует без ошибок:

```bash
python server.py
```

(процесс зависнет в ожидании stdio-сообщений — это нормально, остановите его
Ctrl+C).

Чтобы проверить, что все 4 инструмента реально получают ответ от Ollama (без
поднятия MCP-протокола), используйте смоук-тест:

```bash
python test_smoke.py
```

Для полноценной проверки протокола используйте MCP Inspector:

```bash
npx @modelcontextprotocol/inspector python server.py
```

## Подключение к Claude Code

### Вариант 1 — через команду `claude mcp add`

```bash
claude mcp add ollama-mcp -- python /полный/путь/до/ollama-mcp/server.py
```

### Вариант 2 — вручную через конфиг

Добавьте сервер в `~/.claude/claude_mcp_settings.json` (или в
`claude_desktop_config.json` / `.mcp.json` проекта — в зависимости от того,
где вы храните MCP-конфигурацию):

```json
{
  "mcpServers": {
    "ollama-mcp": {
      "command": "python",
      "args": ["/полный/путь/до/ollama-mcp/server.py"],
      "env": {
        "OLLAMA_HOST": "http://localhost:11434",
        "OLLAMA_MODEL": "llama3"
      }
    }
  }
}
```

После сохранения конфигурации перезапустите Claude Code — инструменты
`ask_ollama`, `ollama_explain_code`, `ollama_write_tests`,
`ollama_add_comments` появятся в списке доступных.

## Переменные окружения

См. [.env.example](.env.example):

- `OLLAMA_HOST` — адрес Ollama API (по умолчанию `http://localhost:11434`)
- `OLLAMA_MODEL` — модель по умолчанию (по умолчанию `llama3`)
- `OLLAMA_TIMEOUT` — таймаут запроса в секундах (по умолчанию `120`)