Skip to main content
Glama
dceptev-byte

ai-security-gateway-mcp

by dceptev-byte

AI Security Gateway — MCP Server

Local PII detection and masking for Claude Desktop, Cursor, and Windsurf. Your prompts are scanned on your machine before reaching any LLM.

What it does

Automatically detects and masks sensitive data in your prompts:

  • 📧 Email addresses

  • 📱 Phone numbers (India-friendly)

  • 💳 Credit card numbers

  • 🪪 Aadhaar numbers

  • 📋 PAN cards

  • 🌐 IP addresses

  • 🛂 Passport numbers

  • 🏦 Bank account numbers

Related MCP server: classifinder-mcp

How it works

Once installed, Claude Desktop (and Cursor/Windsurf) automatically has access to a scan_prompt tool. You can ask Claude to scan any prompt before sending it, or Claude will proactively suggest scanning when it detects potentially sensitive content.

Installation

Option 1 — Run directly with npx (no install needed)

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "ai-security-gateway": {
      "command": "npx",
      "args": ["-y", "ai-security-gateway-mcp"]
    }
  }
}

Option 2 — Install globally

npm install -g ai-security-gateway-mcp

Then add to claude_desktop_config.json:

{
  "mcpServers": {
    "ai-security-gateway": {
      "command": "ai-security-gateway-mcp"
    }
  }
}

Config file locations

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Usage

After restarting Claude Desktop, try:

Scan this prompt for PII before I send it: [your text here]
Use REPLACE mode to anonymize: [your text here]
Is this safe to send to an LLM? [your text here]

Anonymization modes

Mode

Behaviour

Example

MASK

Partially hides values

j***@g***.com

REDACT

Removes values entirely

(empty)

REPLACE

Substitutes typed tokens

[EMAIL], [AADHAAR]

Works with

  • Claude Desktop (macOS and Windows)

  • Cursor

  • Windsurf

  • Any MCP-compatible client

Privacy

All detection runs locally on your machine. No data is sent to any server or cloud service.

Development

npm install
npm run build   # compile TypeScript → dist/
npm run dev     # run via tsx (no compile step)
npm start       # run compiled output

Available Tools

1 tool
scan_promptA

Scans text for PII (personally identifiable information) before sending to an LLM. Detects emails, phone numbers, credit cards, Aadhaar numbers, PAN cards, IP addresses, passports, and bank accounts. Returns risk level, findings, and anonymized text. Always run this before sending sensitive prompts to any LLM.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoHow to handle detected PII: MASK partially hides values, REDACT removes them entirely, REPLACE substitutes typed tokens like [EMAIL]MASK
textYesThe prompt text to scan for PII

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of transparency. It discloses detection types, return values (risk level, findings, anonymized text), and implicitly suggests a read-only operation. However, it could be more explicit about whether the input text is mutated, though the 'returns' phrasing implies non-destructive behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences, each earning its place: purpose, detection scope, and return/usage guidance. It is front-loaded with the primary action and contains no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers purpose, detection capabilities, return contract, and usage context. Since there is no output schema, explaining 'returns risk level, findings, and anonymized text' is essential and provided. The tool is simple, and this description is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for both parameters ('text' and 'mode'). The description adds no new parameter-level information beyond what the schema already provides, so the baseline of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Scans text for PII') and clearly identifies the resource (text before LLM). It also lists concrete detection targets (emails, credit cards, etc.), making the tool's purpose unmistakable. Even without siblings, it avoids ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states 'Always run this before sending sensitive prompts to any LLM.' This provides a clear when-to-use directive and implies it as a necessary pre-processing step. No alternatives exist, so no exclusion is needed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev2.0.0
    • First observedscan_prompt

TDQS

A4.1/5.0
Disambiguation5/5

With only one tool, there is no possibility of confusion between tools. The single tool's purpose is clearly defined and distinct.

Naming Consistency5/5

The tool name 'scan_prompt' follows a clear verb_noun convention, which is consistent even though there is only one tool. No conflicting naming styles are present.

Tool Count2/5

The server is named 'ai-security-gateway', implying a broader set of security functions, but it exposes only a single tool. This feels far too thin for the apparent scope, which likely requires multiple operations like output scanning or configuration.

Completeness1/5

The server only scans input prompts for PII and anonymizes them. It lacks other critical gateway features such as output scanning, response filtering, or policy management, making the surface severely incomplete for a security gateway.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Sanitizes text and files by removing PII, secrets, and custom patterns locally before sending to LLMs, with optional reverse-scrubbing.
    3
    327
    2
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/dceptev-byte/ai-security-gateway-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server