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 分