envmem
v1.2.1
Published
EnvMem - Personal environment variable memory with semantic search. Store, search, and manage your environment variables with AI-powered semantic search.
Maintainers
Readme
EnvMem

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
Option 1: NPX
ENVMEM_API_KEY=your-key npx envmemOption 2: Claude Desktop / Claude Code
{
"mcpServers": {
"envmem": {
"command": "npx",
"args": ["-y", "envmem"],
"env": {
"ENVMEM_API_KEY": "your-api-key-here"
}
}
}
}Option 3: Direct URL
{
"mcpServers": {
"envmem": {
"url": "https://envmem.com/mcp?apikey=your-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 content5. 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 valuesMCP 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 16Pass 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 deployTech 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.
