Lovec

io.github.lovec-tech由 GitHub 账号 lovec-tech 发布v0.1.2更新于 Oct 24, 2026

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

已验证STDIO仅桌面安全与监控AI 与机器学习

概览

AI 生成的概览

本地 MCP 服务器,让助手在把不可信文本交给其他 LLM 之前,通过 lovec.tech 检测 API 检查其中是否含提示注入。

可以做什么
用 check_prompt_injection 工具检查单段不可信文本(网页、文档、工具结果、邮件)是否含提示注入,支持俄语和英语内容。用独立的 lovec-scan 命令行工具扫描整个文档语料,它会切分长文档、写出可续跑的结果以及含覆盖率和分数统计的摘要。在客户端中通过 injection_scan_report 提示读取该摘要,其中附带报告规则,例如不得称语料干净、须展示覆盖缺口。
适用场景
适合助手要处理外部来源文本、希望在文本进入另一个模型前获得检测结论的场景,也适合需要为 RAG 库或文档库生成语料级扫描报告的场景。
运行要求
以 Python 包形式本地运行(pip 或 uvx)。需要在 LOVEC_KEY 环境变量中提供 lovec.tech API 密钥;可选 LOVEC_BASE 和 LOVEC_TIMEOUT。需要访问 lovec.tech API 的网络连接。
安装前请注意
被检查的文本会发送到 lovec.tech API 进行分析。每次检查都从 LOVEC_KEY 对应密钥的余额中扣费,语料扫描每个分块产生一次计费请求;dry-run 选项只统计请求数而不发送。服务器本身不存储也不记录任何内容。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Lovec,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

lovec-mcp

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

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

Установка

Из PyPI:

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

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

bash
cd lovec-mcppython3 -m venv .venv./.venv/bin/pip install -e .

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

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

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

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

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

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

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

json
{  "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, а агент читает готовую сводку.

bash
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потолок ожидания одного вызова, секунды

来源:README.md,提交 50fa1c3

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v0.1.2最新Sep 17, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分