环境变量管理服务器

一个用于安全环境变量和配置管理的MCP服务器,支持Claude Code集成,提供变量存储、分类、搜索及多种格式导入导出功能。

  • by BuildAppolis
  • JavaScript
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 BuildAppolis/env-mcp

使用说明

🔐 env mcp-环境变量mcp服务器

集成Claude Code的安全环境变量和配置管理模型上下文协议(MCP)服务器

特性

  • 安全存储:使用可选的敏感数据保护存储环境变量
  • 分类:按类别组织变量,以便更好地管理
  • 搜索和筛选:使用搜索功能快速查找变量
  • 多种格式:支持.env、JSON和YAML格式的导出/导入
  • MCP集成:与Claude Code无缝集成,实现AI辅助配置管理
  • CLI工具:用于手动管理的强大命令行界面

安装

# Clone the repository
git clone https://github.com/buildappolis/env-mcp.git
cd env-mcp

# Install dependencies
pnpm install

# Build the project
pnpm run build

配置

添加到克劳德代码

服务器已配置Claude Code。验证:

claude mcp list

您应该看到:

env-mcp: node /home/cory-ubuntu/coding/env-mcp/dist/index.js - ✓ Connected

手动配置

如果需要重新配置:

claude mcp add env-mcp "node" "/path/to/env-mcp/dist/index.js"

CLI使用情况

基本命令

# Set a variable
./env-mcp-cli set KEY "value" --description "Description" --category "category"

# Set a sensitive variable (will be redacted in output)
./env-mcp-cli set API_KEY "secret" --sensitive --category "secrets"

# Get a variable
./env-mcp-cli get KEY

# List all variables
./env-mcp-cli list

# List by category
./env-mcp-cli list --category "secrets"

# Search variables
./env-mcp-cli search "api"

# Delete a variable
./env-mcp-cli delete KEY

# List categories
./env-mcp-cli categories

导入/导出

# Export to .env format
./env-mcp-cli export --format env --output .env

# Export to JSON
./env-mcp-cli export --format json --output config.json

# Export to YAML
./env-mcp-cli export --format yaml --output config.yaml

# Import from .env file
./env-mcp-cli import .env

MCP工具(克劳德提供)

使用Claude Code时,可以使用以下工具:

  • env_get -获取环境变量值
  • env_set -使用可选元数据设置环境变量
  • env_delete -删除环境变量
  • env_search -按查询搜索变量
  • env_list -列出所有变量或按类别筛选
  • env_export -以不同格式导出变量
  • env_import -从文件导入变量

数据存储

配置存储在: ~/.env-mcp/config.yaml

存储格式包括:

  • 可变键/值对
  • 可选说明
  • 组织类别
  • 敏感数据标志
  • 创建/更新时间戳

例子

建立开发环境

# Database configuration
./env-mcp-cli set DB_HOST "localhost" --category "database"
./env-mcp-cli set DB_PORT "5432" --category "database"
./env-mcp-cli set DB_NAME "myapp" --category "database"
./env-mcp-cli set DB_USER "admin" --category "database"
./env-mcp-cli set DB_PASS "secret" --sensitive --category "database"

# API Keys
./env-mcp-cli set OPENAI_API_KEY "sk-..." --sensitive --category "api-keys"
./env-mcp-cli set STRIPE_API_KEY "sk_test_..." --sensitive --category "api-keys"

# Application settings
./env-mcp-cli set NODE_ENV "development" --category "app"
./env-mcp-cli set PORT "3000" --category "app"
./env-mcp-cli set LOG_LEVEL "debug" --category "app"

# Export for use in application
./env-mcp-cli export --format env --output .env

搜索和过滤

# Find all database-related variables
./env-mcp-cli search "db"

# List all API keys
./env-mcp-cli list --category "api-keys"

# Show all categories
./env-mcp-cli categories

JSON输出用于脚本编写

# Get JSON output for parsing
./env-mcp-cli list --json | jq '.[] | select(.category == "database")'

# Export specific category to JSON
./env-mcp-cli list --category "app" --json > app-config.json

安全

  • 标记为的变量 --sensitive 在正常输出中被编辑
  • 使用 --show-sensitive 旗与 get 查看敏感值的命令
  • 敏感值仍正常导出(导出时请小心)
  • 应限制配置文件权限(chmod 600)

发展

项目结构

env-mcp/
├── src/
│   ├── index.ts       # MCP server implementation
│   ├── cli.ts         # CLI tool implementation
│   ├── store.ts       # Storage layer
│   └── types.ts       # TypeScript type definitions
├── dist/              # Compiled JavaScript
├── package.json       # Dependencies and scripts
└── tsconfig.json      # TypeScript configuration

脚本

# Build the project
pnpm run build

# Run in development mode
pnpm run dev

# Run CLI in development
pnpm run cli

故障排除

MCP服务器无法连接

  1. 检查服务器是否已构建:

    pnpm run build
    
  2. 手动测试服务器:

    echo '{"jsonrpc":"2.0","method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"1.0.0"}},"id":1}' | node dist/index.js
    
  3. 重新联系克劳德:

    claude mcp list  # Check status
    

变量不持久

检查配置文件:

cat ~/.env-mcp/config.yaml

确保写入权限:

mkdir -p ~/.env-mcp
chmod 755 ~/.env-mcp

许可证

麻省理工学院

贡献

请随时提交问题和拉取请求以改进env-mcp服务器。