BuildAppolis/env-mcp
If you are the rightful owner of env-mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The env-mcp is a Model Context Protocol (MCP) server designed for secure management of environment variables and configurations, with integration capabilities for Claude Code.
🔐 env-mcp - Environment Variable MCP Server
A Model Context Protocol (MCP) server for secure environment variable and configuration management with Claude Code integration
Features
- Secure Storage: Store environment variables with optional sensitive data protection
- Categories: Organize variables by category for better management
- Search & Filter: Find variables quickly with search functionality
- Multiple Formats: Export/import support for .env, JSON, and YAML formats
- MCP Integration: Seamlessly integrates with Claude Code for AI-assisted configuration management
- CLI Tool: Powerful command-line interface for manual management
Installation
# 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
Configuration
Add to Claude Code
The server is already configured with Claude Code. To verify:
claude mcp list
You should see:
env-mcp: node /home/cory-ubuntu/coding/env-mcp/dist/index.js - ✓ Connected
Manual Configuration
If you need to reconfigure:
claude mcp add env-mcp "node" "/path/to/env-mcp/dist/index.js"
CLI Usage
Basic Commands
# 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
Import/Export
# 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 Tools (Available in Claude)
When using Claude Code, the following tools are available:
env_get- Get an environment variable valueenv_set- Set an environment variable with optional metadataenv_delete- Delete an environment variableenv_search- Search for variables by queryenv_list- List all variables or filter by categoryenv_export- Export variables in different formatsenv_import- Import variables from a file
Data Storage
Configuration is stored in: ~/.env-mcp/config.yaml
The storage format includes:
- Variable key/value pairs
- Optional descriptions
- Categories for organization
- Sensitive data flags
- Creation/update timestamps
Examples
Setting up a development environment
# 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
Searching and filtering
# 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 output for scripting
# 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
Security
- Variables marked as
--sensitiveare redacted in normal output - Use
--show-sensitiveflag withgetcommand to view sensitive values - Sensitive values are still exported normally (be careful with exports)
- Configuration file permissions should be restricted (chmod 600)
Development
Project Structure
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
Scripts
# Build the project
pnpm run build
# Run in development mode
pnpm run dev
# Run CLI in development
pnpm run cli
Troubleshooting
MCP Server won't connect
-
Check if the server is built:
pnpm run build -
Test the server manually:
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 -
Reconnect with Claude:
claude mcp list # Check status
Variables not persisting
Check the configuration file:
cat ~/.env-mcp/config.yaml
Ensure write permissions:
mkdir -p ~/.env-mcp
chmod 755 ~/.env-mcp
License
MIT
Contributing
Feel free to submit issues and pull requests to improve the env-mcp server.