envmcp
Use environment variables in your Cursor MCP server definitions.
đź’ˇ Looking for more features? Consider mcpipe (npm) which includes envmcp's functionality as well as debugging tools and other capabilities.
Quick Start
# Use default ~/.env.mcp file
npx envmcp your-mcp-server $DATABASE_URL
# Specify custom env file
npx envmcp --env-file .env your-mcp-server $API_KEY $DATABASE_URL
# Short flag version
npx envmcp -e /path/to/secrets.env your-mcp-server $MY_SECRET
Usage in MCP Clients
Prefix your server command with envmcp.
Before (secrets exposed in config):
{
"my_database": {
"command": "my-mcp-server",
"args": ["postgresql://user:password@hostname/db"]
}
}
After (secrets in ~/.env.mcp):
{
"my_database": {
"command": "npx",
"args": ["envmcp", "my-mcp-server", "$DATABASE_URL"]
}
}
How It Works
- Looks for
.env.mcpin current directory, then parent directories, finally~/.env.mcp - If
--env-fileis specified, uses that file instead - Loads environment variables from the file
- Replaces
$VARIABLE_NAMEreferences in your command arguments - Executes the command with substituted values
Installation
npm install -g envmcp
Options
--env-file <path>,-e <path>: Specify custom environment file path
Environment File Format
DATABASE_URL=postgresql://user:password@localhost/db
API_KEY=your-secret-api-key
# This is a comment
QUOTED_VALUE="value with spaces"
See sample.env.mcp for more examples.
License
MIT