敏感数据验证服务器

MCP验证服务器用于检测和屏蔽查询中的敏感信息,防止数据泄露,适用于数据处理和审计场景。

  • by Sivasai897
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 sivasai897/mcp-query-validation

使用说明

MCP验证服务器

该项目提供了一个 MCP服务器,用于验证输入的查询,以防止敏感信息泄露。它会自动检测并屏蔽服务器处理的每个查询中的敏感数据(如电子邮件、电话号码、SSN、信用卡等)。所有活动都记录在案,以供审计和监控。

特性

  • 敏感数据屏蔽:自动检测并屏蔽查询中的敏感信息,包括:
    • 电子邮件
    • 电话号码
    • 社会安全号码(SSNs)
    • 信用卡号码
    • 网际协议地址
    • 出生日期
    • 地址
    • 邮政编码
  • 综合录井:所有验证活动和系统事件都记录了时间戳。
  • MCP服务器集成:作为MCP服务器运行,在进一步处理之前验证每个传入的查询。

运作原理

  • 服务器使用一个自定义的FastMCP类,该类拦截每个查询,应用敏感数据掩码,然后处理(掩码)查询。
  • 所有验证和屏蔽操作都记录在带时间戳的日志文件中 logs/ 目录。

设置和安装

  1. 克隆存储库

    git clone <your-repo-url>
    cd mcp-validation
    
  2. 安装Python 3.11+ 请确保您已安装Python 3.11或更高版本。

  3. 安装依赖项

    pip install -r requirements.txt
    # OR, if using PEP 621/pyproject.toml:
    pip install .
    

    (依赖关系在 pyproject.toml.)

运行MCP验证服务器

使用以下命令启动服务器:

python main.py

您应该看到指示MCP服务器正在运行以进行验证的输出。

用法示例

您可以使用首选的MCP客户端或将其集成到您的工作流中,与MCP服务器进行交互。发送到服务器的每个查询都将根据需要进行验证和屏蔽。

如果你想在Python中直接使用验证逻辑:

from validation_tools import validate_data

result = validate_data("My email is john@example.com and phone is 555-123-4567")
print(result)

日志记录

  • 日志存储在 logs/ 目录。
  • 每个服务器会话都会创建一个名为的新日志文件 validation_tools_YYYYMMDD_HHMMSS.log.
  • 日志包括:
    • 查询验证事件
    • 隐藏敏感数据
    • 系统事件(启动、关闭、错误)

日志条目示例

{
  "timestamp": "2024-01-15T10:30:45.123456",
  "event": "Validating data: My email is john@example.com and phone is 555-123-4567"
}

文件结构

mcp-validation/
├── main.py                 # Main server entry point
├── validation_tools.py     # Core validation and masking logic
├── logs/                   # Log files directory
│   └── validation_tools_YYYYMMDD_HHMMSS.log
├── pyproject.toml          # Project dependencies
├── uv.lock                 # Dependency lock file
└── README.md               # This file

安全与隐私

  • 查询中的所有敏感信息在进一步处理之前都会被屏蔽。
  • 所有操作都会被记录下来,以供审计和监控。

故障排除

  • 未创建日志文件:确保 logs/ 目录存在并且具有写入权限。
  • Python版本问题请确保您使用的是Python 3.11或更高版本。

许可证

MIT许可证(或在此处指定您的许可证)