SafePrompt
Detect prompt injection, jailbreaks, and code injection in untrusted text before it reaches an LLM.
Should I use this
Quality & Safety
Based on automated analysis of tool definitions and protocol compliance.
Context Cost
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
0.1.1stdioRemote endpoints
https://mcp.safeprompt.dev/mcpstreamable-httpWhat it can do
Tool inventory
Tools (2)
🟢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
Evidence