EnvMem
FreeNot checkedPersonal environment variable memory with semantic search and project management. Enables storing, searching, and retrieving environment variables via MCP, supp
About
Personal environment variable memory with semantic search and project management. Enables storing, searching, and retrieving environment variables via MCP, supporting project organization and auto-fill of .env files.
README

Your Environment Variables, Always at Hand
Personal environment variable memory with semantic search and project management. Multi-tenant MCP server that remembers all your API keys, secrets, and configurations.
Live: envmem.com | NPM: npmjs.com/package/envmem

Features
- Semantic Search - Natural language queries powered by Cloudflare Vectorize
- Project Management - Organize envs by project with dev/staging/prod environments
- Auto-Fill .env - Parse .env.example and fill with your stored values
- Multi-Tenant Isolation - Each API key gets completely isolated storage
- MCP Protocol - Works with Claude, ChatGPT, and any MCP-compatible AI
- Service Bundles - Get all env vars for Stripe + Supabase + OpenAI in one query
- Edge-Native - Sub-50ms responses from 300+ global locations
🚀 Quick Start & MCP Configuration
EnvMem is designed to work seamlessly with any MCP-compatible client (like Claude Desktop, Cursor, or your own tools).
Option 1: Claude Desktop (Recommended)
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"envmem": {
"command": "npx",
"args": ["-y", "envmem"],
"env": {
"ENVMEM_API_KEY": "your-secret-api-key"
}
}
}
}
Note: Generate your API key at envmem.com or use any random string (it acts as your personal partition).
Option 2: Remote MCP (No Node.js required)
If your MCP client supports remote URLs (SSE), you can connect directly without running anything locally:
{
"mcpServers": {
"envmem": {
"url": "https://envmem.com/mcp?apikey=your-secret-api-key"
}
}
}
Usage
1. Import Your Variables
import_env_variables({
envText: `
OPENAI_API_KEY=sk-...
STRIPE_SECRET_KEY=sk_live_...
DATABASE_URL=postgres://...
`
})
2. Create a Project
create_project({
name: "my-saas",
repoUrl: "github.com/me/my-saas",
tags: ["nextjs", "stripe", "supabase"]
})
3. Link Services to Project
link_services_to_project({
projectName: "my-saas",
services: ["Stripe", "Supabase", "OpenAI", "Clerk"]
})
4. Get Complete .env File
get_envs_for_project({
projectName: "my-saas",
environment: "prod"
})
// Returns ready-to-use .env file content
5. Auto-Fill from .env.example
fill_env_example({
envExampleContent: `OPENAI_API_KEY=\nSTRIPE_SECRET_KEY=\nDATABASE_URL=`,
projectName: "my-saas"
})
// Returns filled .env with your stored values
MCP Tools
Search & Retrieve
| Tool | Description |
|---|---|
search_env_variables |
Semantic + keyword search |
get_env_by_name |
Get by exact name |
get_envs_for_services |
Get all vars for services |
list_env_categories |
List categories with counts |
Import & Manage
| Tool | Description |
|---|---|
import_env_variables |
Bulk import from .env text |
add_env_variable |
Add single variable |
delete_env_variable |
Delete by name |
clear_all_env_variables |
Delete all (requires confirm) |
Project Management
| Tool | Description |
|---|---|
create_project |
Create project with repo URL + tags |
list_projects |
List all your projects |
link_env_to_project |
Link env to project (dev/staging/prod) |
link_services_to_project |
Bulk link services to project |
get_envs_for_project |
Get .env file for project |
fill_env_example |
Auto-fill .env.example |
delete_project |
Delete project + links |
Typical Workflow
// 1. Import your envs once
import_env_variables({ envText: "..." })
// 2. Create project
create_project({ name: "autoclient", repoUrl: "github.com/me/autoclient" })
// 3. Link services
link_services_to_project({
projectName: "autoclient",
services: ["Stripe", "Supabase", "OpenAI"]
})
// 4. Get .env for deployment
get_envs_for_project({ projectName: "autoclient", environment: "prod" })
Categories
| Category | Examples |
|---|---|
ai_services |
OpenAI, Anthropic, Google AI |
database |
Supabase, PlanetScale, MongoDB |
payment |
Stripe, PayPal, SumUp |
auth |
Auth0, Clerk, Firebase |
email |
SendGrid, Mailjet, Resend |
deployment |
Vercel, Netlify, Railway |
storage |
S3, Cloudflare R2, Cloudinary |
monitoring |
Sentry, Datadog |
Authentication
Your API key creates isolated storage. Generate one:
openssl rand -hex 16
Pass via:
- Header:
x-api-key: your-key - Bearer:
Authorization: Bearer your-key - Query:
?apikey=your-key
Self-Hosting
git clone https://github.com/samihalawa/envmem-mcp.git
cd envmem-mcp
npm install
# Create Cloudflare resources
wrangler d1 create env-reference-db
wrangler vectorize create env-embeddings --dimensions=768 --metric=cosine
# Apply migrations
wrangler d1 migrations apply env-reference-db --remote
# Deploy
wrangler deploy
Tech Stack
- Runtime: Cloudflare Workers
- Embeddings: Workers AI (bge-base-en-v1.5, 768-dim)
- Vector Search: Cloudflare Vectorize
- Database: Cloudflare D1 (SQLite + FTS5)
- Protocol: MCP (Model Context Protocol)
License
ISC
Built with care for developers who forget their env var names.
Installing EnvMem
This server has no published package — it is built from source. Open the repository and follow its README.
▸ github.com/samihalawa/envmem-mcpFAQ
Is EnvMem MCP free?
Yes, EnvMem MCP is free — one-click install via Unyly at no cost.
Does EnvMem need an API key?
No, EnvMem runs without API keys or environment variables.
Is EnvMem hosted or self-hosted?
A hosted option is available: Unyly runs the server in the cloud, no local setup required.
How do I install EnvMem in Claude Desktop, Claude Code or Cursor?
Open EnvMem on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectAmap Maps Mcp Server
MCP server for using the AMap Maps API
by duxiaohuiSupabase
Database, auth and storage
by SupabaseEverything
Reference / test server with prompts, resources, and tools.
Git
Tools to read, search, and manipulate Git repositories.
Sequential Thinking
Dynamic and reflective problem-solving through thought sequences.
Time
Time and timezone conversion capabilities.
Compare EnvMem with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
