敏感数据掩码生成器

自动检测并掩码敏感环境变量,生成示例配置文件,适用于开发环境配置管理。

  • by seungwonme
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 seungwonme/mcp-config-example

使用说明

mcp配置示例

生成示例 .mcp.json 通过自动屏蔽敏感的环境变量来创建文件。

特性

  • 自动检测和屏蔽敏感环境变量(API密钥、令牌、机密、密码)
  • 保留JSON结构和格式
  • 用通用占位符屏蔽绝对文件路径
  • 用下划线将所有占位符值标准化为大写
  • 简单的CLI界面

安装

pnpm add -D mcp-config-example

或直接与bunx一起使用:

bunx mcp-config-example

用法

命令行界面

从生成示例配置 .mcp.json:

mcp-example

指定自定义输入文件:

mcp-example custom-config.json

指定输入和输出:

mcp-example .mcp.json my-example.json

程序化

import { generateExampleConfig } from 'mcp-config-example';

generateExampleConfig('.mcp.json', '.mcp.json.example');

运作原理

该工具会自动屏蔽:

  1. 环境变量:任何包含以下内容的密钥 API_KEY, TOKEN, SECRET, PASSWORD, CREDENTIALS, AUTH,或 KEY 将其值替换为键名。

    // Before
    "env": {
      "SUPABASE_ACCESS_TOKEN": "sbp_abc123def456"
    }
    
    // After
    "env": {
      "SUPABASE_ACCESS_TOKEN": "SUPABASE_ACCESS_TOKEN"
    }
    
  2. 文件路径:通过用通用占位符替换特定用户名来规范绝对路径。

    // Before
    "MEMORY_BANK_ROOT": "/Users/seungwonan/Dev/memory-bank"
    
    // After
    "MEMORY_BANK_ROOT": "/Users/username/Dev/memory-bank"
    
  3. 持有者代币:带有Bearer令牌的授权标头被屏蔽。

    // Before
    "args": ["--header", "Authorization: Bearer hf_abc123"]
    
    // After
    "args": ["--header", "Authorization: Bearer YOUR_TOKEN"]
    
  4. 占位符值:尖括号占位符被删除,转换为大写,连字符/空格被标准化为下划线。

    // Before
    "args": ["--project-ref=<project-ref>"]
    
    // After
    "args": ["--project-ref=PROJECT_REF"]
    
    // Before
    "env": {
      "NAVER_CLIENT_ID": "your-client-id"
    }
    
    // After
    "env": {
      "NAVER_CLIENT_ID": "YOUR_CLIENT_ID"
    }
    

示例

给定a .mcp.json 文件:

{
  "mcpServers": {
    "supabase": {
      "command": "npx",
      "args": ["-y", "@supabase/mcp-server-supabase@latest"],
      "env": {
        "SUPABASE_ACCESS_TOKEN": "sbp_real_token_here"
      }
    }
  }
}

跑步 mcp-example 生成 .mcp.json.example:

{
  "mcpServers": {
    "supabase": {
      "command": "npx",
      "args": ["-y", "@supabase/mcp-server-supabase@latest"],
      "env": {
        "SUPABASE_ACCESS_TOKEN": "SUPABASE_ACCESS_TOKEN"
      }
    }
  }
}

发展

# Install dependencies
pnpm install

# Build
pnpm build

# Format code
pnpm format

# Lint code
pnpm lint

# Check and fix
pnpm check

许可证

麻省理工学院