Skip to main content
Glama
VVi3ard

edt-mcp-tool-description-optimizer

by VVi3ard
README.md
# EDT MCP Proxy

Stdio MCP-прокси для EDT MCP. Перехватывает `tools/list` и подменяет длинные описания
инструментов короткими из SQLite. `tools/call` прозрачно проксируется на upstream.

## Назначение

EDT MCP отдаёт 80 инструментов, чьи описания суммарно занимают ~41K токенов контекста.
Это перегружает мелкие/дешёвые модели. Прокси сокращает описания до первого предложения
(~8-10K токенов), хранит их в SQLite для последующего индивидуального курирования.

## Установка

```bash
cd edt-mcp-proxy
python -m venv .venv
.venv/Scripts/python -m pip install -e .
.venv/Scripts/python -m edt_mcp_proxy seed
```

## Конфигурация

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

- `EDT_MCP_UPSTREAM` — URL upstream EDT MCP (по умолчанию `http://localhost:8765/mcp`).
- `EDT_PROXY_DB_DIR` — каталог для SQLite-файла (по умолчанию `data/` рядом с пакетом).
- `EDT_PROXY_TIMEOUT` — таймаут чтения upstream, секунды (по умолчанию `60`).

## Использование

Запуск stdio-сервера (для MCP-клиента):

```bash
python -m edt_mcp_proxy
```

Сервер добавляет к каждому короткому описанию на лету подсказку
`Details: get_tool_guide('<tool>')` — указание LLM получить полную справку по инструменту.

Заполнение SQLite первыми предложениями оригинальных описаний:

```bash
python -m edt_mcp_proxy seed
```

Импорт курируемых описаний из md-файла (формат `name | описание`, по строке):

```bash
python -m edt_mcp_proxy load-md tmp/edt_tools_short_descriptions.md
```

Требует запущенного EDT MCP на upstream URL.