Lovec

Registre officiel IA et agents

Prompt-injection detector for untrusted text before it reaches an LLM (RU/EN). BYO lovec.tech key.

Installation

Ajoutez ceci à la configuration MCP de votre client (Claude Desktop : claude_desktop_config.json ; Cursor : .cursor/mcp.json ; VS Code et les autres utilisent la même forme « mcpServers »).

PYPI package lovec-mcp
Claude Code
claude mcp add lovec -e 'LOVEC_KEY=<your lovec_key>' -e 'LOVEC_BASE=https://lovec.tech' -e 'LOVEC_TIMEOUT=60' -- uvx lovec-mcp==0.1.2
Configuration JSON (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "lovec": {
            "command": "uvx",
            "args": [
                "lovec-mcp==0.1.2"
            ],
            "env": {
                "LOVEC_KEY": "<your lovec_key>",
                "LOVEC_BASE": "https://lovec.tech",
                "LOVEC_TIMEOUT": "60"
            }
        }
    }
}

Variables d'environnement

  • LOVEC_KEY obligatoire secret API key issued at https://lovec.tech (format aig_...). Every check is billed to this key's balance.
  • LOVEC_BASE Alternative API host
  • LOVEC_TIMEOUT Hard cap for one API call, seconds

Documentation

Tirée du README du projet sur GitHub, actualisée chaque semaine. Les liens ouvrent GitHub.

Sommaire
  1. lovec-mcp
  2. Установка
  3. Быстрая проверка руками
  4. Подключение к MCP-клиенту
  5. Скан корпуса и отчёт
  6. Переменные окружения

lovec-mcp

Локальный MCP-сервер поверх детектора промпт-инъекций lovec.tech. Даёт агентам (Claude Desktop, Claude Code, любой MCP-клиент) тул check_prompt_injection — проверка недоверенного текста (веб-страница, документ, результат тула, письмо) перед тем, как отдать его в другую LLM.

Работает только с вашим собственным ключом — сервер сам ничего не хранит и не логирует, но проверяемый текст уходит в API lovec.tech для анализа. Это тонкий клиент поверх уже существующего API-ключа/баланса с сайта.

Установка

Из PyPI:

pip install lovec-mcp
# или без установки, через uv:
uvx lovec-mcp

Из исходников:

cd lovec-mcp
python3 -m venv .venv
./.venv/bin/pip install -e .

Ключ выпускается на lovec.tech

Быстрая проверка руками

export LOVEC_KEY=aig_...
./.venv/bin/python server.py
export LOVEC_KEY=aig_...
./.venv/bin/python -c "
import asyncio, server
print(asyncio.run(server.check_prompt_injection('тестовый текст')))
"

Подключение к MCP-клиенту

Claude Desktop (claude_desktop_config.json) или Claude Code (.mcp.json) — один и тот же формат:

{
  "mcpServers": {
    "lovec": {
      "command": "uvx",
      "args": ["lovec-mcp"],
      "env": { "LOVEC_KEY": "aig_..." }
    }
  }
}

Если ставили из исходников — вместо uvx укажите интерпретатор venv и путь к server.py:

{
  "mcpServers": {
    "lovec": {
      "command": "/absolute/path/to/lovec-mcp/.venv/bin/python",
      "args": ["/absolute/path/to/lovec-mcp/server.py"],
      "env": { "LOVEC_KEY": "aig_..." }
    }
  }
}

Скан корпуса и отчёт

Тул проверяет одну строку за вызов. Для целого корпуса (RAG, база документов) так не выйдет: каждый вердикт садится в контекст агента, а API отвечает от секунд до минут. Поэтому цикл вынесен в CLI lovec-scan, а агент читает готовую сводку.

export LOVEC_KEY=aig_...
lovec-scan ./docs --dry-run          # сколько будет запросов (= списаний), ничего не отправляет
lovec-scan ./docs --out lovec-scan-out

Разбивает длинные документы на чанки ≤5000 символов, ходит в API конкурентно, пишет results.jsonl построчно — прогон резюмируемый, повторный запуск дочитывает остаток. Упавшие чанки считаются пробелом в покрытии, а не чистым результатом; на 402 (кончился баланс) скан останавливается и помечает сводку как неполную.

На выходе summary.json: покрытие, доля флагов с 95% ДИ Уилсона по документам (не по чанкам — чанки одного документа не независимы), гистограмма баллов, топ флагов с цитатами.

Дальше в MCP-клиенте вызываете prompt injection_scan_report — он подставляет сводку и правила отчёта: не называть корпус чистым (ноль флагов — это верхняя граница, а не справка о здоровье), не считать precision/recall на неразмеченном корпусе, показывать пробелы покрытия, подавать флаги как очередь на разбор. Цитаты из корпуса помечены как недоверенные данные.

ФлагЗачем
--jsonl FILEчитать документы из JSONL {id, text} вместо файлов
--extкакие расширения читать (по умолчанию .txt,.md,.markdown,.rst)
--workersконкурентность, по умолчанию 4
--threshold Fфлажить по score >= F вместо вендорского is_injection
--limit Nвзять не больше N документов

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

ПеременнаяПо умолчаниюЗачем
LOVEC_KEY— (обязательна)ключ с lovec.tech
LOVEC_BASEhttps://lovec.techдругой хост API
LOVEC_TIMEOUT60потолок ожидания одного вызова, секунды

Questions fréquentes

Qu'est-ce que Lovec ?

Prompt-injection detector for untrusted text before it reaches an LLM (RU/EN). BYO lovec.tech key.

Comment installer Lovec ?

Il s'exécute sur votre machine. Dans Claude Code : claude mcp add lovec -e 'LOVEC_KEY=<your lovec_key>' -e 'LOVEC_BASE=https://lovec.tech' -e 'LOVEC_TIMEOUT=60' -- uvx lovec-mcp==0.1.2. Pour les autres clients, collez la configuration JSON de cette page dans leurs réglages MCP.

Faut-il une clé API pour Lovec ?

Oui. Il attend LOVEC_KEY, à renseigner dans sa configuration.

Lovec est-il open source ?

Oui. Son code est sur GitHub sous licence Apache-2.0.

Qui maintient Lovec ?

Il est publié par lovec-tech. AI.tn le référence sans le maintenir ni le recommander.

Issu du registre MCP officiel. Être listé n'est pas une recommandation : vérifiez le code et les permissions d'un serveur avant de lui donner accès à vos données.