Skip to main content
Glama
cloakllm

CloakLLM MCP Server

by cloakllm

CloakLLM MCP-Server

MCP-Server, der das Python-SDK von CloakLLM als Tools für Claude Desktop und andere MCP-kompatible Clients umschließt.

Wichtig: MCP schützt Ihren ursprünglichen Prompt nicht. MCP-Tools werden vom LLM aufgerufen — Ihr Prompt wird zuerst an den LLM-Anbieter gesendet, dann entscheidet das LLM, Tools aufzurufen. Das bedeutet, dass der rohe Prompt (einschließlich etwaiger PII) den Anbieter erreicht, bevor CloakLLM ihn bereinigen kann. Der MCP-Server ist nützlich, um Daten zu bereinigen, die das LLM während einer Konversation verarbeitet (Dokumente, Dateien, Tool-Ausgaben), aber er kann nicht verhindern, dass Ihr Prompt den Anbieter erreicht.

Um Prompts zu schützen, bevor sie Ihre Infrastruktur verlassen, verwenden Sie stattdessen die SDK-Middleware:

  • Python: enable_openai(client) oder cloakllm.enable() (LiteLLM)

  • JavaScript: cloakllm.enable(client)

Tools

Tool

Beschreibung

sanitize

PII erkennen & maskieren, bereinigten Text + token_map_id + entity_details zurückgeben. Übergeben Sie mode: "redact" für eine irreversible PII-Entfernung (keine token_map_id zurückgegeben).

desanitize

Ursprüngliche Werte mithilfe einer token_map_id wiederherstellen

analyze

PII erkennen ohne Maskierung (reine Analyse)

Related MCP server: Agent Guardrail MCP

Installation

cd cloakllm-mcp
pip install -e .

Claude Desktop-Konfiguration

Fügen Sie dies zu Ihrer claude_desktop_config.json hinzu:

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

Oder unter Verwendung von uvx:

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

Anwendungsbeispiele

Text bereinigen, bevor er an ein LLM gesendet wird

Tool-Aufruf: 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"
}

Multi-Turn: Übergeben Sie die token_map_id aus einer vorherigen sanitize-Antwort, um dieselbe Token-Map über Konversationsschritte hinweg wiederzuverwenden. Dieselben PII werden immer demselben Token zugeordnet.

Antwort:

{
  "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]"}
  ]
}

Ursprüngliche Werte wiederherstellen

Tool-Aufruf: desanitize

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

Antwort:

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

Text auf PII analysieren (keine Maskierung)

Tool-Aufruf: analyze

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

Antwort:

{
  "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"}
  ]
}

Umgebungsvariablen

Variable

Standardwert

Beschreibung

CLOAKLLM_LOG_DIR

./cloakllm_audit

Audit-Log-Verzeichnis

CLOAKLLM_AUDIT_ENABLED

true

Audit-Logging aktivieren/deaktivieren

CLOAKLLM_SPACY_MODEL

en_core_web_sm

spaCy-Modell für NER

CLOAKLLM_LLM_DETECTION

false

LLM-basierte Erkennung aktivieren

CLOAKLLM_LLM_MODEL

llama3.2

Ollama-Modell für LLM-Erkennung

CLOAKLLM_OLLAMA_URL

http://localhost:11434

Ollama-Endpunkt

Testen

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

# Or run directly
python server.py

Siehe auch

Lizenz

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