Skip to main content
Glama

šŸ” env-mcp - Environment Variable MCP Server

A Model Context Protocol (MCP) server for secure environment variable and configuration management with Claude Code integration

License: MIT MCP Built by BuildAppolis

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

Related MCP server: empaya-mcp-server

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 value

  • env_set - Set an environment variable with optional metadata

  • env_delete - Delete an environment variable

  • env_search - Search for variables by query

  • env_list - List all variables or filter by category

  • env_export - Export variables in different formats

  • env_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 --sensitive are redacted in normal output

  • Use --show-sensitive flag with get command 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

  1. Check if the server is built:

    pnpm run build
  2. 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
  3. 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.

Available Tools

7 tools
env_deleteC

Delete an environment variable

Inputs: key (required).

env_exportC

Export environment variables

Inputs: format.

env_getC

Get an environment variable value

Inputs: key (required).

env_importC

Import environment variables from file

Inputs: path (required).

env_listA

List all environment variables or by category

Inputs: category.

env_setC

Set an environment variable

Inputs: key (required), value (required), description, category, +1 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 7 tools

    Disambiguation5/5

    Each tool has a clear, distinct action (delete, export, get, import, list, search, set) on environment variables, with no overlapping functionality.

    Naming Consistency5/5

    All tools follow the consistent pattern 'env_<verb>' using snake_case, making them predictable and easy to distinguish.

    Tool Count5/5

    With 7 tools covering CRUD, listing, searching, export, and import, the count is well-scoped for environment variable management.

    Completeness5/5

    The tool set covers all essential operations (create/set, read/get, update/set, delete/list/search, plus import/export), leaving no obvious gaps for typical workflows.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • -
      license
      Not graded
      quality
      B
      maintenance
      Enterprise-grade MCP server for persistent, intelligent memory management across Claude Code sessions.
      -
    • A
      license
      B
      quality
      D
      maintenance
      MCP server for Cloudways enabling server management, app deployment, backups, SSL, environment variables, and monitoring via Claude Code.
      12
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Secure MCP server for Boomi Platform API integration with Claude Code. Enables natural language interaction with Boomi Platform APIs, including managing accounts, processes, components, deployments, schedules, and more.
      1
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      MCP server for LobsterVault, enabling AI agents to securely store, retrieve, manage, and share encrypted secrets with KMS envelope encryption, including environment variable injection.
      11
      13 npm
      MIT