SafePrompt

Detect prompt injection, jailbreaks, and code injection in untrusted text before it reaches an LLM.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
100%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~468Tokens (tool definitions)
~1.6 KBTypical response size
Minimal attention impact (0.37% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "mcp": {
      "command": "npx",
      "args": [
        "@safeprompt.dev/mcp"
      ]
    }
  }
}

Runnable packages

npm@safeprompt.dev/mcp0.1.1stdio

Remote endpoints

https://mcp.safeprompt.dev/mcpstreamable-http

What it can do

Tool inventory

Tools (2)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢validate_prompt(prompt, sensitivity)

Check a single piece of untrusted text (a user message, a retrieved RAG document, tool output, etc.) for prompt injection, jailbreaks, instruction-override, data-exfiltration, and code injection BEFORE passing it to an LLM. Returns a safe/unsafe verdict with confidence, threat category, and reasoning.

Input Schema

{
  "type": "object",
  "properties": {
    "prompt": {
      "type": "string",
      "minLength": 1,
      "maxLength": 50000,
      "description": "The untrusted text to validate."
    },
    "sensitivity": {
      "type": "string",
      "enum": [
        "strict",
        "no_judgement",
        "balanced",
        "lenient"
      ],
      "description": "Optional. Omit to use the account default. 'no_judgement' blocks only clear attacks, for apps whose users tell the AI exactly what to write. 'balanced' is an older name for it. 'strict' and 'lenient' are accepted for existing callers."
    }
  },
  "required": [
    "prompt"
  ],
  "additionalProperties": false
}
🟢validate_prompts(prompts, sensitivity)

Validate many pieces of untrusted text in one call (processed in parallel server-side). Use for bulk pre-screening, indexing pipelines, or checking a batch of retrieved documents. Returns one verdict per input, in order.

Input Schema

{
  "type": "object",
  "properties": {
    "prompts": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 50000
      },
      "minItems": 1,
      "maxItems": 100,
      "description": "Array of untrusted texts to validate (max 100)."
    },
    "sensitivity": {
      "type": "string",
      "enum": [
        "strict",
        "no_judgement",
        "balanced",
        "lenient"
      ],
      "description": "Optional. Omit to use the account default. 'no_judgement' blocks only clear attacks, for apps whose users tell the AI exactly what to write. 'balanced' is an older name for it. 'strict' and 'lenient' are accepted for existing callers."
    }
  },
  "required": [
    "prompts"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded2 tools