Skip to main content
Glama
cloakllm

CloakLLM MCP Server

by cloakllm

MCP-сервер CloakLLM

MCP-сервер, который оборачивает Python SDK CloakLLM в виде инструментов для Claude Desktop и других клиентов, совместимых с MCP.

Важно: MCP не защищает ваш исходный промпт. Инструменты MCP вызываются самой LLM — ваш промпт сначала отправляется провайдеру LLM, а затем LLM решает вызвать инструменты. Это означает, что необработанный промпт (включая любые PII) попадает к провайдеру до того, как CloakLLM сможет его очистить. MCP-сервер полезен для очистки данных, которые LLM обрабатывает во время диалога (документы, файлы, результаты работы инструментов), но он не может предотвратить попадание вашего промпта к провайдеру.

Чтобы защитить промпты до того, как они покинут вашу инфраструктуру, используйте middleware SDK:

  • Python: enable_openai(client) или cloakllm.enable() (LiteLLM)

  • JavaScript: cloakllm.enable(client)

Инструменты

Инструмент

Описание

sanitize

Обнаружение и маскирование PII, возврат очищенного текста + ID карты токенов + entity_details. Используйте mode: "redact" для необратимого удаления PII (token_map_id не возвращается).

desanitize

Восстановление исходных значений с использованием ID карты токенов

analyze

Обнаружение PII без маскирования (чистый анализ)

Related MCP server: Agent Guardrail MCP

Установка

cd cloakllm-mcp
pip install -e .

Конфигурация Claude Desktop

Добавьте в ваш claude_desktop_config.json:

{
  "mcpServers": {
    "cloakllm": {
      "command": "python",
      "args": ["/path/to/cloakllm-mcp/server.py"],
      "env": {
        "CLOAKLLM_LOG_DIR": "./cloakllm_audit",
        "CLOAKLLM_LLM_DETECTION": "false"
      }
    }
  }
}

Или используя uvx:

{
  "mcpServers": {
    "cloakllm": {
      "command": "uvx",
      "args": ["mcp", "run", "/path/to/cloakllm-mcp/server.py"]
    }
  }
}

Примеры использования

Очистка текста перед отправкой в LLM

Вызов инструмента: sanitize

{
  "text": "Email john@acme.com about the meeting with Sarah Johnson at 742 Evergreen Terrace",
  "model": "claude-sonnet-4-20250514",
  "token_map_id": "optional-id-for-multi-turn"
}

Многоходовые диалоги: Передавайте token_map_id из предыдущего ответа sanitize, чтобы повторно использовать ту же карту токенов в ходе диалога. Одинаковые PII всегда будут отображаться в один и тот же токен.

Ответ:

{
  "sanitized": "Email [EMAIL_0] about the meeting with [PERSON_0] at 742 Evergreen Terrace",
  "token_map_id": "a1b2c3d4-...",
  "entity_count": 2,
  "categories": {"EMAIL": 1, "PERSON": 1},
  "entity_details": [
    {"category": "EMAIL", "start": 6, "end": 19, "length": 13, "confidence": 0.95, "source": "regex", "token": "[EMAIL_0]"},
    {"category": "PERSON", "start": 42, "end": 56, "length": 14, "confidence": 0.85, "source": "spacy", "token": "[PERSON_0]"}
  ]
}

Восстановление исходных значений

Вызов инструмента: desanitize

{
  "text": "I've drafted an email to [EMAIL_0] regarding [PERSON_0]'s request.",
  "token_map_id": "a1b2c3d4-..."
}

Ответ:

{
  "restored": "I've drafted an email to john@acme.com regarding Sarah Johnson's request."
}

Анализ текста на наличие PII (без маскирования)

Вызов инструмента: analyze

{
  "text": "Contact john@acme.com, SSN 123-45-6789"
}

Ответ:

{
  "entity_count": 2,
  "entities": [
    {"text": "john@acme.com", "category": "EMAIL", "start": 8, "end": 21, "confidence": 0.95, "source": "regex"},
    {"text": "123-45-6789", "category": "SSN", "start": 27, "end": 38, "confidence": 0.95, "source": "regex"}
  ]
}

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

Переменная

По умолчанию

Описание

CLOAKLLM_LOG_DIR

./cloakllm_audit

Директория журналов аудита

CLOAKLLM_AUDIT_ENABLED

true

Включение/отключение ведения журнала аудита

CLOAKLLM_SPACY_MODEL

en_core_web_sm

Модель spaCy для NER

CLOAKLLM_LLM_DETECTION

false

Включение обнаружения на основе LLM

CLOAKLLM_LLM_MODEL

llama3.2

Модель Ollama для обнаружения LLM

CLOAKLLM_OLLAMA_URL

http://localhost:11434

Эндпоинт Ollama

Тестирование

# Test with MCP inspector
python -m mcp dev server.py

# Or run directly
python server.py

См. также

  • CloakLLM Hub — обзор проекта, архитектура и ссылки

  • CloakLLM Python SDK — библиотека Python с spaCy NER + middleware OpenAI / LiteLLM

  • CloakLLM JS SDK — библиотека JavaScript с middleware OpenAI + Vercel AI

Лицензия

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    An MCP proxy that pseudo-anonymizes PII before data reaches external AI providers like Claude, ChatGPT, or Gemini.
    18
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Local pseudonymisation MCP server that detects PII in text, replaces it with opaque tokens before sending to cloud LLMs, and restores tokens afterward.
    2
    106 npm
    2
    MIT